Bài viết tiến hành phân tích, xử lý dữ liệu, chọn lựa thuật toán ID3, C4.5, Bayes ứng dụng phân lớp học viên của Trung tâm Ngoại ngữ - Tin học, phân loại cán bộ Trường Cao đẳng Nghề Điện Biên và thử nghiệm trên phần mềm Weka. Bộ tiêu chí đánh giá chất lượng phân lớp cho cán bộ trường, cho việc phân chia được thử nghiệm, đánh giá.
ISSN 2354-0575 PHÂN LỚP HỌC SINH VÀ PHÂN LOẠI CÁN BỘ SỬ DỤNG CÁC THUẬT TOÁN TRONG HỌC MÁY Nguyễn Quang Hoan1, Lê Thị Tuyết Mây2, Nguyễn Mạnh Tuân3, Nguyễn Ngọc Ánh4 Trường Đại học Sư phạm Kỹ thuật Hưng Yên Trường Cao đẳng Nghề Điện Biên Trung tâm Ngoại ngữ - Tin học tỉnh Điện Biên Trường Cao đẳng Kinh tế - Kỹ thuật Điện Biên Ngày tòa soạn nhận báo: 17/09/2017 Ngày phản biện đánh giá sửa chữa: 10/11/2017 Ngày báo chấp nhận đăng: 25/11/2017 Tóm tắt: Bài báo tiến hành phân tích, xử lý liệu, chọn lựa thuật toán ID3, C4.5, Bayes ứng dụng phân lớp học viên Trung tâm Ngoại ngữ - Tin học, phân loại cán Trường Cao đẳng Nghề Điện Biên thử nghiệm phần mềm Weka Bộ tiêu chí đánh giá chất lượng phân lớp cho cán trường, cho việc phân chia thử nghiệm, đánh giá Từ khóa: Thuật tốn ID3, thuật tốn Bayes, Độ lợi thơng tin Giới thiệu Có nhiều thuật tốn phân lớp như: Cây định (Thuật toán Quinlan, ID3, Độ lộn xộn, C4.5, C5.0…; K-NN (K-Nearest Neighbor); Bayes; Mạng nơron; Hệ mờ… Mỗi thuật tốn có ưu điểm, hạn chế, độ phức tạp, đối tượng ứng dụng khác [10] Cây định: Đơn giản, nhanh, hiệu ứng dụng thành công hầu hết lĩnh vực phân tích liệu, phân loại văn [2], [9]… Thuật toán Bayes cho kết tốt thực tế, chịu giả thiết tính độc lập xác suất thuộc tính ứng dụng toán dự đoán, phân loại văn bản, Spam…[5], [8] Trong báo này, sử dụng thuật toán C4.5 Bayes để chia lớp cho học viên Trung tâm Ngoại ngữ - Tin học Trường Cao đẳng Nghề tập huấn luyện hay chưa gặp tương lai Bắt đầu với nút gốc: Bước 1: Chọn thuộc tính định “tốt nhất” cho nút gốc; gán cho A Bước 2: Với giá trị A, tạo nhánh Bước 3: Lặp lại Bước cho nhánh Bước 4: Nếu mẫu huấn luyện nhánh phân loại đồng nhất: DỪNG, nút Ngược lại, lặp từ - Cơng thức làm tiêu chí định + Entropy tập S có phân lớp Entropy(S) = - P+ log2P+ - P- log2P- (2.1) + Entropy tập S có c phân lớp Entropy(S) = c / - Pi log2 Pi i=1 (2.2) Các thuật toán cho phân lớp Từ phân tích trên, với quy mơ liệu khơng lớn, độ xác khơng đòi hỏi cao trường nghề trung tâm; dùng thuật tốn ID3 ([1], [7]) C4.5 (J48) Bayes ([5], [6]) phân loại chất lượng học sinh chia lớp cho học viên - Tiêu chí định: độ lợi lớn Tập liệu S gồm có n thuộc tính Ai (i = 1, 2,…, n) giá trị Độ lợi thông tin (Gain(S, A)) A | Sv | Gain (S, A) = Entropy (S) - / Entropy (Sv ) v ! Values (A) | S | 2.1 Thuật toán ID3 2.1.1 Thuật toán ID3 Đầu vào: Tập liệu huấn luyện gồm thuộc tính tình huống, hay đối tượng đó, giá trị dùng để phân loại Đầu ra: Cây định có khả phân loại đắn ví dụ tập liệu huấn luyện, phân loại cho ví dụ khơng có 2.1.2 Thử nghiệm tốn chia lớp Ngoại ngữ a Phân tích tốn Trung tâm Ngoại ngữ - Tin học tỉnh Điện Biên hàng năm tuyển sinh (số lượng Bảng 1) với đặc trưng ảnh hưởng đến chia lớp cho học viên đăng ký học Ngoại ngữ: Trình độ chun mơn (TDCM), Cấp trường (CTr), Chức danh nghề nghiệp giáo viên (Hang) Đăng ký học tiếng Anh 50 (2.3) Khoa học & Công nghệ - Số 16/Tháng 12 - 2017 Journal of Science and Technology ISSN 2354-0575 theo cấp độ (DK) Mỗi đặc trưng có giá trị khác Từ ta xây dựng toán, chia liệu đầu vào thành đặc trưng: Bảng Bảng sở phân lớp Ngoại ngữ TDCM CTr Hang QD TC MN IV A1 CD TH III A2 DH THCS II B1 ThS THPT I Số lượng (SL): SL: SL: SL: + TDCM: Là trình độ đào tạo cán bộ, viên chức gồm loại: ThS (Thạc sĩ), DH (Đại học), CD (Cao đẳng), TC (Trung cấp) + CTr: Gồm loại: MN (Cấp Mầm non), TH (Cấp Tiểu học), THCS (Cấp Trung học sở), THPT (Cấp Trung học phổ thông) + Hang: Gồm loại: I (Hạng I), II (Hạng II), III (Hạng III), IV (Hạng IV) + DK: Gồm loại A1, A2, B1 (Trình độ tiếng Anh theo khung tham chiếu Châu Âu) b Thử nghiệm tốn Sau phân tích liệu tìm hiểu thuật tốn, chúng tơi tiến hành thử nghiệm toán phần mềm Weka, phần mềm tiếng cho khai phá liệu Hình Bảng liệu hosodangkyNNTH.csv Sau đó, ta tiến hành tiền xử lý liệu với phần mềm Weka để lựa chọn thuộc tính cần thiết loại bỏ thuộc tính khơng cần thiết để phục vụ cho q trình phân loại Khoa học & Cơng nghệ - Số 16/Tháng 12 - 2017 Sau thử nghiệm toán phần mềm Weka sử dụng thuật toán ID3 kết sau (Hình 2): Journal of Science and Technology 51 ISSN 2354-0575 Hình Kết dự đoán theo Weka Kết quả: Sau sử dụng thuật toán ID3 ta rút kết từ 111 ghi tập liệu ToanTruong.CSV 2.2 Giải thuật định C4.5 (J48) 2.2.1 Thuật toán C4.5 (J48) C4.5 thuật toán cải tiến từ ID3 nên bước tương tự, khác tiêu chí, cơng thức chọn nút gốc C4.5 sử dụng chế lưu trữ liệu thường trú nhớ, đặc điểm làm C4.5 thích hợp với sở liệu nhỏ, chế xếp lại liệu node trình phát triển định C4.5 chứa kỹ thuật cho phép biểu diễn lại dạng danh sách thứ tự luật if-then Để đánh giá chọn thuộc tính phân hoạch liệu, Quinlan đề nghị sử dụng độ lợi thơng tin (chọn thuộc tính có độ lợi thông tin lớn nhất) tỉ số độ lợi dựa hàm entropy Shannon Độ lợi thông tin thuộc tính tính bằng: độ đo hỗn loạn trước phân hoạch trừ cho sau phân hoạch Giả sử Pi xác xuất mà phần tử liệu S thuộc lớp Ci (i = 1, k), đo độ hỗn loạn thông tin trước phân hoạch tính theo cơng thức (2.4): I _ S i =- / Pi log2 _ Pi i k (2.4) Độ đo hỗn loạn sau sử dụng thuộc tính i=1 52 A phân hoạch liệu S thành v phần tính cơng thức (2.5): v S i # I _ Si i (2.5) IA _S i = / i=1 S Độ lợi thông tin chọn thuộc tính A phân hoạch liệu S thành v phần tính theo cơng thức (2.6) [2]: G(S) = I(S) - IA(S) (2.6) Tuy nhiên, liệu có thuộc tính có nhiều giá trị thuộc tính khác, độ lợi thơng tin tăng thuộc tính có nhiều giá trị phân hoạch Để giảm bớt lệch này, Quinlan đề nghị sử dụng tỉ số độ lợi Tỉ số độ lợi tính đến số lượng độ lớn nhánh chọn thuộc tính phân hoạch, tính độ lợi thơng tin chia cho thông tin phân phối liệu nhánh Giả sử sử dụng thuộc tính A phân hoạch liệu S thành v phần, thông tin phân phối liệu tính: v S Si i P _ S i =- / log2 S (2.7) i=1 S Tỉ số độ lợi tính cơng thức (2.8): G_S i (2.8) GainRatio _ S i = P_S i Trong mơ hình phân lớp C4.5, dùng hai loại số Information Gain hay Gain ratio (mặc định) để xác định thuộc tính tốt Khoa học & Công nghệ - Số 16/Tháng 12 - 2017 Journal of Science and Technology ISSN 2354-0575 2.2.2 Xử lý giá trị thiếu C4.5 Dữ liệu thiếu giá trị thuộc tính khơng xuất vài trường hợp lỗi trình nhập ghi vào sở liệu giá trị thuộc tính đánh giá khơng cần thiết trường hợp Trong q trình xây dựng từ tập liệu đào tạo S, B test dựa thuộc tính Aa với giá trị đầu b1,b2, ,bt Tập S0 tập trường hợp S mà có giá trị thuộc tính Aa khơng biết Si biểu diễn trường hợp với đầu bi test B Khi độ đo độ lợi thơng tin test B giảm khơng phân lớp từ trường hợp S0 tính theo: S - S0 G _ S, B i = S G _ S - S0 , B i (2.9) Trong đó: S tập liệu huấn luyện B tập liệu test Tập S0 tập trường hợp S có giá trị thuộc tính Aa khơng biết Si biễu diễn trường hợp với đầu bi B Từ P(S, B) thay đổi sau: t S0 S0 Si Si P _ S, B i =- S log2 d S n - / S log2 d S n i=1 (2.10) Hai thay đổi làm giảm giá trị Test liên quan đến thuộc tính có tỉ lệ giá trị thiếu cao Nếu TestB chọn, C4.5 không tạo nhánh riêng định cho S0 Thay vào đó, thuật tốn có chế phân chia trường hợp S0 tập Si tập mà có giá trị thuộc tính test xác định theo trọng số: Si S - S0 2.3 Thuật toán Bayes [5], [6] Giả sử D tập huấn luyện gồm mẫu X=(x1, x2,…,xn) Ci,D tập mẫu D thuộc lớp Ci (i={1,…,m}) Các thuộc tính (x1, x2,…,xn) với giả thiết độc lập tính sau: P = _Ci | X i = n % P _ xk | Ci i i=1 = P _ x1 | Ci i # P _ x2 | Ci i # # P _ xn | Ci i (2.12) P(X|Ci) tính với giả định xk độc lập có điều kiện; k = n: - P(xk|Ci) tính sau: + Nếu X giá trị rời rạc Ci, D P (Ci) = D DCi, D {xk} (2.13) P _ xk | Ci i = Ci, D Khoa học & Công nghệ - Số 16/Tháng 12 - 2017 + Nếu X giá trị liên tục: P(xk|Ci) ước lượng qua hàm mật độ: P(xk|Ci ) = g(xk, n Ci, v Ci ) (2.14) = (xk - nCi) e 2v2Ci 2rv Ci (2.15) x (2.16) µ = 1n / k = xk µ: Giá trị trung bình; σ: Độ lệch chuẩn x σ = / k = _ xk - n i2 (2.17) n-1 Tóm lại, để phân lớp mẫu X, tính: P(X|Ci) P(Ci) cho Ci , gán X vào lớp Ci cho P(X|Ci) P(Ci) lớn n (2.18) max Ci ! C (P (Ci % k = P (xk | Ci))) 2.4 Thử nghiệm Bài báo thử nghiệm toán phần mềm Weka với liệu giống với liệu sử dụng thuật toán ID3 Sau thử nghiệm toán phần mềm Weka sử dụng thuật toán Bayes kết sau: Hình Kết xác nhận phân lớp Bayes Kết dự đoán thuật toán NavieBayes với liệu phần mềm Weka, với kết dự đoán 81 giá trị chiếm 72,973%, kết dự đoán sai 30 giá trị chiếm 27,027% Các độ đo đánh giá Trong học máy toán phân lớp theo thống kê), ma trận nhầm, gọi ma trận lỗi (Error Matrix) ma trận so khớp (Matching Matrix) bảng vuông, hai chiều cho phép thể trực quan tiêu đánh giá thuật toán định cho lớp toán phân lớp, dự đoán (Predict) Trong ma trận, dịng mơ tả trường hợp xảy (Instances) theo thực tế (Actual Class); cột thể trường hợp xảy theo dự đoán (Predicted Class) ngược lại bảng đổi dòng thành cột (hay ma trận chuyển vị) Trường hợp số lớp n, ma trận nhầm lẫn nxn Trong đó: • Số mẫu dương Condition Positive (P); • Số mẫu âm (Condition Negatives (N); • Thực dương TP (True Positive); • Thực âm TN (True Negativeeqv with Correct Rejection) • Dương sai FP (False Positiveeqv with False Alarm, Type I Error: báo động sai, sai số loại I); • Âm sai FN (False Negative eqv with Miss, Type II Error: mất, sai số loại II) Journal of Science and Technology 53 ISSN 2354-0575 Bảng Ma trận nhầm lẫn tiêu đánh giá Các tiêu đánh giá Tỷ lệ thực dương TPR (True Positive Rate) hay độ nhạy (Sensitivity) hay tỷ lệ trúng đích (Hit Rate) hay độ thu hồi (Recall) TP TP TPR = P = TP + FN (3.1) Tỷ lệ thực âm TNR: (True Negative Rate) hay độ đặc hiệu SPC: (Specificity) TN TN TNR = N = TN + FP (3.2) Giá trị dự đoán dương PPV: (Positive Predictive Value), hay giá (Precision) TP PPV = TP + FP (3.3) Giá trị đoán âm NPV: (Negative Predictive Value) TN NPV = TN + FN (3.4) Tỷ lệ bỏ lỡ tỷ lệ sai âm (FNR) FN FN FNR = N = FN + TP = - TPR (3.5) Rơi tỷ lệ dương giả (FPR: Fall-out or False Positive Rate) FP FP (3.6) FPR = N = FP + TN = - TNR Tỷ lệ khám phá sai (FDR: False Discovery Rate) FP FDR = FP + TP = - PPV (3.7) Tỷ lệ bỏ sót sai (FOR) FN FOR = FN + TN = - NPV Độ xác (ACC:accuracy) TP + TN ACC = P + N 54 10 Điểm số F1: Là trung bình hài độ xác độ nhạy (Score is the Harmonic Mean): PPV TPR 2TP F1 = PPV + TPR = 2TP + FP + FN (3.10) 11 Hệ số tương quan Matthews (MCC: Matthews Correlation Coefficient ) TP TN - FP FN MCC = (TP + FP) (TP + FN) (TN + FP) (TN + FN) (3.11) 12 Chỉ tiêu BM (Bookmaker Informedness) (3.12) BM = TPR + TNR - 13 Đánh dấu (MK: Markedness) (3.13) MK = PPV + NPV - Sơ đồ cho toán phân chia lớp sau sử dụng phần mềm Weka-6.6 cho toán phân chia lớp ngoại ngữ dựa thuật toán C4.5 (J48) (3.8) (3.9) Hình Sơ đồ chia lớp ngoại ngữ Khoa học & Công nghệ - Số 16/Tháng 12 - 2017 Journal of Science and Technology ISSN 2354-0575 So sánh kết kết luận 4.1 So sánh thuật toán ID3 Bayes Để so sánh phân tích kết thử nghiệm hai thuật toán ID3 Bayes ta sử dụng phần mềm Weka cho kết Hình giám sát, dạng (cho trước đầu nhãn); cần có tập liệu mẫu huấn luyện Điểm khác ID3 Bayes: + Thuật toán ID3 xây dựng mơ hình câyvới nút gán nhãn rút tập luật ifthen tương ứng + Thuật toán Bayes ước lượng xác suất lớp gán nhãn thông qua liệu huấn luyện đặc trưng đầu vào để gán nhãn cho mẫu Hình Giao diện so sánh ID3 Bayes 4.2 Kết luận Đóng góp chủ yếu báo thu thập xử lý liệu, thử nghiệm phân chia học viên đăng ký học Ngoại ngữ, phân loại cán giáo viên trường nghề sử dụng thuật tốn ID3, C4.5 Bayes tính toán trực tiếp phần mềm Weka cho số kết khả quan; ứng dụng cho trường tương tự Căn kết đó, Trung tâm xử lý thơng tin xác, nhanh phần mềm chia lớp học cho học viên đăng ký học Ngoại ngữ có hiệu Hướng nghiên cứu tiếp theo: Sẽ thử nghiệm toán với khối lượng mẫu lớn để đánh giá độ tin cậy thuật toán phân lớp học viên Từ Hình ta thấy, thuật tốn ID3 cho kết dự đoán 77,48% thuật toán Bayes cho kết 72,97% Điểm giống ID3 Bayes: + Hai phương pháp mô hình học có Lời cảm ơn Bài báo hỗ trợ từ trường Đại học Sư phạm Kỹ thuật Hưng n theo nội dung nhóm nghiên cứu “Tính tốn mềm” Quyết Định số 1417/QĐ-ĐHSPKTHY ngày 06/07/2017 Tài liệu tham khảo [1] Trần Cao Đệ, Phạm Nguyên Khang (2012), Phân loại văn với máy học Vector hỗ trợ định, Tạp chí Khoa học 2012:21a 52-63, Đại học Cần Thơ [2] Nguyễn Quang Hoan (2007), Nhập mơn trí tuệ nhân tạo, Học viện Cơng nghệ Bưu Viễn thơng [3] Nguyễn Dương Hùng (2000), Hạn chế rủi ro tín dụng dựa thuật tốn phân lớp, Khoa Hệ thống Thông tin Quản lý – Học viện Ngân hàng [4] Đỗ Thanh Nghị (2008), Phương pháp K láng giềng - K Nearest Neighbors, Khoa Công nghệ Thông tin – Đại học Cần Thơ [5] Đỗ Thanh Nghị (2008), Phương pháp học Bayes - Bayesian classification, Khoa Công nghệ thông tin – Đại học Cần Thơ [6] Võ Văn Tài (2012), Phân loại phương pháp Bayes từ số liệu rời rạc, Tạp chí Khoa học 2012:23b 69-78, Đại học Cần Thơ [7] Andrew Colin (1996), Building Decision Trees with the ID3 Algorithm, Dr Dobbs Journal [8] ShwetaKharya, SunitaSoni (2016), Weighted Naive Bayes Classifier: A Predictive Model for Breast Cancer Detection, International Journal of Computer Applications (0975 – 8887) Volume 133 – No.9, January 2016, Bhilai Institute of Technology, Durg C.G India [9] Megha Gupta, Naveen Aggarwal (2010), Classification Techniques Analysis, UIET Punjab University Chandigarh INDIA -160014 Khoa học & Công nghệ - Số 16/Tháng 12 - 2017 Journal of Science and Technology 55 ISSN 2354-0575 [10] Miss Deepa S Deulkar& Prof R R Deshmukh (2016), Data Mining Classification, Imperial Journal of Interdisciplinary Research (IJIR) Vol-2, Issue-4, 2016 ISSN: 2454-1362, H.V.P.M COET, Amaravati, India DECISION TREE ALGORITHMS AND CLASSIFIER EVALUATION BY CONFUSION MATRIX Abstract: The paper analyzed ID3, C4.5, Bayesalgorithms and we were coding data to classify The ID3, C4.5, Bayesalgorithms are used to classify for English Leaners, for staff of Dienbien Vocational College The paper proposed the criteria for classifier evaluation by confusion matrix to evaluate the classifier results Keyworks: InformationGain, Machine Learning, ID3-Algorithm, BayesAlgorithm 56 Khoa học & Công nghệ - Số 16/Tháng 12 - 2017 Journal of Science and Technology ... với liệu giống với liệu sử dụng thuật toán ID3 Sau thử nghiệm toán phần mềm Weka sử dụng thuật toán Bayes kết sau: Hình Kết xác nhận phân lớp Bayes Kết dự đoán thuật toán NavieBayes với liệu... + NPV - Sơ đồ cho toán phân chia lớp sau sử dụng phần mềm Weka-6.6 cho toán phân chia lớp ngoại ngữ dựa thuật tốn C4.5 (J48) (3.8) (3.9) Hình Sơ đồ chia lớp ngoại ngữ Khoa học & Công nghệ - Số... thử nghiệm phân chia học viên đăng ký học Ngoại ngữ, phân loại cán giáo viên trường nghề sử dụng thuật tốn ID3, C4.5 Bayes tính tốn trực tiếp phần mềm Weka cho số kết khả quan; ứng dụng cho trường