Tiểu luận khai phá dữ liệu: Sử dụng phần mềm weka khai phá bộ dữ liệu Adult với thuật toán phân lớp

18 3.3K 14
Tiểu luận khai phá dữ liệu: Sử dụng phần mềm weka khai phá bộ dữ liệu Adult  với thuật toán phân lớp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phần I: Mô tả bài toán Cho cơ sử dữ liệu Adult là tập hợp bản ghi thực hiện bởi Barry Becker từ cuộc tổng điều tra dân số năm 1994. Tập hợp các bản ghi sạch được chiết xuất dựa trên các điều kiện sau đây (AGI>100) && (AFNLWGT>1)&& (HRSWK>0). Mục đích là dự đoán nhiệm vụ để xác định xem một người làm hơn 50.000 một năm. Bài toán dựa trên số liệu thống kê của 32561 người lớn và 15 thuộc tính. Em xin chọn thuật toán phân lớp để thực hiện cho bộ dữ liệu này. Phần II: Trích chọn thuộc tính 1. Ý nghĩa và các phương pháp trích chọn đặc tính: Trích chọn thuộc tính (Feature Selection, Feature Extraction) là nhiệm vụ rất quan trọng giai đoạn tiền xử lý dữ liệu khi triển khai các mô hình khai phá dữ liệu. Một vấn đề gặp phải là các dataset dùng để xây dựng các Data mining Models thường chứa nhiều thông tin không cần thiết (thậm chí gây nhiễu) cho việc xây dựng mô hình. Chẳn hạn, một dataset gồm hàng trăm thuộc tính dùng để mô tả về khách hàng của một doanh nghiệp được thu thập, 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 khách hàng để 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: 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

BÁO CÁO MÔN HỌC KHAI PHÁ DỮ LIỆU Đề tài: Sử dụng phần mềm weka khai phá bộ dữ liệu Adult với thuật toán phân lớp Giảng viên hướng dẫn: Hồ Nhật Quang Học viên thực hiện: Nguyễn Anh Tuấn(88) Phần I: Mô tả bài toán Cho cơ sử dữ liệu Adult là tập hợp bản ghi thực hiện bởi Barry Becker từ cuộc tổng điều tra dân số năm 1994. Tập hợp các bản ghi sạch được chiết xuất dựa trên các điều kiện sau đây (AGI>100) && (AFNLWGT>1)&& (HRSWK>0). Mục đích là dự đoán nhiệm vụ để xác định xem một người làm hơn 50.000 một năm. Bài toán dựa trên số liệu thống kê của 32561 người lớn và 15 thuộc tính. Em xin chọn thuật toán phân lớp để thực hiện cho bộ dữ liệu này. Phần II: Trích chọn thuộc tính 1. Ý nghĩa và các phương pháp trích chọn đặc tính: Trích chọn thuộc tính (Feature Selection, Feature Extraction) là nhiệm vụ rất quan trọng giai đoạn tiền xử lý dữ liệu khi triển khai các mô hình khai phá dữ liệu. Một vấn đề gặp phải là các dataset dùng để xây dựng các Data mining Models thường chứa nhiều thông tin không cần thiết (thậm chí gây nhiễu) cho việc xây dựng mô hình. Chẳn hạn, một dataset gồm hàng trăm thuộc tính dùng để mô tả về khách hàng của một doanh nghiệp được thu thập, 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 khách hàng để 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: 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 2. 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: o 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,… o 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 cở sở dữ liệu adult.csv cho ta kết quả như sau: Chọn Tab “Select attributes”. Trong mục Attribute Evaluator chọn WrapperSubsetEval. Trong mục classifier chọn NaiveBayes - Trong mục Search Method chọn GredySteepWise, và làm như sau: - Bấm Start để thực hiện, ta được kết quả như sau: Vậy trong data này có 11/15 thuộc tính được chọn là: age workclass education education-num marital-status occupation relationship sex capital-gain hours-per-week native-country Các thuộc tính bị loại bỏ là fnlwgt, capital-loss,class,race Đánh trọng số các thuộc tính sử dụng Cross Validation Sử dụng phương pháp trích chọn thuộc tính như trên ta thu được tập các thuộc tính tối ưu thay cho tập thuộc tính ban đầu. Nhưng ta biết rằng, kết quả của việc chọn thuộc tính phụ thuộc rất lớn vào training dataset. Nếu sử dụng một dataset khác có thể thu được tập thuộc tính khác và có khi các kết quả rất khác nhau. Để khắc phục hạn chế này, Weka cho phép sử dụng kỹ thuật Cross validation để đánh trọng số các thuộc tính tùy thuộc vào số lần xuất hiện của chúng trong toàn bộ quá trình Training Model. Để thực hiện đánh trọng số các thuộc tính sử dụng Cross validation, ta chọn ATTRIBUTE SELECTION MODE = CROSS-VALIDATION (FOLDS = 10) và bấm nút Start để thực hiện: Sử dụng Cross- validation, ta có tập thuộc tính tối ưu là age, workclass,education, education-num, marital-status, occupation, relationship, race, capital-gain, hours-per-week (xuất hiện 10 lần), native-country ( xuất hiện 9 lần), sex(xuất hiện 7 lần), fnlwgt(xuất hiện 2 lần) Xếp hạng các thuộc tính (Ranking attributes) Weka cho phép xếp hạng các thuộc tính, theo phương pháp tìm kiếm backward (backward search) thì những thuộc tính ít quan trọng sẽ được loại bỏ ra khỏi tập thuộc tính trước và thuộc tính quan trọng nhất sẽ được loại bỏ sau cùng. Weka xếp hạng cho mỗi thuộc tính theo cách này. Để thực hiện xếp hạng các thuộc tính, trong mục SEARCH METHOD, đặt GENERATE RANKING = TRUE. Chạy start cho ta kết quả: . Chẳn hạn, một dataset gồm hàng trăm thuộc tính dùng để mô tả về khách hàng của một doanh nghiệp được thu thập, tuy nhiên khi xây dựng một Data mining model. khai các mô hình khai phá dữ liệu. Một vấn đề gặp phải là các dataset dùng để xây dựng các Data mining Models thường chứa nhiều thông tin không cần thiết (thậm

Ngày đăng: 13/12/2013, 11:08

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan