I- Mô tả bài toán - Dữ liệu bao gồm các phiếu bầu cho mỗi Hạ viện Hoa Kỳ. Đại biểu Quốc hội trên 16 phiếu chủ chốt được xác định bởi các CQA. CQA liệt kê chín loại phiếu bầu khác nhau bỏ phiếu và tuyên bố bỏ phiếu chống, và công bố chống lại. Hiện nay bỏ phiếu chọn để tránh mâu thuẫn quyền lợi, và không bỏ phiếu hay nói cách khác là làm cho một vị trí được biết đến. II- Trích chọn đặc tính 1- Ý nghĩa của phương pháp trích chọn đặc tính - Trong dataset hiện tại được chọn bao gồm 26 thuộc tính dùng để mô tả về loại thuốc này, tuy nhiên khi xây dựng một Data mining model nào đó chỉ cần khoảng 50 thuộc tính từ hàng trăm thuộc tính đó. Nếu ta sử dụng tất cả các thuộc tính (hàng trăm) của loại thuốc để xây dựng mô hình thì ta cần nhiều CPU, nhiều bộ nhớ trong quá trình Training model, thậm chí các thuộc tính không cần thiết đó làm giảm độ chính xác của mô hình và gây khó khăn trong việc phát hiện tri thức. - Các phương pháp trích chọn thuộc tính thường tính trọng số (score) của các thuộc tính và sau đó chỉ chọn các thuộc tính có trọng số tốt nhất để sử dụng cho mô hình. Các phương pháp này cho phép bạn hiệu chỉnh ngưỡng (threshold) để lấy ra các thuộc tính có Score trên ngưỡng cho phép. Quá trình trích chọn thuộc tính luôn được thực hiện trước quá trình Training Model. - 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: a. 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ó
Trang 1BÁO CÁO MÔN HỌC : KHAI PHÁ DỮ LIỆU
Họ và tên : Trần Đức Quang
Lớp : HTTT6
Dataset : Congressional Voting Records
I- Mô tả bài toán
- Dữ liệu bao gồm các phiếu bầu cho mỗi Hạ viện Hoa Kỳ Đại biểu Quốc hội trên 16 phiếu chủ chốt được xác định bởi các CQA CQA liệt kê chín loại phiếu bầu khác nhau bỏ phiếu và tuyên bố bỏ phiếu chống, và công bố chống lại Hiện nay bỏ phiếu chọn để tránh mâu thuẫn quyền lợi, và không bỏ phiếu hay nói cách khác là làm cho một
vị trí được biết đến
II- Trích chọn đặc tính
1- Ý nghĩa của phương pháp trích chọn đặc tính
- Trong dataset hiện tại được chọn bao gồm 26 thuộc tính dùng để mô tả
về loại thuốc này, tuy nhiên khi xây dựng một Data mining model nào
đó chỉ cần khoảng 50 thuộc tính từ hàng trăm thuộc tính đó Nếu ta sử dụng tất cả các thuộc tính (hàng trăm) của loại thuốc để xây dựng mô hình thì ta cần nhiều CPU, nhiều bộ nhớ trong quá trình Training model, thậm chí các thuộc tính không cần thiết đó làm giảm độ chính xác của mô hình và gây khó khăn trong việc phát hiện tri thức
- Các phương pháp trích chọn thuộc tính thường tính trọng số (score) của các thuộc tính và sau đó chỉ chọn các thuộc tính có trọng số tốt nhất để sử dụng cho mô hình Các phương pháp này cho phép bạn hiệu chỉnh ngưỡng (threshold) để lấy ra các thuộc tính có Score trên ngưỡng cho phép Quá trình trích chọn thuộc tính luôn được thực hiện trước quá trình Training Model
- 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:
a 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ó
Trang 2mang 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)
b 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))
c. 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 2- Trích chọn đặ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:
a 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
b Search Method Để xác định mộtphương pháp (thứ tự) xét các thuộc tính
- Mở weka chọn CSDL house-votes - 84 ta được như sau :
Trang 3- Chọn tab “Select attributes”, Trong mục Search Method chọn GredySteepWise, và làm như sau:
Trang 4- Bấm Start để thực hiện, ta được kết quả như sau:
Trang 5- Như vậy, những thuộc tính cần sử dụng trong khai phá dữ liệu chỉ cần là 4/17 thuộc tính, ta sẽ sử dụng những thuộc tính này:
1 adoption-of-the-budget-resolution
2 anti-satellite-test-ban
3 aid-to-nicaraguan-contras
4 immigration
III- Tiền xử lý dữ liệu
1- Giới thiệu về tiền xử lý dữ liệu (Data Preprocessing)
- Trong qui trình khai phá dữ liệu, công việc xử lý dữ liệu trước khi đưa vào các mô hình là rất cần thiết, bước này làm cho dữ liệu có được ban đầu qua thu thập dữ liệu (gọi là dữ liệu gốc original data)
có thể áp dụng được (thích hợp) với các mô hình khai phá dữ liệu
Trang 6(data mining model) cụ thể Các công việc cụ thể của tiền xử lý dữ liệu bao gồm những công việc như:
Filtering Attributes: Chọn các thuộc tính phù hợp
với mô hình
Filtering samples: Lọc các mẫu (instances, patterns)
dữ liệu cho mô hình
Clean data: Làm sạch dữ liệu như xóa bỏ các dữ liệu bất thường (Outlier) Transformation: Chuyển đổi dữ
liệu cho phù hợp với các mô hình như chuyển đổi dữ liệu từ numeric qua nomial hay ordinal
Discretization (rời rạc hóa dữ liệu): Nếu bạn có dữ
liệu liên tục nhưng một vài mô hình chỉ áp dụng cho các dữ liệu rời rạc (như luật kết hợp chẳn hạn) thì bạn phải thực hiện việc rời rạc hóa dữ liệu
2- Tiền xử lí dữ liệu với bài toán đã chọn
- Trong bài toán của mình, em thấy có những vấn đề sau về tiền xử lí
dữ liệu:
- Loại bỏ cácthuộc tính :
1 Class Name: 2 (democrat, republican)
2 handicapped-infants: 2 (y,n)
3 water-project-cost-sharing: 2 (y,n)
5 physician-fee-freeze: 2 (y,n)
6 el-salvador-aid: 2 (y,n)
7 religious-groups-in-schools: 2 (y,n)
10 mx-missile: 2 (y,n)
12 synfuels-corporation-cutback: 2 (y,n)
13 education-spending: 2 (y,n)
14 superfund-right-to-sue: 2 (y,n)
15 crime: 2 (y,n)
Trang 716 duty-free-exports: 2 (y,n)
17 export-administration-act-south-africa: 2 (y,n)
2
- Trình tự thực hiện loại bỏ các thuộc tính này như sau:
Trong panel Filter > Choose > filters >unsupervised > attribute
> Remove
- Bước tiếp theo là bấm vào textbox ngay bên phải nút “Choose” gõ vào đấy 1,2,3,5,6,7,10,12,13,14,15,16,17 Chú ý rằng tùy chọn
"invertSelection" phải được thiết lập là false
Trang 8- ấn Apply ta sẽ được bộ dữ liệu mới không có thuộc tính sex nữa Làm tương tự cho các thuộc tính đã chỉ ra ở trên Kết quả cuối cùng ta được bộ các thuộc tính sẽ sử dụng như sau:
Trang 9- Ta sẽ lưu lại dữ liệu và thực hiện thuật toán trên dữ liệu mới này.
Trang 10IV- Thuật toán phân lớp
1- Thực hiện thuật toán
a- Kết quả khi J48 với các thông số thiết đặt như sau(chia dữ liệu thành 10 phần)
=== Run information ===
Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2
Relation: house-votes-84
Instances: 435
Attributes: 17
Class Name
handicapped-infants
water-project-cost-sharing
adoption-of-the-budget-resolution
physician-fee-freeze
el-salvador-aid
religious-groups-in-schools
anti-satellite-test-ban
aid-to-nicaraguan-contras
mx-missile
immigration
synfuels-corporation-cutback
education-spending
superfund-right-to-sue
crime
Trang 11duty-free-exports
export-administration-act-south-africa
Test mode: 10-fold cross-validation
=== Classifier model (full training set) ===
J48 pruned tree
-physician-fee-freeze = y
| synfuels-corporation-cutback = n: republican (145.71/4.0)
| synfuels-corporation-cutback = y
| | mx-missile = n
| | | adoption-of-the-budget-resolution = n: republican (22.61/3.32)
| | | adoption-of-the-budget-resolution = y
| | | | anti-satellite-test-ban = n: democrat (5.04/0.02)
| | | | anti-satellite-test-ban = y: republican (2.21)
| | mx-missile = y: democrat (6.03/1.03)
physician-fee-freeze = n: democrat (253.41/3.75)
Number of Leaves : 6
Size of the tree : 11
Trang 12Time taken to build model: 0.05 seconds
=== Stratified cross-validation ===
=== Summary ===
Correctly Classified Instances 419 96.3218 %
Incorrectly Classified Instances 16 3.6782 %
Kappa statistic 0.9224
Mean absolute error 0.0611
Root mean squared error 0.1748
Relative absolute error 12.887 %
Root relative squared error 35.9085 %
Coverage of cases (0.95 level) 98.6207 %
Mean rel region size (0.95 level) 54.8276 %
Total Number of Instances 435
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.952 0.03 0.952 0.952 0.952 0.971 republican 0.97 0.048 0.97 0.97 0.97 0.971 democrat
Weighted Avg 0.963 0.041 0.963 0.963 0.963 0.971
Trang 13=== Confusion Matrix ===
a b < classified as
160 8 | a = republican
8 259 | b = democrat
- Theo cây quyết định ở kết quả trên, khi đưa ra một bộ dữ liệu mới,
ta sẽ xác định được kết quả là có thuộc Đảng cộng hòa hay không
b- Kết quả khi J48 với các thông số thiết đặt như sau(chia dữ liệu thành 2 phần theo tỉ lệ 66%, 34%)
=== Run information ===
Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2
Relation: house-votes-84
Instances: 435
Attributes: 17
Class Name
handicapped-infants
water-project-cost-sharing
adoption-of-the-budget-resolution
physician-fee-freeze
el-salvador-aid
religious-groups-in-schools
anti-satellite-test-ban
aid-to-nicaraguan-contras
Trang 14mx-missile
immigration
synfuels-corporation-cutback
education-spending
superfund-right-to-sue
crime
duty-free-exports
export-administration-act-south-africa
Test mode: split 66.0% train, remainder test
=== Classifier model (full training set) ===
J48 pruned tree
-physician-fee-freeze = y
| synfuels-corporation-cutback = n: republican (145.71/4.0)
| synfuels-corporation-cutback = y
| | mx-missile = n
| | | adoption-of-the-budget-resolution = n: republican (22.61/3.32)
| | | adoption-of-the-budget-resolution = y
| | | | anti-satellite-test-ban = n: democrat (5.04/0.02)
| | | | anti-satellite-test-ban = y: republican (2.21)
| | mx-missile = y: democrat (6.03/1.03)
Trang 15physician-fee-freeze = n: democrat (253.41/3.75)
Number of Leaves : 6
Size of the tree : 11
Time taken to build model: 0.01 seconds
=== Evaluation on test split ===
=== Summary ===
Correctly Classified Instances 144 97.2973 % Incorrectly Classified Instances 4 2.7027 % Kappa statistic 0.9447
Mean absolute error 0.0608
Root mean squared error 0.1539
Relative absolute error 12.6846 %
Root relative squared error 31.0328 %
Coverage of cases (0.95 level) 99.3243 %
Mean rel region size (0.95 level) 55.0676 %
Total Number of Instances 148
=== Detailed Accuracy By Class ===
Trang 16TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.984 0.035 0.953 0.984 0.968 0.99 republican 0.965 0.016 0.988 0.965 0.976 0.99 democrat Weighted Avg 0.973 0.024 0.973 0.973 0.973 0.99
=== Confusion Matrix ===
a b < classified as
61 1 | a = republican
3 83 | b = democrat
c- Kết quả khi J48 với các thông số thiết đặt như sau(chia dữ liệu thành 2 phần theo tỉ lệ 50%, 50%)
=== Run information ===
Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2
Relation: house-votes-84
Instances: 435
Attributes: 17
Class Name
handicapped-infants
water-project-cost-sharing
adoption-of-the-budget-resolution
physician-fee-freeze
Trang 17el-salvador-aid
religious-groups-in-schools
anti-satellite-test-ban
aid-to-nicaraguan-contras
mx-missile
immigration
synfuels-corporation-cutback
education-spending
superfund-right-to-sue
crime
duty-free-exports
export-administration-act-south-africa
Test mode: split 50.0% train, remainder test
=== Classifier model (full training set) ===
J48 pruned tree
-physician-fee-freeze = y
| synfuels-corporation-cutback = n: republican (145.71/4.0)
| synfuels-corporation-cutback = y
| | mx-missile = n
| | | adoption-of-the-budget-resolution = n: republican (22.61/3.32)
Trang 18| | | adoption-of-the-budget-resolution = y
| | | | anti-satellite-test-ban = n: democrat (5.04/0.02)
| | | | anti-satellite-test-ban = y: republican (2.21)
| | mx-missile = y: democrat (6.03/1.03)
physician-fee-freeze = n: democrat (253.41/3.75)
Number of Leaves : 6
Size of the tree : 11
Time taken to build model: 0.01 seconds
=== Evaluation on test split ===
=== Summary ===
Correctly Classified Instances 211 97.235 % Incorrectly Classified Instances 6 2.765 % Kappa statistic 0.9427
Mean absolute error 0.0696
Root mean squared error 0.1533
Relative absolute error 14.6595 %
Root relative squared error 31.2338 %
Coverage of cases (0.95 level) 99.5392 %
Trang 19Mean rel region size (0.95 level) 56.2212 %
Total Number of Instances 217
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.977 0.031 0.955 0.977 0.966 0.991 republican 0.969 0.023 0.984 0.969 0.977 0.991 democrat Weighted Avg 0.972 0.026 0.973 0.972 0.972 0.991
=== Confusion Matrix ===
a b < classified as
85 2 | a = republican
4 126 | b = democrat