Đề tài tìm hiểu thuật toán id3 trong xây dựng cây quyết định và khai thác bằng phần mềm weka để phân lớp dữ liệ

23 3 0
Đề tài tìm hiểu thuật toán id3 trong xây dựng cây quyết định và khai thác bằng phần mềm weka để phân lớp dữ liệ

Đ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

Trang 1 TRƯỜNG ĐẠI HỌC KHOA HỌCKHOA CÔNG NGHỆ THÔNG TIN HỌ VÀ TÊN SINH VIÊN: PHAN MINH PHƯỚCMÃ SINH VIÊN: 18T1021245 TÊN HỌC PHẦN : THỰC TẬP VIẾT NIÊN LUẬN ĐỀ TÀI: Tìm hiểu thuật toán ID

TRƯỜNG ĐẠI HỌC KHOA HỌC KHOA CÔNG NGHỆ THÔNG TIN HỌ VÀ TÊN SINH VIÊN: PHAN MINH PHƯỚC MÃ SINH VIÊN: 18T1021245 TÊN HỌC PHẦN : THỰC TẬP VIẾT NIÊN LUẬN ĐỀ TÀI: Tìm hiểu thuật tốn ID3 xây dựng định khai thác phần mềm WEKA để phân lớp liệụ Đề tài NCKH GIẢNG VIÊN HƯỚNG DẪN: LÊ MẠNH THẠNH HUẾ, NĂM 2021 TRƯỜNG ĐẠI HỌC KHOA HỌC KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc PHIẾU ĐÁNH GIÁ Học kỳ Năm học 2020-2021 Cán chấm thi Cán chấm thi Nhận xét: Nhận xét: Đề tài NCKH Điểm đánh giá CBChT1: Điểm đánh giá CBChT2: Bằng số: Bằng số: Bằng chữ: Bằng chữ: Điểm kết luận: Bằng số Bằng chữ: (Ký vàCBChT1 ghi rõ họ tên) Thừa Thiên Huế, ngày …… tháng …… năm CBChT2 20… (Ký ghi rõ họ tên) Tìm hiểu thuật toán ID3 xây dựng định khai thác phần mềm WEKA để phân lớp liệu I Tổng quan khai phá liệu: 1.1 Tại lại cần khai phá liệu ? Khoảng thập kỷ trở lại đây, lượng thông tin lưu trữ thiết bị điện tử (đĩa cứng, CD -ROM, băng từ, v.v.) không ngừng tăng lên Sự tích lũy liệu xảy với tốc độ bùng nổ Người ta ước đoán lượng thơng tin tồn cầu tăng gấp đơi sau khoảng hai năm theo số lượng kích cỡ sở liệu (CSDL) tăng lên cách nhanh chóng Nói cách hình ảnh “ngập” liệu lại “đói” tri thức Câu hỏi đặt liệu khai thác từ “núi” liệu tưởng chừng “bỏ đi” không ? “Necessity is the mother of invention”- Data Mining đời hướng giải hữu hiệu cho câu hỏi vừa đặt [] Khá nhiều định nghĩa Data Mining đề cập phần sau, nhiên tạm hiểu Data Mining công nghệ tri thức giúp khai thác thơng tin hữu ích từ kho liệu tích trữ suốt q trình hoạt động cơng ty, tổ chức Đề tài NCKH 1.2 Khai phá liệu ? Định nghĩa: Khai phá liệu tập hợp kỹ thuật sử dụng để tự động khai thác tìm mối quan hệ lẫn liệu tập hợp liệu khổng lồ phức tạp, đồng thời tìm mẫu tiềm ẩn tập liệu 1.3 Các chức khai phá liệu: Data Mining chia nhỏ thành số hướng sau: • Mơ tả khái niệm (concept description): thiên mô tả, tổng hợp tóm tắt khái niệm Ví dụ: tóm tắt văn • Luật kết hợp (association rules): dạng luật biểu diễn tri thứ dạng đơn giản Ví dụ: “60 % nam giới vào siêu thị mua bia có tới 80% số họ mua thêm thịt bị khơ” Luật kết hợp ứng dụng nhiều lĩnh vực kính doanh, y học, tin-sinh, tài & thị trường chứng khốn, v.v • Phân lớp dự đoán (classification & prediction): xếp đối tượng vào lớp biết trước Ví dụ: phân lớp vùng địa lý theo liệu thời tiết Hướng tiếp cận thường sử dụng số kỹ thuật machine learning định (decision tree), mạng nơ ron nhân tạo (neural network), v.v Người ta cịn gọi phân lớp học có giám sát (học có thầy) • Phân cụm (clustering): xếp đối tượng theo cụm (số lượng tên cụm chưa biết trước Người ta gọi phân cụm học khơng giám sát (học khơng thầy) • Khai phá chuỗi (sequential/temporal patterns): tương tự khai phá luật kết hợp có thêm tính thứ tự tính thời gian Hướng tiếp cận ứng dụng nhiều lĩnh vực tài thị trường chứng khốn có tính dự báo cao 1.4 • • • • • • • Ứng dụng khai phá liệu : Phân tích thị trường chứng khốn Phát gian lận Quản lý rủi ro phân tích doanh nghiệp Phân tích giá trị trọn đời khách hàng Điều trị y học (medical treatment) Bảo hiểm (insurance) Nhận dạng (pattern recognition) 1.5 Các kỹ thuật khai phá liệu: • Kỹ thuật phân tích phân loại (Classification Analysis) Kỹ thuật khai phá liệu kỹ thuật phân tích phân loại Đây kỹ thuật cho phép phân loại đối tượng vào lớp cho trước Bạn sử dụng kỹ thuật để phân loại khách hàng, mặt hàng, v.v cách mơ tả nhiều thuộc tính để phân loại đối tượng vào lớp cụ thể Đề tài NCKH Chúng ta thường sử dụng kỹ thuật khai thác liệu để lấy thông tin quan trọng từ liệu siêu liệu Vì vậy, phân tích phân loại, cần áp dụng thuật toán khác tùy thuộc vào mục tiêu sử dụng Ví dụ, Email Outlook sử dụng thuật tốn định để mơ tả email hợp pháp spam Hay doanh nghiệp áp dụng kỹ thuật để phân loại khách hàng theo đối tượng hay độ tuổi • Kỹ thuật Association Rule Learning : Kỹ thuật Association Rule Learning khai phá liệu sử dụng để xác định mối quan hệ biến khác sở liệu Ngồi ra, cịn sử dụng để “giải nén” mẫu ẩn liệu Association Rule hữu ích để kiểm tra, dự đốn hành vi thường áp dụng ngành bán lẻ Thêm vào đó, doanh nghiệp sử dụng kỹ thuật để xác định hành vi mua sắm, phân tích liệu giỏ hàng khách hàng tiềm Trong lĩnh vực Cơng nghệ Thơng tin, lập trình viên sử dụng kỹ thuật để xây dựng chương trình Machine Learning • Kỹ thuật phát bất thường (Anomaly or Outlier Detection): Về bản, kỹ thuật khai phá liệu (Data Mining) dùng để nhấn mạnh vào việc quan sát mục liệu liệu để tìm tập liệu khơng khớp với mẫu dự kiến Bất thường đề cập đến độ lệch, khác thường, nhiễu ngoại lệ Sự bất thường xem quan trọng cung cấp số thơng tin cần thiết Nó liệu khác biệt so với mức trung bình chung tập liệu Điều khác thường xảy nhà phân tích liệu cần ý Kỹ thuật sử dụng nhiều lĩnh vực khác Chẳng hạn phát xâm nhập hay theo dõi sức khỏe • Kỹ thuật phân tích theo cụm (Clustering Analysis): “Cụm” có nghĩa nhóm đối tượng liệu Các đối tượng tương tự nằm cụm Kết đối tượng tương tự nhóm Về bản, kỹ thuật khai phá liệu thường ứng dụng để tạo hồ sơ khách hàng Hoặc lĩnh vực Marketing, xem việc chia phân khúc khách hàng • Kỹ thuật phân tích hồi quy (regression analysis): Theo thuật ngữ thống kê, phân tích hồi quy sử dụng để xác định phân tích mối quan hệ biến Nó giúp bạn hiểu giá trị đặc trưng thay đổi biến phụ thuộc • Kỹ thuật dự báo (prediction): Trong khai phá liệu, kỹ thuật dự báo ứng dụng số trường hợp đặc biệt Nó sử dụng để khám phá mối quan hệ biến độc lập phụ thuộc Chẳng hạn, bạn sử dụng kỹ thuật dự báo cho việc bán hàng để dự đoán lợi nhuận cho tương lai Giả sử, bán hàng biến độc lập, lợi nhuận biến phụ thuộc Khi đó, vẽ đường cong hồi quy để dự đoán lợi nhuận Đề tài NCKH II Cây định : Khái niệm Cây định (Decision Tree) Cây định (Decision Tree) phân cấp có cấu trúc dùng để phân lớp đối tượng dựa vào dãy luật Các thuộc tính đối tượngncó thể thuộc kiểu liệu khác Nhị phân (Binary) , Định danh (Nominal), Thứ tự (Ordinal), Số lượng (Quantitative) thuộc tính phân lớp phải có kiểu liệu Binary Ordinal Tóm lại, cho liệu đối tượng gồm thuộc tính với lớp (classes) nó, định sinh luật để dự đoán lớp liệu chưa biết Ta xét ví dụ kinh điển khác định Giả sử dựa theo thời tiết mà bạn nam định đá bóng hay khơng? • • • Những đặc điểm ban đầu là: Thời tiết Độ ẩm Gió Dựa vào thơng tin trên, bạn xây dựng mơ sau: Đề tài NCKH định Mơ hình Dựa theo mơ hình trên, ta thấy: Nếu trời nắng, độ ẩm bình thường khả bạn nam chơi bóng cao Cịn trời nắng, độ ẩm cao khả bạn nam khơng chơi bóng Entropy Cây định (Decision Tree) Entropylà thuật ngữ thuộc Nhiệt động lực học, thước đo biến đổi, hỗn loạn ngẫu nhiên Năm 1948, Shannon mở rộng khái niệm Entropy sang lĩnh vực nghiên cứu, thống kê với công thức sau: Với phân phối xác suất biến rời rạc x nhận n giá trị khác x1,x2,…,xn Giả sử xác suất để x nhận giá trị pi=p(x=xi) Ký hiệu phân phối p=(p1 ,p2 ,…,pn) Entropy phân phối định nghĩa là: H(p)= – ∑nn=1 pi log(pi) Giả sử bạn tung đồng xu, Entropy tính sau: H = -[0.5 ln(0.5) + 0.5 ln(0.5)] Đề tài NCKH Hàm Entropy • • Hình vẽ biểu diễn thay đổi hàm Entropy Ta thấy rằng, Entropyđạt tối đa xác suất xảy hai lớp P tinh khiết: pi = pi = P vẩn đục: pi = 0.5, hàm Entropy đạt đỉnh cao Information Gain Cây định (Decision Tree) Information Gain dựa giảm hàm Entropy tập liệu phân chia thuộc tính Để xây dựng định, ta phải tìm tất thuộc tính trả Infomation gain cao Để xác định nút mơ hình định, ta thực tính Infomation Gain nút theo trình tự sau: •Bước 1: Tính tốn hệ số Entropycủa biến mục tiêu S có N phần tử với Nc phần tử thuộc lớp c cho trước: H(S)= – ∑cc=1 (Nc/N) log(Nc/N) •Bước 2: Tính hàm số Entropy thuộc tính: với thuộc tính x, điểm liệu S chia K child node S1, S2, …, SK với số điểm child node m1, m2 ,…, mK , ta có: H(x, S) = ∑Kk=1 (mk / N) * H(Sk ) Bước 3: Chỉ số Gain Information tính bằng: Đề tài NCKH G(x, S) = H(S) – H(x,S) Với ví dụ trên, ta tính hệ số Entropy sau: EntropyParent = -(0.57*ln(0.57) + 0.43*ln(0.43)) = 0.68 Hệ số Entropytheo phương pháp chia thứ nhất: Entropyleft = -(.75*ln(0.75) + 0.25*ln(0.25)) = 0.56 Entropyright = -(.33*ln(0.33) + 0.67*ln(0.67)) = 0.63 Ta tính hệ số Information Gain sau: Information Gain = 0.68 – (4*0.56 + 3*0.63)/7 = 0.09 Hệ số Entropyvới phương pháp chia thứ hai sau: Entropyleft = -(.67*ln(0.67) + 0.33*ln(0.33)) = 0.63 Entropymiddle = -(.5*ln(0.5) + 0.5*ln(0.5)) = 0.69 Entropyright = -(.5*ln(0.5) + 0.5*ln(0.5)) = 0.69 Hệ số Information Gain: Information Gain = 0.68 – (3*0.63 + 2*0.69 + 2*0.69)/7 = 0.02 So sánh kết quả, ta thấy chia theo phương pháp ta giá trị hệ số Information Gain lớn gấp lần so với phương pháp Như vậy, giá trị thông tin ta thu theo phương pháp nhiều phương pháp Thuật toán C4.5 Thuật toán C4.5 thuật toán cải tiến ID3 Trong thuật toán ID3, Information Gain sử dụng làm độ đo Tuy nhiên, phương pháp lại ưu tiên thuộc tính có số lượng lớn giá trị mà xét tới giá trị nhỏ Do vậy, để khắc phục nhược điểm trên, ta sử dụng độ đo Gain Ratio (trong thuật toán C4.5) sau: Đầu tiên, ta chuẩn hoá information gain với trị thông tin phân tách (split information): Trong đó: Split Info tính sau: Đề tài NCKH Giả sử phân chia biến thành n nút cón Di đại diện cho số lượng ghi thuộc nút Do đó, hệ số Gain Ratio xem xét xu hướng phân phối chia Áp dụng cho ví dụ với cách chia thứ nhất, ta có Split Info = – ((4/7)*log2(4/7)) – ((3/7)*log2(3/7)) = 0.98 Gain Ratio = 0.09/0.98 = 0.092 Tiêu chuẩn dừng Trong thuật toán Decision tree, với phương pháp chia trên, ta chia node chưa tinh khiết Như vậy, ta thu tree mà điểm tập huấn luyện dự đốn (giả sử khơng có hai input giống cho output khác nhau) Khi đó, phức tạp (nhiều node) với nhiều leaf node có vài điểm liệu Như vậy, nhiều khả overfitting xảy • • • • • Để tránh trường họp này, ta dừng theo số phương pháp sau đây: node có entropy 0, tức điểm node thuộc class node có số phần tử nhỏ ngưỡng Trong trường hợp này, ta chấp nhận có số điểm bị phân lớp sai để tránh overfitting Class cho leaf node xác định dựa class chiếm đa số node khoảng cách từ node đến root node đạt tới giá trị Việc hạn chế chiều sâu tree làm giảm độ phức tạp tree phần giúp tránh overfitting tổng số leaf node vượt ngưỡng việc phân chia node không làm giảm entropy nhiều (information gain nhỏ ngưỡng đó) Ngồi ra, ta cịn có phương pháp cắt tỉa Một số thuật tốn khác • • • • Ngồi ID3, C4.5, ta cịn số thuật toán khác như: Thuật toán CHAID: tạo định cách sử dụng thống kê chi-square để xác định phân tách tối ưu Các biến mục tiêu đầu vào số (liên tục) phân loại Thuật toán C&R: sử dụng phân vùng đệ quy để chia Tham biến mục tiêu dạng số phân loại MARS Conditional Inference Trees Đề tài NCKH Ưu/nhược điểm thuật toán định Ưu điểm • • • • • Cây định thuật toán đơn giản phổ biến Thuật toán sử dụng rộng rãi bới lợi ích nó: Mơ hình sinh quy tắc dễ hiểu cho người đọc, tạo luật với nhánh luật Dữ liệu đầu vào là liệu missing, khơng cần chuẩn hóa tạo biến giả Có thể làm việc với liệu số liệu phân loại Có thể xác thực mơ hình cách sử dụng kiểm tra thống kê Có khả việc với liệu lớn Nhược điểm • • Kèm với đó, định có nhược điểm cụ thể: Mơ hình định phụ thuộc lớn vào liệu bạn Thạm chí, với thay đổi nhỏ liệu, cấu trúc mô hình định thay đổi hồn tồn Cây định hay gặp vấn đề overfitting III Thuật toán ID3: Giải thuật ID3 (gọi tắt ID3) Được phát triển đồng thời Quinlan AI Breiman, Friedman, Olsen Stone thống kê ID3 giải thuật học đơn giản tỏ thành công nhiều lĩnh vực ID3 giải thuật hay cách biểu diễn tri thức học nó, tiếp cận việc quản lý tính phức tạp, heuristic dùng cho việc chọn lựa khái niệm ứng viên, tiềm việc xử lý liệu nhiễu ID3 biểu diễn khái niệm (concept) dạng định (decision tree) Biểu diễn cho phép xác định phân loại đối tượng cách kiểm tra giá trị số thuộc tính Đề tài NCKH Như vậy, nhiệm vụ giải thuật ID3 học định từ tập ví dụ rèn luyện (training example) hay gọi liệu rèn luyện (training data) Input: Một tập hợp ví dụ Mỗi ví dụ bao gồm thuộc tính mơ tả tình huống, hay đối tượng đó, giá trị phân loại Output: Cây định có khả phân loại đắn ví dụ tập liệu rèn luyện, hy vọng phân loại cho ví dụ chưa gặp tương lai Giải thuật ID3 xây dựng định trình bày sau: Lặp: Chọn A weka -> classicfiers-> tree -> j48 -ấn start Cửa sổ bên phải thông tin sau : === Run information === Scheme: weka.classifiers.trees.J48 -C 0.25 -M Relation: Book1 Instances: 14 Attributes: outlook temperature humidity windy play Test mode: 10-fold cross-validation === Classifier model (full training set) === J48 pruned tree -outlook = sunny | humidity 75: dontplay (3.0) outlook = overcast: play (4.0) outlook = rain | windy = FALSE: play (3.0) | windy = TRUE: dontplay (2.0) Number of Leaves : Size of the tree : Time taken to build model: 0.01 seconds === Stratified cross-validation === === Summary === Correctly Classified Instances 64.2857 % Incorrectly Classified Instances 35.7143 % Kappa statistic 0.186 Mean absolute error 0.2857 Root mean squared error 0.4818 Relative absolute error 60 % Root relative squared error 97.6586 % Total Number of Instances 14 Đề tài NCKH === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure 0.400 0.222 0.500 0.400 0.444 0.189 0.778 0.600 0.700 0.778 0.737 0.189 Weighted Avg 0.643 0.465 0.629 0.643 0.632 MCC ROC Area PRC Area Class 0.789 0.738 dontplay 0.789 0.847 play 0.189 0.789 0.808 === Confusion Matrix === a b < classified as | a = dontplay | b = play - phần bên trái mục result list click chuột phải vào “trees.j48” chọn visualize trees phần mềm định : Đề tài NCKH VẬN DỤNG THỰC TẾ VỀ KHẢ NĂNG CÓ VIỆC LÀM CỦA SINH VIÊN NGÀNH CNTT SAU KHI RA TRƯỜNG -Ta có bảng liệu sau : nganh M C C K C K M M K C M M K C M K C M M C C K K K M C M M M K C K K M M C C Tienganh D B B C D C C D B B B C D D D C B B B D C D B D C B D C B B C D D D B C D kynang T K T K K K T T T K T T K K T K K K T T T K K K K T K T K T K K K T T K T hocluc TB G K G K TB TB G G K TB G K G G G K TB K G K TB K TB K K G G G K K TB TB K K TB K laptrinh T K T T T K T K K K T K K T T K T K T T T K K T T K K K K T T K T K K K T KQ co khong co khong co khong co co khong co co khong co co co co khong khong khong co co khong co khong co khong co khong co khong khong khong co co co khong co Đề tài NCKH C K C D C B K K K TB K K T T T co co khong Tương tự toán golf , ta lưu liệu dạng csv , mở phần mềm weka ,tuy nhiên STT khơng phải thuộc tính liệu nên tab preprocess ta đánh tick vào ô STT ấn remove Tiếp tục thực bước ta : Đề tài NCKH Để xây dựng tập luật , chọn tab associate, ấn choose chọn thuật toán apriori Để nguyên tham số mặc định sau :

Ngày đăng: 30/01/2024, 09:50

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

Tài liệu liên quan