1. Trang chủ
  2. » Công Nghệ Thông Tin

phân lớp dựa vào cây quyết định giải thuật ID3

28 1,3K 15

Đ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

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 1,79 MB

Nội dung

Đây là tài liệu mình tự viết, rất dễ hiểu trong môn kho dữ liệu và các phương pháp khai phá, các ví dụ tự đưa ra và hướng dẫn giải rất dễ hiểu, ngoài ra còn áp dụng phần mềm weka để ứng dụng thuật toán id3 tìm ra cây quyết định

v TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN MÔN: KHO DỮ LIỆU VÀ CÁC PHƯƠNG PHÁP KHAI PHÁ Đề tài: Phân lớp dựa định: giải thuật ID3 GV hướng dẫn: TS Nguyễn Mạnh Cường Lớp: CĐ-ĐH Khoa Học Máy Tính 1_K10 Nhóm 8: Thân Quang Định Lương Phương Đơng Nguyễn Trung Đức Hà Nội, 2017 Chương TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 Giới thiệu khai phá liệu 1.1.1 Khái niệm khai phá liệu Khai phá liệu (datamining) định nghĩa trình chắt lọc hay khai phá tri thức từ lượng lớn liệu Một ví dụ hay sử dụng việc khai thác vàng từ đá cát, Datamining ví cơng việc “Đãi cát tìm vàng” tập hợp lớn liệu cho trước Thuật ngữ Datamining ám việc tìm kiếm tập hợp nhỏ có giá trụ từ số lượng lớn liệu thơ Có nhiều thuật ngữ dùng có nghĩa tương tự với từ Datamining Knowledge Mining (Khai phá tri thức), Knowledge extraction (Chắt lọc tri thức), data/partern analysis (phân tích liệu/mẫu), data archaeoloogy (khảo cổ liệu),… Định nghĩa: khai phá liệu trình xác định mẫu tiềm ẩn có tính hợp lệ, lạ có ích hiểu khối liệu lớn Khai phá liệu bước bảy bước trình KDD (knowleadge Discovery in Database) KDD xem trình khác theo thứ tự sau : Làm liệu (data cleaning & preprocessing): Loại bỏ nhiễu liệu khơng cần thiết Tích hợp liệu (data integration): trình hợp liệu thành kho liệu (data warehouse & data marts) sau làm tiền xử lý liệu (data cleaning & preprocessing) Trích chọn liệu (data selection): trích chọn liệu từ kho liệu sau chuyển đổi dạng thích hợp cho q trình khai thác tri thức Quá trình bao gồm việc xử lý vơi liệu nhiễu (noisy data), liệu không đầy đủ (incomplete data),… Chuyển đổi liệu : Các liệu chuyển sang dạng phù hợp cho trình xử lý Khai phá liệu (data mining) Là bước quan trọng nhất, sử dụng phương pháp thơng minh để chắt lọc mẫu liệu Ước lượng mẫu (knowledge evaluation) Quá trình đánh giá kết tìm thơng qua độ đo Page Biểu diễn tri thức (knowledge presentation): Quá trình sử dụng kỹ thuật để biểu diễn thể trực quan cho người dùng Hình Các bước datamining & KDD 1.1.2 Một số ứng dụng khai phá liệu Data Mining hướng tiếp cận thu hút nhiều quan tâm nhà nghiên cứu phát triển nhờ vào ứng dụng thực tiễn Chúng ta liệt kê số ứng dụng điển hình: • Tài chính: phân tích thẻ tín dụng, dự báo chứng khốn… • Bảo hiểm: phân tích khiếu nạn, gian lận… • Trong sinh học: Dùng để tìm kiếm, so sánh hệ gen thơng tin di truyền, tìm mối liên hệ hệ gen chuẩn đoán số bệnh di truyền • Viễn thơng: phân tích ghi gọi, hệ thống giám sát lỗi, cố, chất lượng dịch vụ… • Giao thơng: quản lý giao vận, hậu cần,… • Y tế, chăm sóc sức khỏe: phân tích hiệu điều trị, dự báo phân tích DNA,… • Giáo dục: phân tích thị trường giáo dục, quản lý chất lượng… • Sản xuất: dự đốn bảo trì, phát lỗi, lập lịch, hỗ trợ định Page • Thị trường, tiếp thị: phân tích, dự báo thị trường, tiếp thị lan truyền… • Nghiên cứu khoa học: ảnh, video, âm thanh… • Tiện tích: phân tích, dự báo lượng sử dụng… • Text mining Web mining: phân lớp văn trang Web, tóm tắt văn bản… 1.1.3 Một số thách thức hàng đầu khai phá liệu Phát triển lý thuyết thống cho khai phá liệu Xử lý liệu với số chiều cao dòng liệu tốc độ cao Khai phá liệu liệu chuỗi thời gian Khai phá tri thức hợp từ liệu phức hợp Khai phá liệu cấu hình mạng Khai phá liệu phân tán, liệu đa tác tử Khai phá liệu sinh học vấn đề mơi trường Các tốn liên quan đến quy trình khai phá liệu An ninh, bảo mật toàn vẹn liệu 10 Khai phá liệu khơng tĩnh, khơng cân bằng, chi phí lớn 1.2 Một số toán khai phá liệu 1.2.1 Bài toán khai phá luật kết hợp Mục tiêu phương pháp phát đưa mối liên hệ giá trị liệu sở liệu Đầu giải thuật luật kết hợp tập luật kết hợp tìm Phương pháp khai phá luật kết hợp gồm có hai bước: Bước 1: Tìm tất tập mục phổ biến Một tập mục phổ biến xác định thông qua tính độ hỗ trợ (support) thỏa mãn độ hỗ trợ tối thiểu (minimum support) Bước 2: Sinh luật kết hợp mạnh từ tập mục phổ biến, luật mạnh phải thỏa mãn độ hỗ trợ tối thiểu (minimum support – minsup) độ tin cậy tối thiểu (minimum confidence - minconf) 1.2.2 Bài toán phân lớp Phân lớp kỹ thuật nhằm gán (đưa dự báo) nhãn lớp (class – label) cho đối tượng liệu chưa có nhãn lớp Gồm hai bước: Page Bước 1: Huấn luyện Training set Classifier (Dữ liệu huấn luyện) ( Bộ phân lớp) Bước 2: sử dụng mơ hình để phân lớp Test set Classifier Results Dữ liệu cần huấn luyện ( Bộ phân lớp) Kết Phân lớp liệu tiến trình có bước 1.2.3 Bài toán phân cụm Phân cụm liệu cách phân bố đối tượng liệu vào nhóm/ cụm cho: Các đối tượng cụm giống phần tử khác cụm Page Chương PHÂN LỚP DỰA TRÊN CÂY QUYẾT ĐỊNH VỚI GIẢI THUẬT ID3 2.1 Cây định 2.1.1 Định nghĩa định Cây định cấu trúc biểu diễn dạng Trong đó, node (internal node) biểu diễn thuộc tính, nhánh (branch) biểu diễn giá trị có thuộc tính, (leaf node) biểu diễn lớp định đỉnh gọi gốc (root) Hình Biểu diễn định Trong lĩnh vực học máy, định kiểu mơ hình dự báo (predictive model), nghĩa ánh xạ từ quan sát vật/ tượng tới kết luận giá trị mục tiêu vật/ tượng Mỗi nút (intarnal node) tương ứng với biến, đường nối với nút thể giá trị cụ thể cho biến Mỗi nút đại diện cho giá trị dự đoán biến mục tiêu, cho trước giá trị dự đoán biến biểu diễn đường từ nút gốc tới nút Kỹ thuật học máy dùng định gọi học định, hay gọi với tên ngắn gọn định Ví dụ: Một người có chơi tennis hay khơng? Page Hình3 Cây định cho việc chơi tennis 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 (series of rules) Các thuộc tính đối tượng (ngoại trừ thuộc tính phân lớp – Category attribute) thuộc kiểu liệu khác (Binary, Nominal, Ordinal, Quantitative values) 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 đối tượng chưa biết 2.1.2 Biểu diễn định Cây định phân lớp trường hợp cụ thể cách đặt chúng từ xuống nút gốc xuống nút lá: 2.1.3 • Mỗi nút ứng với thuộc tính • Mỗi cạnh biểu diễn kết phép kiểm tra thuộc tính • Mỗi nút biểu diễn giá trị nhãn lớp • Nút cao nút gốc Các bước xây dựng định Có nhiều thuật tốn khác để xây dựng định như: CLS, ID3, C4.5, SPRINT, C5.0… Nhưng nói chung q trình xây dựng định chia làm giai đoạn bản: Page  Xây dựng cây: Thực chia cách đệ quy tập mẫu liệu huấn luyện mẫu nút thuộc lớp  Cắt tỉa cây: Là việc làm dùng để tối ưu hóa Cắt tỉa việc trộn vào nút  Đánh giá cây: Dùng để đánh giá độ xác kết Tiêu chí đánh giá tổng số mẫu phân lớp xác tổng số mẫu đưa vào 2.2 Thuật toán ID3 2.2.1 Lịch sử phát triển Thuật toán ID3 phát biểu Quiland (Trường Đại học Syney, Australia) công bố vào cuối thập niên 70 kỷ 20 Sau đó, thuật tốn ID3 giới thiệu trình bày mục Induction on decision trees, Machine Learning năm 1986 ID3 xem cải tiến thuật toán CLS (CLS Hovland Hint giới thiệu Concept Learning System vào năm 50 kỷ 20) với khả lựa chọn thuộc tính tốt để tiếp tục triển khai tạo bước ID3 xây dựng định từ – xuống (top – down) 2.2.2 Giải thuật ID3 a Entropy: Đặc trưng cho độ hỗn tạp (tinh khiết) tập liệu Trong đó: S tập mẫu thuộc lớp dương lớp âm tỷ lệ mẫu thuộc lớp âm S tỷ lệ mẫu thuộc lớp dương S   Entropy tập S ký hiệu IE(S) Công thức tổng quát:   Entropy tất thành viên S thuộc lớp Entropy tập hợp chứa số lượng thành viên thuộc lớp dương lớp âm Nếu số khác nhau, entropy nằm  Tập hạn chế: cho S tập mẫu liệu huấn luyện Tập hạn chế S, ký hiệu SA = v xác định sau :  Ta ký hiệu SA=v là: Sv b Information Gain: Đo độ quan trọng thuộc tính Page Trong đó: A: thuộc tính S: tập giá trị liệu Value(A): tập giá trị khác A Sv: tập chứa giá trị v S Trong trình xây dựng định theo thuật tốn ID3 bước triển khai cây, thuộc tính chọn để triển khai thuộc tính có giá trị Gain lớn Ví dụ: cho bảng liệu huấn luyện S, sinh định giải thuật ID3 Bước Tính IE(S) = -(3/8)log2(3/8) – (5/8)log2(5/8)= ~ 0.954 Bước 2: Tính IG cho thuộc tính: IG (vóc dáng) V ϵ { nhỏ, lớn}; Gain (S, Vóc dáng)= IG (S, Vóc dáng)= 0.954 - (0.5*1+0.811*0.5)=0.049 Tương tự ta tính được: IG (Quốc tịch)= 0.204 ; IG (Gia cảnh)= 0.347; giá trị IG cao chọn làm nút gốc Page Bước 3: Tạo nút gốc cho cây, thuộc tính nút gốc Gia cảnh Hình Tạo nút gốc gia cảnh Bước 4: Loại bỏ thuộc tính gia cảnh tạo bảng liệu Tính lại IE (Sgia cảnh) = -2/5log22/5- 3/5log23/5= 0.971 Tính IG (vóc dáng)= 0.971- (2/5*1+3/5*0.981)=0.020 Tính IG (Quốc tịch)= 0.971-(2/5*0+1/5*0+2/5*0)= 0.971 Page 10 Bước 4: tạo bảng liệu Tuổi Thu nhập Sinh viên Đánh giá độ tín nhiệm (trong tín dụng mua chịu) Thanh niên Cao Khơng Trung bình Khơng Thanh niên Cao Khơng Tốt Khơng Già Trung bình Khơng Trung bình Có Già Thấp Có Trung bình Có Già Thấp Có Tốt Khơng Thanh niên Trung bình Khơng Trung bình Khơng Thanh niên Thấp Có Trung bình Có Già Trung bình Có Trung bình Có Thanh niên Trung bình Có Tốt Có Già Trung bình Khơng Tốt khơng Mua máy tính Bước 5: lặp lại step 2-4 • Xét nhánh Thanh niên: Gain lớn nhánh Thanh niên Tuổi Page 14 Thanh niên Có Già có Sinh viên Có Trung niên khơng khơng • Xét nhánh Già Gain lớn nhánh “Già” lấy thuộc tính độ tin cậy làm nút để phân chia Tuổi Thanh niên Có Già có Sinh viên Có Trung niên khơng Khơng Độ tin cậy Trung bình Có Tốt Khơng  Luật rút từ định  Luật 1: If (Tuổi= Thanh niên) and (Sinh viên = Có) Then (Mua máy tính = Có) Page 15 Luật 2: If (Tuổi= Thanh niên) and (Sinh viên = không) Then (Mua máy tính = Khơng)  Luật 3: If (Tuổi= Trung niên) Then (Mua máy tính = Có)  Luật 4: If (Tuổi= Già) and (Độ tin cậy = Tốt) Then (Mua máy tính = Có)  Luật 5: If (Tuổi= Già) and (Độ tin cậy = Trung bình) Then (Mua máy tính = Khơng)  Step 2: Sử dụng định để phân lớp đối tượng Thanh niên Thấp Không Tốt Dựa vào định trên, liệu cần phân lớp phân vào lớp “Không” Luật rút từ định: If (Tuổi= Thanh niên) and (Sinh viên = Không) Then (Mua máy tính = Khơng) 2.2.4 Ưu điểm, nhược điểm thuật tốn ID3 Ưu điểm - Sử dụng thuật tìm kiếm leo đồi (Hill -climbing) dựa giá trị Gain để tìm kiếm thuộc tính tồn định - Đầu (Output) giả thuyết đơn (1 kết nhất) - Sử dụng liệu huấn luyện bước, trái ngược với thuật giải phát triển mở rộng định (có thể hạn chế kích thước khơng q lớn) - Sử dụng thuộc tính tĩnh: hạn chế tối đa lỗi cho ghi liệu riêng lẻ, ảnh hưởng tới tồn dự án - Kiểm soát liệu rác, liệu tạp bên cách giảm bớt yêu cầu tiêu chuẩn cho việc chấp nhận liệu chưa hoàn chỉnh  Nhược điểm - Khơng xử lý thuộc tính có kiểu giá trị liên tục (kiểu số thực) - Khơng thích ứng với tập liệu phức tạp (dễ phát sinh lỗi) - Không hiệu xuất liệu không mong muốn - Cây định sinh lớn, rườm rà, chưa tối ưu mức tối đa - Khơng có khả xử lý ví dụ học thiếu giá trị thuộc tính  Page 16 Chương MƠ PHỎNG THUẬT TOÁN ID3 TRÊN WEKA 3.1 Giới thiệu weka 3.1.1 giới thiệu weka Weka phát triển trường Đại học Waikato tên viết tắt Waikato Environment for Knowledge Analysis, hệ thống viết ngơn ngữ Java Nó cung cấp giao diện thống với nhiều thuật toán khác nhau, với phương pháp cho việc xử lý trước, xử lý sau dành cho việc đánh giá kết sơ đồ học tập liệu cho trước Giao diện phần mềm weka Page 17 3.1.2 Các chức weka, liệu weka  Explorer: Môi trường cho phép sử dụng tất khả weka để khám phá liệu : - Tiền xử lý liệu - Khai thác luật kết hợp - Phân lớp - Gom nhóm Hình Giao diện Explorer Experimenter: Cho phép người dùng thực tập ứng dụng phân lớp kĩ thuật hồi quy, với cơng việc có giá trị, phương pháp tham số tốt cho vấn đề cho Cho phép bạn tự động hóa xử lý, làm cho phân lớp lọc dễ dàng với cách thiết lập tham số khác toàn bảng liệu Page 18 Hình Giao diện Experimenter Kết nối thơng tin: ArffViewer: ứng dụng trình bày nội dung tập dạng *.ARFF thành bảng liệu  SqlViewer: cho phép kết nối với sở liệu (Mysql, PostGre…) truy vấn để lấy thơng tin  Hình Giao diện Tools Biểu diễn trực quan: weka hỗ trợ người dùng biểu diễn trực quan liệu qua dạng biểu đồ thông dụng: biểu đồ trục, đồ thị, biểu đồ cây… Page 19 Hình Giao diện Visualize Dữ liệu weka tập tin văn (text) có *.ARFF, gồm thành phần: Header: chứa khai báo quan hệ, danh sách thuộc tính (tên, kiểu liệu) • Data: gồm nhiều dịng, dịng thể giá trị thuộc tính cho mẫu • 3.1.3 Mơi trường weka (Explorer) Preprocess: Tiền xử lý liệu hiển thị liệu xét    Tập liệu: tên, số mẫu, số thuộc tính Các thuộc tính: tên, kiểu liệu, giá trị thuộc tính, tỷ lệ % Biểu đồ minh họa thơng tin Page 20 Hình Giao diện tiền xử lý liệu Explorer Classify: phân lớp cung cấp nhiều thuật tốn gom thành nhóm dựa sở lý thuyết chức năng, Bayes, Cây định (Id3, C45,J48)… Hình Giao diện mục phân lớp Explorer Page 21 Associate: Khai thác luật kết hợp, cung cấp thuật toán: Apriori, PredictiveApriori (là cải tiến thuật tốn Apriori) Hình 10 Giao diện mục khai thác luật kết hợp Cluster: Phân cụm, cung cấp thuật tốn Kmean, EM, DBSCan… Page 22 Hình 11 Giao diện mục phân cụm 3.2 Chuẩn bị liệu cách thực weka Chuẩn bị liệu có tên “Shape.Arff” thư mục weka ngồi hình Desktop • Cách thực weka với Explorer - Tại giao diện weka chọn Explorer →giao diện Explorer xuất - Trong tab Preprocess →Open file, chọn tới đường dẫn chưá thư mục “Shape.Arff” - Chọn tab Classify → chọn ID3 → Start • Cách thực weka với KnowledgeFlow - Tại giao diện weka chọn KnowledgeFlow →giao diện KnowledgeFlow xuất Ta kéo thả hộp tượng trưng cho giải thuật ID3 - Chọn DataSources → ArffLoader, ta phải chọn liệu “Shape.Arff” - Mục Evaluation → TrainingSetMaker, ClassAssigner, ClassifierPerformanceEvaluator - Mục Classifiers → J48 - Mục Visualization →TextViewer GraphViewer • 3.3 Một số kết đạt Hình 12 Kết thực liệu Explorer Page 23 Hình 13 Thực liệu KnowledgeFlow Hình 14 Kết thực liệu KnowledgeFlow dạng Text Page 24 Hình 15 Kết thực liệu KnowledgeFlow dạng Graph Viewer Page 25 Page 26 ... cách phân bố đối tượng liệu vào nhóm/ cụm cho: Các đối tượng cụm giống phần tử khác cụm Page Chương PHÂN LỚP DỰA TRÊN CÂY QUYẾT ĐỊNH VỚI GIẢI THUẬT ID3 2.1 Cây định 2.1.1 Định nghĩa định Cây định. .. 0.971-(2/5*0+1/5*0+2/5*0)= 0.971 Page 10 Hình Cây định 2.2.3 Sử dụng định để phân lớp liệu Quy trình: Step 1: Tạo định từ liệu huấn luyện Page 11 Step2: Dựa vào định để phân lớp cho liệu cần phân lớp Ví dụ: cho bảng liệu... máy tính = Khơng)  Step 2: Sử dụng định để phân lớp đối tượng Thanh niên Thấp Không Tốt Dựa vào định trên, liệu cần phân lớp phân vào lớp “Không” Luật rút từ định: If (Tuổi= Thanh niên) and (Sinh

Ngày đăng: 10/11/2017, 09:14

TỪ KHÓA LIÊN QUAN

w