BÁO CÁO MÔN HỌC KHAI PHÁ DỮ LIỆUMô tả bài toán1.Mô tảCho cơ sơ dữ liệu SE (Sick-euthyroid cơ sở dữ liệu về bệnh tuyến giáp), bao gồm 26 thuộc tính và 3163 bộ dữ liệu2.Trích chọn đặc tínhMột số phương pháp chọn thuộc tính (Feature Selection Methods): Có rất nhiều phương pháp để lựa chọn thuộc tính tùy thuộc vào cấu trúc của dữ liệu dùng cho mô hình và thuật toán được dùng để xây dựng mô hình. Sau đây là một số phương pháp phổ biến dùng trong trích chọn thuộc tính:Interestingness score: Được sử dụng để xếp hạng (rank) các thuộc tính đối với các thuộc tính có kiểu dữ liệu liên tục (continuous). Một thuộc tính được xem là Interesting nếu nó mang một vài thông tin hữu ích (thế nào là thông tin hữu ích tùy thuộc vào vấn đề đang phân tích của bạn). Để đo lường mức độ interestingness, người ta thường dựa vào entropy (một thuộc tính với phân bố ngẫu nhiên có entropy cao hơn và có information gain (độ lợi thông tin) thấp hơn) vì vậy các thuộc tính đó gọi là less interesting). Entropy của một thuộc tính nào đó sẽ được so sánh với entropy của tất cả các thuộc tính còn lại theo công thức sau:Interestingness(Attribute) = - (m - Entropy(Attribute)) * (m - Entropy(Attribute)) Trong đó m gọi là entropy trung tâm (Central entropy- có nghĩa là entropy của toàn bộ tập thuộc tính)Shannon''s Entropy: Được sử dụng đối với các dữ liệu kiểu rời rạc (discretized data). Shannon''s entropy đo lường độ bất định (uncertainty) của biến ngẫu nhiên đối với một kết quả cụ thể (particular outcome). Ví dụ, entropy của việc tung một đồng xu có thể biểu diễn bằng một hàm của xác suất của khả năng xuất hiện mặt sấp hay ngửa. Shannon''s entropy được tính theo công thức sauH(X) = -∑ P(xi) log(P(xi)) Ngoài interestingness score và Shannon''s entropy, một số phương pháp khác cũng thường được sử dụng trong lựa chọn thuộc tính như Bayesian with K2 Prior, Bayesian Dirichlet Equivalent with Uniform Prior3.Trích chọn thuộc tính trong WekaTrong WEKA, một phương pháp lựa chọn thuộc tính (attribute selection) bao gồm2 phần:Attribute Evaluator Để xác định một phương pháp đánh giá mức • Attribute Evaluator. Để xác định một phương pháp đánh giá mức độ phù hợpcủa các thuộc tính Vd: correlation-based, wrapper, information gain, chisquared squared,…Search Method. Để xác định mộtphương pháp (thứ tự) xét các thuộc tính Vd: best-first, random, exhaustive, ranking,…
KHAI PHÁ DỮ LIỆU Họ và tên: Nguyễn Đức Tuấn Lớp: Công Nghệ Phần Mềm 6 BÁO CÁO MÔN HỌC KHAI PHÁ DỮ LIỆU Mô tả bài toán 1.Mô tả Cho cơ sơ dữ liệu SE (Sick-euthyroid cơ sở dữ liệu về bệnh tuyến giáp), bao gồm 26 thuộc tính và 3163 bộ dữ liệu 2.Trích chọn đặc tính Một số phương pháp chọn thuộc tính (Feature Selection Methods): Có rất nhiều phương pháp để lựa chọn thuộc tính tùy thuộc vào cấu trúc của dữ liệu dùng cho mô hình và thuật toán được dùng để xây dựng mô hình. Sau đây là một số phương pháp phổ biến dùng trong trích chọn thuộc tính: Interestingness score: Được sử dụng để xếp hạng (rank) các thuộc tính đối với các thuộc tính có kiểu dữ liệu liên tục (continuous). Một thuộc tính được xem là Interesting nếu nó mang một vài thông tin hữu ích (thế nào là thông tin hữu ích tùy thuộc vào vấn đề đang phân tích của bạn). Để đo lường mức độ interestingness, người ta thường dựa vào entropy (một thuộc tính với phân bố ngẫu nhiên có entropy cao hơn và có information gain (độ lợi thông tin) thấp hơn) vì vậy các thuộc tính đó gọi là less interesting). Entropy của một thuộc tính nào đó sẽ được so sánh với entropy của tất cả các thuộc tính còn lại theo công thức sau: Interestingness(Attribute) = - (m - Entropy(Attribute)) * (m - Entropy(Attribute)) Trong đó m gọi là entropy trung tâm (Central entropy- có nghĩa là entropy của toàn bộ tập thuộc tính) Shannon's Entropy: Được sử dụng đối với các dữ liệu kiểu rời rạc (discretized data). Shannon's entropy đo lường độ bất định (uncertainty) của biến ngẫu nhiên đối với một kết quả cụ thể (particular outcome). Ví dụ, entropy của việc tung một đồng xu có thể biểu diễn bằng một hàm của xác suất của khả năng xuất hiện mặt sấp hay ngửa. Shannon's entropy được tính theo công thức sau H(X) = -∑ P(xi) log(P(xi)) Ngoài interestingness score và Shannon's entropy, một số phương pháp khác cũng thường được sử dụng trong lựa chọn thuộc tính như Bayesian with K2 Prior, Bayesian Dirichlet Equivalent with Uniform Prior 3.Trích chọn thuộc tính trong Weka Trong WEKA, một phương pháp lựa chọn thuộc tính (attribute selection) bao gồm2 phần: Attribute Evaluator Để xác định một phương pháp đánh giá mức • Attribute Evaluator. Để xác định một phương pháp đánh giá mức độ phù hợpcủa các thuộc tính Page 1 KHAI PHÁ DỮ LIỆU Vd: correlation-based, wrapper, information gain, chisquared squared,… Search Method. Để xác định mộtphương pháp (thứ tự) xét các thuộc tính Vd: best-first, random, exhaustive, ranking,… Mở weka chọn dataset SE : Chọn tab “Select attributes”, trong mục “Attribute Evaluaror” chọn WrapperSubsetEval, trong mục Classifier chọn NaiveBayes như hình sau Page 2 KHAI PHÁ DỮ LIỆU Trong mục Search Method chọn GredySteepWise Thu được kết quả Page 3 KHAI PHÁ DỮ LIỆU === Run information === Evaluator: weka.attributeSelection.WrapperSubsetEval -B weka.classifiers.bayes.NaiveBayes -F 5 -T 0.01 -R 1 -- Search:weka.attributeSelection.GreedyStepwise -B -T -1.7976931348623157E308 -N -1 Relation:sick-euthyroid Instances:3163 Attributes:26 age sex on_thyroxine query_on_thyroxine on_antithyroid_medication thyroid_surgery query_hypothyroid query_hyperthyroid pregnant sick tumor lithium goitre TSH_measured TSH T3_measured T3 TT4_measured TT4 T4U_measured T4U FTI_measured FTI TBG_measured TBG Page 4 KHAI PHÁ DỮ LIỆU class Evaluation mode:evaluate on all training data === Attribute Selection on all input data === Search Method: Greedy Stepwise (backwards). Start set: all attributes Merit of best subset found: 0.037 Attribute Subset Evaluator (supervised, Class (nominal): 26 class): Wrapper Subset Evaluator Learning scheme: weka.classifiers.bayes.NaiveBayes Scheme options: Accuracy estimation: classification error Number of folds for accuracy estimation: 5 Selected attributes: 4,5,6,7,9,11,12,13,16,17,18,20,23,24 : 14 query_on_thyroxine on_antithyroid_medication thyroid_surgery query_hypothyroid pregnant tumor lithium goitre T3_measured T3 TT4_measured T4U_measured FTI TBG_measured Page 5 KHAI PHÁ DỮ LIỆU Sau khi trích chọn thuộc tính nhứng thuộc tính cần để sử dụng là: query_on_thyroxine, on_antithyroid_medication, thyroid_surgery, query_hypothyroid, pregnant, tumor, lithium, goiter, T3_measured, T3, TT4_measured, T4U_measured, FTI, TBG_measured. 4.Tiền xử lý dữ liệu Loại bỏ các thuộc tính không cần thiết sau khi trích chọn thuộc tính query_on_thyroxine, on_antithyroid_medication, thyroid_surgery, query_hypothyroid, pregnant, tumor, lithium, goiter, T3_measured, T3, TT4_measured, T4U_measured, FTI, TBG_measured. Trình tự loại bỏ thuộc tính Filter > Choose > filters >unsupervised > attribute > Remove. Ta thu được kết quả Lưu lại dữ liệu mới SE2.Ta sử dụng dataset này để phân lớp Thuật toán phân lớp 1.Thực hiện thuật toán Đối với dataset này chúng ta sử dụng thuật toán phân lớp: cây quyết định J48 Với dữ liệu chia thành 10 phần Page 6 KHAI PHÁ DỮ LIỆU Kết quả: === Run information === Scheme:weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: sick-euthyroid-weka.filters.unsupervised.attribute.Remove-R1,2,3,8,10,14,15,19,21,22,25 Instances:3163 Attributes:15 query_on_thyroxine on_antithyroid_medication thyroid_surgery query_hypothyroid pregnant tumor lithium goitre T3_measured T3 TT4_measured T4U_measured FTI TBG_measured class Page 7 KHAI PHÁ DỮ LIỆU Test mode:10-fold cross-validation === Classifier model (full training set) === J48 pruned tree ------------------ T3 <= 1.1 | T3_measured = y | | FTI <= 61 | | | FTI <= 31: negative (59.0) | | | FTI > 31 | | | | T3 <= 0.1: sick-euthyroid (2.0) | | | | T3 > 0.1 | | | | | T3 <= 0.7: negative (16.0) | | | | | T3 > 0.7 | | | | | | FTI <= 57 | | | | | | | FTI <= 49: negative (5.0) | | | | | | | FTI > 49: sick-euthyroid (4.0) | | | | | | FTI > 57: negative (6.0) | | FTI > 61 | | | FTI <= 163 | | | | query_hypothyroid = f: sick-euthyroid (281.0/37.0) | | | | query_hypothyroid = t | | | | | T3 <= 1 | | | | | | FTI <= 78: negative (2.0) | | | | | | FTI > 78: sick-euthyroid (19.0/4.0) | | | | | T3 > 1: negative (3.0) | | | FTI > 163 Page 8 KHAI PHÁ DỮ LIỆU | | | | T3 <= 0.8 | | | | | T3 <= 0.7: negative (6.0/1.0) | | | | | T3 > 0.7: sick-euthyroid (4.0) | | | | T3 > 0.8: negative (16.0) | T3_measured = n: negative (119.12) T3 > 1.1: negative (2620.88/23.0) Number of Leaves : 15 Size of the tree : 29 Time taken to build model: 0.14seconds === Stratified cross-validation === === Summary === Correctly Classified Instances 3076 97.2494 % Incorrectly Classified Instances 87 2.7506 % Kappa statistic 0.8391 Mean absolute error 0.0446 Root mean squared error 0.1572 Relative absolute error 26.4984 % Root relative squared error 54.2187 % Total Number of Instances 3163 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.87 0.017 0.839 0.87 0.854 0.934 sick-euthyroid 0.983 0.13 0.987 0.983 0.985 0.934 negative Weighted Avg. 0.972 0.119 0.973 0.972 0.973 0.934 Page 9 KHAI PHÁ DỮ LIỆU === Confusion Matrix === a b <-- classified as 255 38 | a = sick-euthyroid 49 2821 | b = negative Với bộ dữ liệu chia tỷ lệ:66%, 34% Kết quả === Run information === Scheme:weka.classifiers.trees.J48 -C 0.25 -M 2 Relation: sick-euthyroid-weka.filters.unsupervised.attribute.Remove-R1,2,3,8,10,14,15,19,21,22,25 Instances:3163 Attributes:15 query_on_thyroxine on_antithyroid_medication thyroid_surgery query_hypothyroid pregnant tumor Page 10