Chương 4: Triển khai thực nghiệm
4.2. Mô hình ứng dụng
4.2.3. Thực hiện huấn luyện dữ liệu với mô hình Parallel RandomForest
Luận văn thạc sĩ Công nghệ thông tin
68
Việc huấn luyện dữ liệu sẽ được thực hiện đồng thời với toàn bộ các cụm dữ liệu đầu vào, sử dụng ma trận - confusion matrix để đánh giá và biểu đồ ROC để thể hiện.
Kết quả huấn luyện với các cụm như sau:
Cụm 2:
Cụm 3:
Cụm 6
Cụm 7
Luận văn thạc sĩ Công nghệ thông tin
69
Hình 4.2. Tỷ lệ độ đo theo ROC của các tập train, test và validation Các biểu đồ thể hiện độ ROC theo hình 3.2. Cho thấy tỷ lệ giữa Precision và Recall của mỗi cụm.
Tổng thời gian huấn luyện là 1.5 tiếng cho toàn bộ quá trình, bao gồm quá trình huấn luyện, kiểm định và đánh giá lại mô hình, sau đó ghi kết quả đầu ra tổng hợp.
Giải thuật Accuracy Precision Recall Mạng Neural 75.61% 81.86% 88.89%
PRF 74.22% 78.30% 88.45%
KNN 72.21% 76.80% 86.74%
Bảng 4-6: So sánh tỷ lệ Accuracy giữa Precision, Recall
Việc đánh giá thời gian huấn luyện sẽ đánh giá theo 2 chiều, đầu tiên, đánh giá về thời gian huấn luyện một mô hình chạy đơn lẻ, sau đó đo thêm trung bình thời gian huấn luyện đồng thời toàn bộ các mô hình, và độ chênh lệch thời gian giữa các mô hình.
Các mô hình KNN và PRF được thực hiện trên cùng một môi trường có cài đặt Spark, đối với mạng Neural, cài đặt Python trên một máy có cấu hình tương đương: Ram 32GB; CPU 3.2 ghz trên một máy. Việc so sánh về thời gian và cấu hình tương đương với Mạng Neuron là không hợp lý, do việc xây dựng, cài đặt và cấu hình cho giải thuật không tương đồng, môi trường không tương đồng, do mạng Neural xử lý trên một máy. Với Mạng Neural, chạy trên một máy với 1 cụm là 3240s, đồng thời toàn bộ các cụm là 24486s, độ chênh lệch giữa các lần thử là 190s.
Giải thuật
Chạy 1 cụm
Chạy toàn bộ các cụm
Độ chênh lệch
Luận văn thạc sĩ Công nghệ thông tin
70
PRF 2378s 4898s 358s
KNN 2488s 6898s 482s
Bảng 4-7: So sánh thời gian chạy giữa KNN và PRF.
Việc xử lý dữ liệu của cụm Spark tính theo khả năng xử lý đồng thời có thể lên đến 800GB (100 nút phụ - slave node, 8GB Ram/node). Giúp cho quá trình tính toán cũng như đảm bảo đầu ra sản phẩm khi đưa vào triển khai thực tế.
Kết quả thực hiện lần 1 với mô hình học máy sử dụng rừng ngẫu nhiên để đánh giá mức độ cắt ngưỡng phù hợp chung với toàn bộ các mô hình:
Tỷ lệ nhãn 0/1: 21.693/15.917.905
Sử dụng toàn bộ thuộc tính của C360 để huấn luyện và đưa ra tập kết quả. Tương đương 1,2T dữ liệu xử lý đồng thời.
Hình 4.3. Important Feataures v1
Hình 3.3 cho thấy kết quả huấn luyện phân loại thuộc tính ban đầu; được sử dụng để phân loại thuộc tính và đánh giá nhóm các cụm thuộc tính. Gồm nhóm 30 thuộc tính có điểm trọng số ảnh hưởng lớn nhất đối với mỗi Key Id.
Luận văn thạc sĩ Công nghệ thông tin
71
Hình 4.4. ROC - Receiver operating characteristic
Biểu đồ theo hình 3.4 đánh giá độ chính xác theo biểu đồ ROC thể hiện độ phù hợp tập dữ liệu đầu ra sau quá trình huấn luyện.
Hình 4.5. Cumulative Gain
Biểu đồ AUROC – Cumulative Gain hình 3.5 cho thấy tính hiệu quả và độ phủ của model. Biểu đồ này sử dụng để đánh giá hiệu năng triển khai và đánh giá độ phủ sau triển khai. Sử dụng đánh giá về độ phủ và đánh giá về nhóm tiềm năng.
3.1. Đánh giá độ chính xác phân loại cho mô hình cây khác nhau.
Luận văn thạc sĩ Công nghệ thông tin
72
Để minh họa cho độ chính xác phân loại (accuracy) của PRF, các thí nghiệm được thực hiện cho các thuật toán khác nhau, bao gồm 3 thuật toán được so sánh: PRF,DRF (Dinamic Random Forest) [16], và RF, SparkLib MLRF [22]. Mỗi trường hợp liên quan đến độ đo khác nhau của cây quyết định.
Kết quả thử nghiệm được trình bày trong hình 26.
Hình 4.6. Tỷ lệ độ chính xác trung bình của các mô hình cây khác Hình 3.6 cho thấy độ chính xác phân loại trung bình của tất cả các thuật toán so sánh không cao khi số lượng cây quyết định bằng 10. Khi số lượng cây quyết định tăng lên, độ chính xác phân loại trung bình của các thuật toán này tăng dần và có xu hướng hướng tới một sự hội tụ. Độ chính xác phân loại của PRF trung bình cao hơn RF 8,9% và cao hơn 10,6% trong trường hợp tốt nhất khi số lượng cây quyết định bằng 1500. Cao hơn DRF trung bình 6,1% và cao hơn 7,3% trong trường hợp tốt nhất khi số lượng cây quyết định bằng 1300.
Độ chính xác phân loại của PRF cao hơn so với Spark-MLRF trung bình 4,6%
và 5,8% trong trường hợp tốt nhất khi số lượng cây quyết định bằng 1500. Do đó, so với RF, DRF và Spark-MLRF, PRF cải thiện độ chính xác phân loại đáng kể.
Độ chính xác phân loại của PRF trong tất cả các trường hợp đều cao hơn so với RF, DRF và Spark-MLRF rõ ràng cho từng quy mô dữ liệu. Độ chính xác phân loại của PRF cao hơn DRF trung bình 8,6% và cao hơn 10,7% trong trường hợp tốt nhất khi số lượng mẫu bằng 3.000.000. Độ chính xác phân loại của PRF cao hơn trung bình là 8,1% của Spark-MLRF và cao hơn 11,3% trong trường hợp tốt nhất khi số lượng mẫu bằng 3.000.000. Đối với Spark-MLRF, do phương pháp lấy mẫu cho từng phân vùng của tập dữ liệu, khi kích thước
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
10 30 50 70 90 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 2400
PRF SpartLib DRF RF
Decision tree
Average Accuracy Luận văn thạc sĩ Công nghệ thông tin
73
của tập dữ liệu tăng lên, tỷ lệ lựa chọn ngẫu nhiên của tập dữ liệu tăng và độ chính xác của Spark-MLRF chắc chắn sẽ giảm. Do đó, so với RF, DRF và Spark-MLRF, PRF cải thiện độ chính xác phân loại đáng kể cho các quy mô khác nhau của bộ dữ liệu