Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Báo cáo khoa học, luận văn tiến sĩ, luận văn thạc sĩ, nghiên cứu - Công nghệ thông tin UBND TỈNH QUẢNG NAM TRỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN ---------- VILAIVANH KEOPANYA KHAI PHÁ DỮ LIỆU VỚI CÂY QUYẾT ĐỊNH VÀ ỨNG DỤNG TRONG PHÂN LOẠI KHÁCH HÀNG KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 05 năm 2017 UBND TỈNH QUẢNG NAM TRỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN ---------- KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: KHAI PHÁ DỮ LIỆU VỚI CÂY QUYẾT ĐỊNH VÀ ỨNG DỤNG TRONG PHÂN LOẠI KHÁCH HÀNG Sinh viên thực hiện VILAIVANH KEOPANYA MSSV: 2113011014 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHÓA 2013 – 2017 Cán bộ hƣớng dẫn ThS. LÊ THỊ NGUYÊN AN MSCB: ……… Quảng Nam, tháng 05 năm 2017 LỜI CẢM ƠN Trƣớc tiên em xin đƣợc gửi lời c ảm ơn chân thành tới các thầy cô giáo trong khoa Công nghệ thông tin - Trƣờng đại học Qu ảng Nam đã tận tình giúp đỡ và giảng dạy cho chúng em trong những năm học vừa qua. Đặc biệt, em xin gửi lời cảm ơn chân thành nhất tới cô giáo Th.S Lê Thị Nguyên An cùng các thầy cô giáo trong tổ bộ môn Khai phá dữ li ệu đã tận tình hƣớng dẫn, giúp đỡ em hoàn thành đề tài nghiên cứu khoa học này. Trong thời gian vừa qua mặc dù em đã cố gắng rất nhiều để hoàn thành tốt khóa luận của mình. Song chắc chắn kết quả nghiên cứu sẽ không tránh khỏ i những thiếu sót, vì vậy em kính mong nhận đƣợc sự chỉ bảo và góp ý của quý thầy cô và các bạn. Em xin chân thành cảm ơn Quảng Nam,Ngày tháng 05 năm 2017 Sinh viên thực hiện Vilaivanh Keopanya MỤC LỤC PHẦN 1. LỜI MỞ ĐẦU....................................................................................... 1 1. Lý do chọn đề tài .............................................................................................. 1 2. Mục tiêu nghiên cứu ......................................................................................... 1 3. Đối tƣợng và phạm vi nghiên cứu .................................................................... 1 4. Phƣơng pháp nghiên cứu .................................................................................. 1 5. Lịch sử nghiên cứu ........................................................................................... 2 6. Đóng góp của đề tài .......................................................................................... 2 7. Cấu trúc của đề tài ............................................................................................ 2 PHẦN 2. NỘI DUNG ........................................................................................... 3 CHƠNG 1 .......................................................................................................... 3 TỔNG QUAN VỀ KHAI PHÁ DỮ DIỆU........................................................... 3 1.1. GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU ...................................................... 3 1.1.1. Khám phá tri thức và khai phá dữ liệu ....................................................... 3 1.1.2. Tại sao phải khai phá dữ liệu ...................................................................... 3 1.1.3. Quá trình khám phá tri thức ........................................................................ 4 1.1.4. Trình tự thực hiện trong quá trình khai phá dữ liệu ................................... 6 1.1.5. Chức năng của hệ thống khai phá dữ liệu (Data Mining Functions) .......... 8 1.1.6. Các kỹ thuật khai phá dữ liệu ..................................................................... 8 1.2. MỘT SỐ PHƠNG PHÁP KHAI PHÁ DỮ LIỆU HIỆN ĐẠI ................. 10 1.2.1. Phƣơng pháp hồi quy (Regression) .......................................................... 10 1.2.2. Phƣơng pháp mẫu tuần tự (Sequential Pattern mining) ............................ 11 1.3. MỘT SỐ PHƠNG PHÁP KHAI PHÁ DỮ LIỆU THÔNG DỤNG ........ 11 1.3.1. Phân lớp(Classification) ........................................................................... 11 1.3.2. Phân cụm(Clustering) ............................................................................... 11 1.3.3. Luật kết hợp (AssociationRules) .............................................................. 11 1.4. ỨNG DỤNG KHAI PHÁ DỮ LIỆU TRONG LĨNH VỰC KHÁCH HÀNG ............................................................................................................................ 12 1.4.1. Marketing.................................................................................................. 12 1.4.2. Quản lý rủi ro............................................................................................ 12 1.4.3. Phát hiện gian lận ..................................................................................... 12 1.4.4. Quản trị quan hệ khác hhàng .................................................................... 12 CHƠNG 2 ........................................................................................................ 13 ỨNG DỤNG CÂY QUYẾT ĐỊNH TRONG QUY TRÌNH TÍN DỤNG .......... 13 2.1. CÂY QUYẾTĐỊNH ( DECISION TREE) .................................................. 13 2.1.1. Cây quyết định làgì? ................................................................................. 13 2.1.2 Một số vấn đề trong khai phá dữ liệu bằng cây quyết định ....................... 14 2.1.3 u nhƣợc điểm của cây quyết định trong khai phá dữ liệu ....................... 15 2.2. SỬ DỤNG CÂY QUYẾT ĐỊNH (DT) ĐỂ PHÂN LOẠI KHÁCH HÀNG18 2.2.1 Tổng quan về thuật toán cây quyết định .................................................... 18 2.2.2. Thiết kế cây quyết định............................................................................. 18 2.2.3 Các bƣớc tổng quát để xây dựng cây quyết định....................................... 19 2.2.4 Nghiên cứu cây quyết định trong khai phá dữ liệu .................................... 20 2.3.THUẬT TOÁN XÂY DỰNG CÂY QUYẾT ĐỊNH DỰA VÀO ENTROPY ............................................................................................................................ 21 2.3.1. Giới thiệu Entropy .................................................................................... 21 2.3.2 Tiêu chí chọn thuộc tính phân lớp ............................................................. 22 2.3.3 Thuật toánID3 ............................................................................................ 23 CHƠNG 3 ........................................................................................................ 30 XÂY DỰNG CHƠNG TRÌNH THỬ NGHIỆM VÀ ĐÁNH GIÁ ................. 30 3.1.Tóm lƣợc lý thuyết về phân lớp (Classification) .......................................... 30 3.2. Thực hiện bài toán phân lớp với Weka........................................................ 30 PHẦN 3. KẾT LUẬN ........................................................................................ 36 PHẦN 4. TÀI LIỆU THAM KHẢO .................................................................. 37 DANH MỤC HÌNH ẢNH Hình 1.1: Quá trình khám phá tri thức.................................................................. 4 Hình 1.2 : Quá trình khai phá dữ liệu ................................................................... 7 Hình 2.1 : Ví dụ về cây quyết định ..................................................................... 13 Hình 2.2 : Mô tả chung về cây quyết định......................................................... 18 Hình 2.3 :Ví dụ về cây quyết định ...................................................................... 20 Hình 2.4. Quan hệ giữa p và HP ......................................................................... 21 Hình 2.5. Cây sau khi chọn thuộc tính Độ ẩm (ID3) .......................................... 26 Hình 2.6. Cây sau khi chọn thuộc tính Quang cảnh (ID3) ................................. 28 Hình 2.8. Cây kết quả (ID3) ............................................................................... 29 Hình 3.1.Giao diện Weka ................................................................................... 31 Hình 3.2.Bảng dữ liệu thời tiết ........................................................................... 31 Hình 3.3. Nạp dữ liệu ......................................................................................... 31 Hình 3.4. Giao diện Tap classify ........................................................................ 32 Hình 3.5. Chạy thuật toán J48 ............................................................................ 32 Hình 3.6. Chọn cây quyết định ........................................................................... 33 Hình 3.7. Cây quyết định .................................................................................... 33 Hinh 3.9. Cây quyết định .................................................................................... 35 1 PHẦN 1. LỜI MỞ ĐẦU 1. Lý do chọn đề tài Lĩnh vực kinh doanh trên thế giới đã trải qua một sự thay đổi to lớn trong các cách thức kinh doanh,lĩnh vực kinh doanh đã bắt đầu nhận ra sự cần thiế t của các kỹ thuật nhƣ khai phá dữ liệu, các kỹ thuật đó có thể giúp họ cạnh tranh trên thị trƣờng. Họ đã và đang sử dụng các công cụ khai phá dữ liệ u (DM: Data Mining) cho việc phân khúc khách hàng và lợi nhuận, chấm điểm tính dụ ng, duyệt quảng bá và bán sản phẩm, phát hiện các giao dịch gian lận, vv… Có nhiều phƣơng pháp phân lớp đƣợc đề xu ất, tuy nhiên không có phƣơng pháp tiếp cận phân loại nào là tối ƣu và chính xác hơn hẳn nh ững phƣơng pháp khác. Dù sao với mỗi phƣơng pháp có một lợi thế và bất lợi riêng khi sử dụ ng. Một trong những công cụ khai phá tri thức hiệu quả hiện nay là sử dụng cây quyết định để tìm ra các luật phân lớp. Với mong muốn nghiên cứu về việc ứ ng dụng cây quyết định để phân loại khách hàng tôi đã chọn đề tài “Khai phá dữ liệu với cây quyết định và ứng dụng trong phân loại khách hàng” làm báo cáo tố t nghiệp. 2. Mục tiêu nghiên cứu Nghiên cứu các vấn đề cơ bản của thuật toán xây dựng cây quyết định ID3, cài đặt và đánh giá thuật toán, bƣớc đầu áp dụng mô hình cây quyết định (ID3: Decision Tree) đã xây dựng vào việc phân loại khách hàng. 3. Đối tƣợng và phạm vi nghiên cứu - Tìm hiểu thuật toán khai phá dữ liệu ID3 để phân loại khách hàng - Cài đặt và thử nghiệm với dữ liệu thực tế với WEKA 4. Phƣơng pháp nghiên cứu - Phƣơng pháp nghiên cứu tài liệu: Phân tích và tổng hợp các tài liệu về khai phá dữ liệu sử dụng thuật toán về Decision Tree có thuật toán ID3, phân loại dữ liệu, mô hình dự báo. - Phƣơng pháp thực nghiệm: Ứng dụng kết hợp kỹ thu ật phân loại và mô hình cây quyết định để phân loại khách hàng. 2 5. Lịch sử nghiên cứu - Nội dung đã đƣợc dạy và học ở học phần Khai phá dữ liệu Có nhiều ngƣời cũng nhƣ các nhóm nghiên cứu đã chọn kiến thức này làm nội dung cho đề tài nghiên cứu của họ 6. Đóng góp của đề tài - Cung cấp kiến thức đầy đủ hơn, chi tiết hơn về cây quyết định 7. Cấu trúc của đề tài - Mở đầu - Nội dung Chƣơng 1: Tổng quan về khai phá dữ liệu Nghiên cứu, tìm hiểu tổng quan, trích chọn và trình bày một số khái niệm cơ bản về khai phá dữ liệu. Chƣơng 2: Một số thuật toán xây dựng cây quyết định Chƣơng 3: Xây dựng chƣơng trình thử nghiệm và đánh giá 3 PHẦN 2. NỘI DUNG CHƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ DIỆU 1.1. GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU 1.1.1. Khám phá tri thức và khai phá dữ liệu Khai phá tri thức (Knowledge Discovery) trong các cơ sở dữ liệu. Kho dữ liệu là một quy trình gồm nhiều công đoạn để nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích và có thể hiểu đƣợc. Khai phá dữ liệu là việc sử dụng dữ liệu lịch sử để khám phá qui tắc cải thiện những quyết định trong tƣơng lai. Khai phá dữ liệu nhƣ là một quá trình phân tích đƣợc thiết kế thăm dò một lƣợng lực lớn các dữ liệu nhằm phát hiện ra các mẫu thích hợp hợp thức hóa các kết quả tìm đƣợc bằng các áp dụng các mẫu đã phát hiện đƣợc cho tập con mới của dữ liệu. Mục đích của khai phá dữ liệu là. Rút trích thông tin hữu ích, chƣa biết, các mẫu hoặc các mô hình tiềm ẩn trong khối dữ liệu lớn dƣới dạng các quy luật, ràng buộc, quy tắc trong cơ sở dữ liệu. Phân tích dữ liệu bán tự động. Giải thích các tập dữ liệu lớn. Khai phá dữ liệu là một bƣớc trong quy trình khám phá tri thức để hỗ trợ ra quyết định, dự báo và khái quát dữ liệu. 1.1.2. Tại sao phải khai phá dữ liệu ớc tính cứ mỗi năm lƣợng thông tin trên thế giới lại tăng lên khoả ng 2 lần. Chính vì vậy, hiện nay dữ liệu mà con ngƣời thu thập và lƣu trữ trong các kho dữ liệu là vô cùng lớn, thậm chí lớn đến mức vƣợt quá khả năng kiểm soát,… Cũng bởi lý do này các nhà khoa học đã đề cập đến việc tổ chức lại dữ liệu sao cho hiệu quả, đáp ứng đƣợc yêu cầu chất lƣợng ngày càng cao nhằm hỗ trợ những nhà quản lý ra quyết định trong các tổ chức quản lý tài chính, thƣơng mại, khoa học,... 4 Với lƣợng dữ liệu tăng nhanh hàng năm, rõ ràng áp dụng các phƣơng pháp thủ công truyền thống để phân tích dữ liệu sẽ không hiệu quả, tốn kém và dễ dẫn đến những sai lệch. Do đó, để có thể sử dụng hiệu quả hơn nữa các cơ sở dữ liệu lớn thì nhất thiết cần phải có những kỹ thuật mới và kỹ thuật khai phá dữ liệu đã đƣợc các nhà khoa học đề cập tới. Khai phá dữ liệu là một lĩnh vực khoa học nhằm tự động hóa khai thác những thông tin, tri thức hữu ích, tiềm ẩn trong các CSDL cho các tổ chứ c, doanh nghiệp,... Các kết quả nghiên cứu cùng với những ứng d ụng thành công trong khai phá dữ liệu, khám phá tri thức cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích, đồng thời có ƣu thế hơn hẳ n so với các công cụ phân tích dữ liệu truyền thống. Hiện nay, khai phá dữ liệu đƣợc ứng dụng rộng rãi trong các lĩnh vực nhƣ: phân tích dữ liệu hỗ trợ ra quyết định, điều trị y học, tin- sinh học, thƣơng mại, tài chính, bảo hiể m, text mining, web mining,... 1.1.3. Quá trình khám phá tri thức Quá trình khám phá tri thức đƣợc tiến hành qua 5 bƣớc sau: Hình 1.1: Quá trình khám phá tri thức - Bƣớc 1: Hình thành và định nghĩa bài toán Đây là bƣớc tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bƣớc này sẽ quyết định cho việc rút ra những tri thức hữu ích, đồng thời lựa chọn các 5 phƣơng pháp khai phá dữ liệu thích hợp với mục đích của ứng dụng và bản chất của dữ liệu. - Bƣớc 2: Thu hợp và tiền xử lý dữ liệu Trong bƣớc này dữ liệu đƣợc thu thập ở dạng thô (nguồn dữ liệu thu thập có thể là từ các kho dữ liệu hay nguồn thông tin khác từ internet). Trong giai đoạn này dữ liệu cũng đƣợc tiền xử lý để biển đổi và cải thiện chất lƣợng dữ liệu cho phù hợp với phƣơng pháp khai phá dữ liệu đƣợc chọn lựa trong bƣớc trên. Bƣớc này thƣờng chiếm nhiều thời gian nhất trong quá trình khám phá tri thức. Các giải thuật tiền xử lý dữ liệu bao gồm: a. Xử lý dữ liệu bị mấtthiếu: các dạng dữ liệu bị thiếu sẽ đƣợc thay thế bởi các giá trị thích hợp. b. Khử sự trùng lặp: các đối tƣợng dữ liệu trùng lặp sẽ bị loại bỏ đi. c. Giảm nhiễu: nhiễu và các đối tƣợng tách rời khỏi phân bố chung sẽ bị loại đi khỏi dữ liệu. d. Chuẩn hóa: miền giá trị của dữ liệu sẽ đƣợc chuẩn hóa. e. Rời rạc hóa: các dạng dữ liệu số sẽ đƣợc biến đổi ra các giá trị rời rạc. f. Rút trích và xây dựng đặc trƣng mới từ các thuộc tính đã có. g. Giảm chiều: các thuộc tính chứa ít thông tin sẽ đƣợc loại bỏ bớt. - Bƣớc 3: Khai phá dữ liệu và rút ra tri thức Đây là bƣớc quan trọng nhất trong tiến trình khám phá tri thức. Kết quả của bƣớc này là trích ra đƣợc các mẫu và (hoặc) các mô hình ẩn dƣới các dữ liệu. Một mô hình có thể là một biểu diễn cấu trúc một thành phần của hệ thống hay cả hệ thống trong cơ sở dữ liệu hay miêu tả các dữ liệu đƣợc nảy sinh. Còn một mẫu là một cấu trúc cục bộ có liên quan đến vài biến và vài trƣờng hợp trong cơ sở dữ liệu. - Bƣớc 4: Phân tích và kiểm định kết quả Bƣớc thứ tƣ là hiểu các tri thức đã tìm đƣợc, đặc biệt là làm sáng tỏ các mô tả và dự đoán. Trong bƣớc này, kết quả tìm đƣợc sẽ đƣợc biến đổi sang dạng phù hợp với lĩnh vực ứng dụng và dễ hiểu hơn trong ngƣời dùng. 6 - Bƣớc 5: Sử dụng các tri thức phát hiện đƣợc Trong bƣớc này, các tri thức khám phá sẽ đƣợc củng cố, kết hợp lại thành một hệ thống, đồng thời giải quyết các xung đột tiềm năng trong các tri thức đó. Các mô hình rút ra đƣợc đƣa vào những hệ thống thông tin thực tế dƣới dạng các module hỗ trợ việc đƣa ra quyết định. Các giai đoạn của quá trình khám phá tri thức có mối quan hệ chặt chẽ với nhau trong bối cảnh chung của hệ thống. Các kỹ thuật đƣợc sử dụng trong giai đoạn trƣớc có thể ảnh hƣởng đến hiệu quả của các giải thuật đƣợc sử dụng các giai đoạn tiếp theo. Các bƣớc của quá trình khám phá tri thức có thể đƣợc lặp đi lặp lại một số lần, kết quả thu đƣợc có thể đƣợc lấy trung bình trên tất cả các lần thực hiện. Ví dụ: Để quyết định có cho khách hàng vay tiền không? Và vay bao nhiêu? Vay trong thời gian bao lâu thì các ngân hàng thƣờng tiến hành nhƣ sau: - Bƣớc 1: Xác định bài toán cho vay tại ngân hàng. - Bƣớc 2: Thu thập xử lý dữ liệu của các năm trƣớc nhƣ: ai vay, vay bao nhiêu, những thông tin nào liên quan. - Bƣớc 3: Từ bƣớc 2 rút ra kết quả sẽ cho ai vay, vay bao nhiêu, vay bao lâu,… - Bƣớc 4: Xem kết quả dự đoán bài toán cho vay của ngân hàng có đúng không. - Bƣớc 5: Củng cố, kết luận cho bài toán từ lý thuyết đến thực tế. 1.1.4. Trình tự thực hiện trong quá trình khai phá dữ liệu Khai phá dữ liệu là hoạt động trọng tâm của quá trình khám phá tri thức. Thuật ngữ khai phá dữ liệu còn đƣợc một số mà khoa học gọi là phát hiện tri thức trong cơ sở dữ liệu (Knowledge discovery in database) (theo Fayyad Smyth và Piatestky-Shapiro 1989). Quá trình này gồm có 6 bƣớc: 7 Hình 1.2 : Quá trình khai phá dữ liệu Quá trình khai phá dữ liệu bắt đầu với kho dữ liệu thô và kết thúc với tri thức đƣợc chiết xuất ra. Nội dung của quá trình nhƣ sau: - Gom (thu thập) dữ liệu(gatherin) Tập hợp dữ liệu là bƣớc đầu tiên trong khai phá dữ liệu. Bƣớc này lấy dữ liệu từ trong một cơ sở dữ liệu, một kho dữ liệu, thậm chí dữ liệu từ những nguồn cung ứng web. - Trích lọc dữ liệu(selection) Ở giai đoạn này dữ liệu đƣợc lựa chọn và phân chia theo một số tiêu chuẩn nào đó. - Làm sạch và tiền xử lý dữ liệu (cleansingpreprocessing) Giai đoạn thứ ba này là giai đoạn thƣờng bị bỏ quên, nhƣng thực tế nó là một bƣớc rất quan trọng trong quá trình khai phá dữ liệu. Một số lỗi thƣờng mắc phải trong khi gom dữ liệu là dữ liệu không đầy đủ hoặc không thống nhất, thiếu chặt chẽ, vô nghĩa (ví dụ nhƣ: con ngƣời có chiều cao = 4 mét điều này là vô lý), do vậy ở giai đoạn thứ ba này nhằm xử lý các dữ liệu nhƣ trên (dữ liệu vô nghĩa, dữ liệu không có khả năng kết nối). Những dữ liệu dạng này thƣờng đƣợc xem là thông tin dƣ thừa, không có giá trị. Bởi vậy đây là một quá trình rất quan trọng. Nếu dữ liệu không đƣợc làm sạch - tiền xử lý - chuẩn bị trƣớc thì sẽ tạo ra những kết quả sai lệch nghiêm trọng về sau. 8 - Chuyển đổi dữ liệu(transformation) Trong giai đoạn này, dữ liệu có thể đƣợc tổ chức và sử dụng lại. Mục đích của việc chuyển đổi dữ liệu là làm cho dữ liệu phù hợp hơn với mục đích khai phá dữ liệu. - Phát hiện và trích chọn mẫu dữ liệu (pattern extraction anddiscovery) Đây là bƣớc tƣ duy trong khai phá dữ liệu. Ở trong giai đoạn này nhiều thuật toán khác nhau đã đƣợc sử dụng để trích ra các mẫu từ dữ liệu. Thuật toán thƣờng dùng để trích mẫu dữ liệu là thuật toán phân loại dữ liệu, kết hợp dữ liệu, thuật toán mô hình hoá dữ liệu tuần tự. - Đánh giá kết quả mẫu (evaluation ofresult) Đây là giai đoạn cuối cùng trong quá trình khai phá dữ liệu, ở giai đoạn này các mẫu dữ liệu đƣợc chiết xuất ra bởi phần mềm khai phá dữ liệu. Không phải mẫu dữ liệu nào cũng hữu ích, đôi khi nó còn bị sai lệch. Vì vậy cần phải đƣa ra những tiêu chuẩn đánh giá độ ƣu tiên cho các mẫu dữ liệu để rút ra đƣợc những tri thức cần thiết. 1.1.5. Chức năng của hệ thống khai phá dữ liệu (Data Mining Functions) Khai phá dữ liệu có hai chức năng chính là mô tả (description) và dự đoán (prediction) trong đó: - Chức năng khai phá dữ liệu mô tả sẽ mô tả các tính chất hoặc đặc tính chung của dữ liệu trong cơ sở dữ liệu, nghĩa là phân tích và mô tả một tập mẫ u nhằm giúp hiểu rõ hơn, sâu hơn về dữ liệu. - Chức năng khai phá dữ liệu dự đoán sẽ thực hiện việc suy luận dựa trên dữ liệu hiện hành để cho ra các dự báo, nghĩa là phân tích tập dữ liệu huấn luyện và tạo ra một hoặc vài mô hình cho phép dự đoán các mẫu mới chƣa biết. 1.1.6. Các kỹ thuật khai phá dữ liệu Trong thực tế, có nhiều kỹ thuật khác nhau đƣợc sử dụng để khai phá dữ liệu nhằm thực hiện hai mục đích chính là mô tả và dự đoán, trong đó: - Kỹ thuật khai phá dữ liệu nhằm thực hiện chức năng mô tả: có nhiệm vụ mô tả các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có. 9 Một số kỹ thuật khai phá trong nhóm này là: phân cụm dữ liệ u (Clustering), tổng hợp (Summarisation), trực quan hoá(Visualization),... - Kỹ thuật khai phá dữ liệu nhằm thực hiện chức năng dự đoán: có nhiệ m vụ đƣa ra các dự đoán dựa vào các suy diễn trên cơ sở dữ liệu hiện thời. Một số kỹ thuật khai phá trong nhóm này là: phân lớp (Classification), hồi quy (Regression), cây quyết định (Decision tree), thống kê (statictics), mạng nơron (Neural network), luật kết hợp,... Một số kỹ thuật khai phá dữ liệu thƣờng đƣợc sử dụng hiện nay: a. Phân lớp dữ liệu Mục tiêu của phân lớp dữ liệu đó là dự đoán nhãn lớp cho các mẫu dữ liệu. Quá trình gồm hai bƣớc: xây dựng mô hình, sử dụng mô hình để phân lớ p dữ liệu (mỗi mẫu 1 lớp). Mô hình đƣợc sử dụng để dự đoán nhãn lớp khi mà độ chính xác của mô hình chấp nhận đƣợc. b. Phân cụm dữ liệu Mục tiêu của phân cụm dữ liệu là nhóm các đối tƣợng tƣơng tự nhau trong tập dữ liệu vào các cụm, sao cho các đối tƣợng thuộc cùng một c ụm là tƣơng đồng với nhau. c. Khai phá luật kết hợp Mục tiêu của phƣơng pháp này là phát hiện và đƣa ra các mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu. Phƣơng pháp khai phá luật kết hợp gồm có hai bƣớc: Bƣớc 1: Tìm ra tất cả các tập mục phổ biến, một tập mục phổ biến đƣợc xác định thông qua độ hỗ trợ và thoả mãn độ hỗ trợ cực tiểu. Bƣớc 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phả i thoả mãn độ hỗ trợ và độ tin cậy cực tiểu. d. Hồi quy Phƣơng pháp hồi quy tƣơng tự nhƣ là phân lớp dữ liệu. Nhƣng khác ở chỗ nó dùng để dự đoán các giá trị liên tục còn phân lớp dữ liệu dùng để dự đoán các giá trị rời rạc. 10 e. Giải thuật di truyền Là quá trình mô phỏng theo tiến hoá của tự nhiên. Ý tƣởng chính của giả i thuật là dựa vào quy luật di truyền trong biến đổi, chọn lọc tự nhiên và tiến hoá trong sinh học. f. Mạng nơron Đây là một trong những kỹ thuật khai phá dữ liệu đƣợc ứng dụng phổ biến hiện nay. Kỹ thuật này phát triển dựa trên một nền tảng toán học vững vàng, khả năng huấn luyện trong kỹ thuật này dựa trên mô hình thần kinh trung ƣơng của con ngƣời. Kết quả mà mạng nơron học đƣợc có khả năng tạo ra các mô hình dự báo, dự đoán với độ chính xác và độ tin cậy cao. Nó có khả năng phát hiện ra đƣợc các xu hƣớng phức tạp mà kỹ thuật thông thƣờng khác khó có thể phát hiện ra đƣợc. Tuy nhiên, phƣơng pháp mạng nơron rất phức t ạp và quá trình tiến hành nó gặp rất nhiều khó khăn: đòi hỏi mất nhiều thời gian, nhiều dữ liệu, nhiều lầ n kiểm tra thử nghiệm. g. Cây quyết định Kỹ thuật cây quyết định là một công cụ mạnh và hiệu quả trong việc phân lớp và dự báo. Các đối tƣợng dữ liệu đƣợc phân thành các lớp. Các giá trị của đối tƣợng dữ liệu chƣa biết sẽ đƣợc dự đoán, dự báo. Tri thức đƣợc rút ra trong kỹ thuật này thƣờng đƣợc mô tả dƣới dạng tƣờng minh, đơn giản, trực quan, dễ hiểu đối với ngƣời sử dụng. 1.2. MỘT SỐ PHƠNG PHÁP KHAI PHÁ DỮ LIỆU HIỆN ĐẠI 1.2.1. Phƣơng pháp hồi quy (Regression) Là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán có giá trị thực. Phân tích hồi quy sẽ xác định đƣợc định lƣợng quan hệ giữa các biến và biến phụ thuộc vào giá trị của những biến khác. Nhiệm vụ của hồi quy tƣơng tự nhƣ phân lớp, điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục còn phân lớp dữ liệu là dự đoán các giá trị rời rạc. 11 1.2.2. Phƣơng pháp mẫu tuần tự (Sequential Pattern mining) Là việc xác định những mẫu mà sự xuất hiện của chúng trong CSDL thỏa mãn ngƣỡng tối thiểu. Luật tuần tự đƣợc sinh ra từ mẫu tuần tự, biểu diễn mối quan hệ giữa hai loại sự kiện này sẽ xảy ra sau loạt sự kiện kia. 1.3. MỘT SỐ PHƠNG PHÁP KHAI PHÁ DỮ LIỆU THÔNG DỤNG 1.3.1. Phân lớp(Classification) Quá trình phân lớp dữ liệu thƣờng gồm 2 pha: Bƣớc 1: Xây dựng mô hình Trong bƣớc này, một mô hình sẽ đƣợc xây dựng d ựa trên việc phân tích các mẫu dữ liệu sẵn có. Đầu vào của quá trình này là một tập dữ li ệu có cấu trúc đƣợc mô tả bằng các thuộc tính và đƣợc tạo ra từ tập các bộ giá trị của các thuộc tính đó. Mỗi bộ giá trị đƣợc gọi chung là một mẫu (sample). Trong tập dữ liệu này, mỗi mẫu đƣợc giả sử thuộc về một lớp định trƣớc, lớp ở đây là giá trị củ a một thuộc tính đƣợc chọn làm thuộc tính gán nhãn lớp hay thuộc tính quyết định. Đầu ra của bƣớc này thƣờng là các quy tắc phân lớp dƣới dạng luật dạ ng if-then (nếu-thì), cây quyết định, công thức logic hay mạng nơron. Bƣớc 2: Sử dụng mô hình đã xây dựng để phân lớp dữ liệu Trong bƣớc này việc đầu tiên là phải làm là tính độ chính xác của mô hình. Nếu độ chính xác là chấp nhận đƣợc mô hình sẽ đƣợc sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tƣơng lai. 1.3.2. Phân cụm(Clustering) Phân cụm là việc mô tả chung để tìm ra các tập hay các nhóm, loại mô tả dữ liệu. Các nhóm có thể tách nhau hoặc phân cấp hay gối lên nhau. Có nghĩa là dữ liệu có thể vừa thuộc nhóm này lại vừa thuộc nhóm khác. Các ứng dụng khai phá dữ liệu có nhiệm vụ phân nhóm nhƣ phát hiện tập các khách hàng có phản ứng giống nhau trong CSDL tiếp thị; xác định các quang phổ từ các phƣơng pháp đo tia hồng ngoại... 1.3.3. Luật kết hợp (AssociationRules) Khai phá luật kết hợp đƣợc thực hiện qua 2 bƣớc: 12 - Bƣớc 1: Tìm tất cả các tập mục phổ biến, một văn bản phổ bi ến đƣợc xác định quađộhỗ trợ và thỏa mãn độ hỗ trợ cực tiểu. - Bƣớc 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phả i thỏa mãnđộ hỗ trợ cực tiểu và độ tin cậy cực tiểu. 1.4. ỨNG DỤNG KHAI PHÁ DỮ LI ỆU TRONG LĨNH VỰC KHÁCH HÀNG 1.4.1. Marketing Một trong những lĩnh vực đƣợc ứng dụng r ộng rãi nhất cho ngành ngân hàng của kỹ thuật khai phá dữ liệu đó là lĩnh vực quảng bá sản phẩm. Bộ phậ n tiếp thị và bán hàng của các Ngân hàng có thể sử dụng kỹ thuật khai phá dữ liệu để phân tích cơ sở dữ liệu về khách hàng. Kỹ thuật khai thác dữ li ệu cũng giúp xác định khách hàng nào sẽ mang lại lợi nhuận và khách hàng nào không mang lại lợi nhuận. 1.4.2. Quản lý rủi ro Khai phá dữ liệu đƣợc sử dụng rộng rãi để qu ản lý rõ ràng đƣợc ngành công nghiệp ngân hàng. Giám đốc điều hành ngân hàng cần phải biết r ằng các khách hàng mà họ đang có liệu đáng tin cậy hay không. 1.4.3. Phát hiện gian lận Một lĩnh vực khác trong khai phá dữ liệu có thể đƣợc sử dụng trong ngành công nghiệp ngân hàng là việc phát hiện gian lận. Phát hi ện các hành động gian lận là một mối quan tâm ngày càng tăng cho nhiều doanh nghiệp ...
NỘI DUNG
1.1 GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU
1.1.1 Khám phá tri thức và khai phá dữ liệu
Khai phá tri thức (Knowledge Discovery) trong các cơ sở dữ liệu Kho dữ liệu là một quy trình gồm nhiều công đoạn để nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích và có thể hiểu đƣợc Khai phá dữ liệu là việc sử dụng dữ liệu lịch sử để khám phá qui tắc cải thiện những quyết định trong tương lai
Khai phá dữ liệu nhƣ là một quá trình phân tích đƣợc thiết kế thăm dò một lƣợng lực lớn các dữ liệu nhằm phát hiện ra các mẫu thích hợp hợp thức hóa các kết quả tìm đƣợc bằng các áp dụng các mẫu đã phát hiện đƣợc cho tập con mới của dữ liệu Mục đích của khai phá dữ liệu là
Phân tích và khai thác dữ liệu là quá trình trích xuất các thông tin có giá trị, chưa được biết đến, cũng như các mẫu hình tiềm ẩn trong khối dữ liệu lớn Quá trình này giúp phát hiện ra các quy luật, ràng buộc và quy tắc có giá trị trong cơ sở dữ liệu, từ đó có thể đưa ra các quyết định sáng suốt và chính xác hơn.
Phân tích dữ liệu bán tự động
Giải thích các tập dữ liệu lớn
Khai phá dữ liệu là một bước trong quy trình khám phá tri thức để hỗ trợ ra quyết định, dự báo và khái quát dữ liệu
1.1.2 Tại sao phải khai phá dữ liệu Ƣớc tính cứ mỗi năm lƣợng thông tin trên thế giới lại tăng lên khoảng 2 lần Chính vì vậy, hiện nay dữ liệu mà con người thu thập và lưu trữ trong các kho dữ liệu là vô cùng lớn, thậm chí lớn đến mức vƣợt quá khả năng kiểm soát,… Cũng bởi lý do này các nhà khoa học đã đề cập đến việc tổ chức lại dữ liệu sao cho hiệu quả, đáp ứng đƣợc yêu cầu chất lƣợng ngày càng cao nhằm hỗ trợ những nhà quản lý ra quyết định trong các tổ chức quản lý tài chính, thương mại, khoa học,
GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU
1.1.1 Khám phá tri thức và khai phá dữ liệu
Khai phá tri thức (Knowledge Discovery) trong các cơ sở dữ liệu Kho dữ liệu là một quy trình gồm nhiều công đoạn để nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích và có thể hiểu đƣợc Khai phá dữ liệu là việc sử dụng dữ liệu lịch sử để khám phá qui tắc cải thiện những quyết định trong tương lai
Khai phá dữ liệu nhƣ là một quá trình phân tích đƣợc thiết kế thăm dò một lƣợng lực lớn các dữ liệu nhằm phát hiện ra các mẫu thích hợp hợp thức hóa các kết quả tìm đƣợc bằng các áp dụng các mẫu đã phát hiện đƣợc cho tập con mới của dữ liệu Mục đích của khai phá dữ liệu là
Rút trích thông tin hữu ích, chƣa biết, các mẫu hoặc các mô hình tiềm ẩn trong khối dữ liệu lớn dưới dạng các quy luật, ràng buộc, quy tắc trong cơ sở dữ liệu
Phân tích dữ liệu bán tự động
Giải thích các tập dữ liệu lớn
Khai phá dữ liệu là một bước trong quy trình khám phá tri thức để hỗ trợ ra quyết định, dự báo và khái quát dữ liệu
1.1.2 Tại sao phải khai phá dữ liệu Ƣớc tính cứ mỗi năm lƣợng thông tin trên thế giới lại tăng lên khoảng 2 lần Chính vì vậy, hiện nay dữ liệu mà con người thu thập và lưu trữ trong các kho dữ liệu là vô cùng lớn, thậm chí lớn đến mức vƣợt quá khả năng kiểm soát,… Cũng bởi lý do này các nhà khoa học đã đề cập đến việc tổ chức lại dữ liệu sao cho hiệu quả, đáp ứng đƣợc yêu cầu chất lƣợng ngày càng cao nhằm hỗ trợ những nhà quản lý ra quyết định trong các tổ chức quản lý tài chính, thương mại, khoa học,
Với lượng dữ liệu tăng nhanh hàng năm, rõ ràng áp dụng các phương pháp thủ công truyền thống để phân tích dữ liệu sẽ không hiệu quả, tốn kém và dễ dẫn đến những sai lệch Do đó, để có thể sử dụng hiệu quả hơn nữa các cơ sở dữ liệu lớn thì nhất thiết cần phải có những kỹ thuật mới và kỹ thuật khai phá dữ liệu đã đƣợc các nhà khoa học đề cập tới
Khai phá dữ liệu là một lĩnh vực khoa học nhằm tự động hóa khai thác những thông tin, tri thức hữu ích, tiềm ẩn trong các CSDL cho các tổ chức, doanh nghiệp, Các kết quả nghiên cứu cùng với những ứng dụng thành công trong khai phá dữ liệu, khám phá tri thức cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích, đồng thời có ƣu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống Hiện nay, khai phá dữ liệu đƣợc ứng dụng rộng rãi trong các lĩnh vực nhƣ: phân tích dữ liệu hỗ trợ ra quyết định, điều trị y học, tin- sinh học, thương mại, tài chính, bảo hiểm, text mining, web mining,
1.1.3 Quá trình khám phá tri thức
Quá trình khám phá tri thức được tiến hành qua 5 bước sau:
Hình 1.1: Quá trình khám phá tri thức
- Bước 1: Hình thành và định nghĩa bài toán Đây là bước tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước này sẽ quyết định cho việc rút ra những tri thức hữu ích, đồng thời lựa chọn các
5 phương pháp khai phá dữ liệu thích hợp với mục đích của ứng dụng và bản chất của dữ liệu
- Bước 2: Thu hợp và tiền xử lý dữ liệu
Trong bước này dữ liệu được thu thập ở dạng thô (nguồn dữ liệu thu thập có thể là từ các kho dữ liệu hay nguồn thông tin khác từ internet) Trong giai đoạn này dữ liệu cũng đƣợc tiền xử lý để biển đổi và cải thiện chất lƣợng dữ liệu cho phù hợp với phương pháp khai phá dữ liệu được chọn lựa trong bước trên Bước này thường chiếm nhiều thời gian nhất trong quá trình khám phá tri thức
Các giải thuật tiền xử lý dữ liệu bao gồm: a Xử lý dữ liệu bị mất/thiếu: các dạng dữ liệu bị thiếu sẽ đƣợc thay thế bởi các giá trị thích hợp b Khử sự trùng lặp: các đối tƣợng dữ liệu trùng lặp sẽ bị loại bỏ đi c Giảm nhiễu: nhiễu và các đối tƣợng tách rời khỏi phân bố chung sẽ bị loại đi khỏi dữ liệu d Chuẩn hóa: miền giá trị của dữ liệu sẽ đƣợc chuẩn hóa e Rời rạc hóa: các dạng dữ liệu số sẽ đƣợc biến đổi ra các giá trị rời rạc f Rút trích và xây dựng đặc trƣng mới từ các thuộc tính đã có g Giảm chiều: các thuộc tính chứa ít thông tin sẽ đƣợc loại bỏ bớt
- Bước 3: Khai phá dữ liệu và rút ra tri thức Đây là bước quan trọng nhất trong tiến trình khám phá tri thức Kết quả của bước này là trích ra được các mẫu và (hoặc) các mô hình ẩn dưới các dữ liệu Một mô hình có thể là một biểu diễn cấu trúc một thành phần của hệ thống hay cả hệ thống trong cơ sở dữ liệu hay miêu tả các dữ liệu đƣợc nảy sinh Còn một mẫu là một cấu trúc cục bộ có liên quan đến vài biến và vài trường hợp trong cơ sở dữ liệu
- Bước 4: Phân tích và kiểm định kết quả
Bước thứ tư là hiểu các tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán Trong bước này, kết quả tìm được sẽ được biến đổi sang dạng phù hợp với lĩnh vực ứng dụng và dễ hiểu hơn trong người dùng
- Bước 5: Sử dụng các tri thức phát hiện được
Trong bước này, các tri thức khám phá sẽ được củng cố, kết hợp lại thành một hệ thống, đồng thời giải quyết các xung đột tiềm năng trong các tri thức đó Các mô hình rút ra được đưa vào những hệ thống thông tin thực tế dưới dạng các module hỗ trợ việc đƣa ra quyết định
Các giai đoạn của quá trình khám phá tri thức có mối quan hệ chặt chẽ với nhau trong bối cảnh chung của hệ thống Các kỹ thuật đƣợc sử dụng trong giai đoạn trước có thể ảnh hưởng đến hiệu quả của các giải thuật được sử dụng các giai đoạn tiếp theo Các bước của quá trình khám phá tri thức có thể được lặp đi lặp lại một số lần, kết quả thu đƣợc có thể đƣợc lấy trung bình trên tất cả các lần thực hiện
Ví dụ: Để quyết định có cho khách hàng vay tiền không? Và vay bao nhiêu? Vay trong thời gian bao lâu thì các ngân hàng thường tiến hành như sau:
- Bước 1: Xác định bài toán cho vay tại ngân hàng
- Bước 2: Thu thập xử lý dữ liệu của các năm trước như: ai vay, vay bao nhiêu, những thông tin nào liên quan
- Bước 3: Từ bước 2 rút ra kết quả sẽ cho ai vay, vay bao nhiêu, vay bao lâu,…
- Bước 4: Xem kết quả dự đoán bài toán cho vay của ngân hàng có đúng không
- Bước 5: Củng cố, kết luận cho bài toán từ lý thuyết đến thực tế
1.1.4 Trình tự thực hiện trong quá trình khai phá dữ liệu
Khai phá dữ liệu là hoạt động trọng tâm của quá trình khám phá tri thức Thuật ngữ khai phá dữ liệu còn đƣợc một số mà khoa học gọi là phát hiện tri thức trong cơ sở dữ liệu (Knowledge discovery in database) (theo Fayyad Smyth và Piatestky-Shapiro 1989) Quá trình này gồm có 6 bước:
Hình 1.2 : Quá trình khai phá dữ liệu
MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ DỮ LIỆU HIỆN ĐẠI
1.2.1 Phương pháp hồi quy (Regression)
Là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán có giá trị thực Phân tích hồi quy sẽ xác định đƣợc định lƣợng quan hệ giữa các biến và biến phụ thuộc vào giá trị của những biến khác Nhiệm vụ của hồi quy tương tự như phân lớp, điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục còn phân lớp dữ liệu là dự đoán các giá trị rời rạc
1.2.2 Phương pháp mẫu tuần tự (Sequential Pattern mining)
Là việc xác định những mẫu mà sự xuất hiện của chúng trong CSDL thỏa mãn ngƣỡng tối thiểu Luật tuần tự đƣợc sinh ra từ mẫu tuần tự, biểu diễn mối quan hệ giữa hai loại sự kiện này sẽ xảy ra sau loạt sự kiện kia.
MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ DỮ LIỆU THÔNG DỤNG
Quá trình phân lớp dữ liệu thường gồm 2 pha:
Bước 1: Xây dựng mô hình
Trong bước này, một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn có Đầu vào của quá trình này là một tập dữ liệu có cấu trúc đƣợc mô tả bằng các thuộc tính và đƣợc tạo ra từ tập các bộ giá trị của các thuộc tính đó Mỗi bộ giá trị đƣợc gọi chung là một mẫu (sample) Trong tập dữ liệu này, mỗi mẫu được giả sử thuộc về một lớp định trước, lớp ở đây là giá trị của một thuộc tính đƣợc chọn làm thuộc tính gán nhãn lớp hay thuộc tính quyết định Đầu ra của bước này thường là các quy tắc phân lớp dưới dạng luật dạng if-then (nếu-thì), cây quyết định, công thức logic hay mạng nơron
Bước 2: Sử dụng mô hình đã xây dựng để phân lớp dữ liệu
Trong bước này việc đầu tiên là phải làm là tính độ chính xác của mô hình Nếu độ chính xác là chấp nhận đƣợc mô hình sẽ đƣợc sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai
Phân cụm là việc mô tả chung để tìm ra các tập hay các nhóm, loại mô tả dữ liệu Các nhóm có thể tách nhau hoặc phân cấp hay gối lên nhau Có nghĩa là dữ liệu có thể vừa thuộc nhóm này lại vừa thuộc nhóm khác Các ứng dụng khai phá dữ liệu có nhiệm vụ phân nhóm nhƣ phát hiện tập các khách hàng có phản ứng giống nhau trong CSDL tiếp thị; xác định các quang phổ từ các phương pháp đo tia hồng ngoại
Khai phá luật kết hợp được thực hiện qua 2 bước:
- Bước 1: Tìm tất cả các tập mục phổ biến, một văn bản phổ biến được xác định quađộhỗ trợ và thỏa mãn độ hỗ trợ cực tiểu
- Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thỏa mãnđộ hỗ trợ cực tiểu và độ tin cậy cực tiểu.
ỨNG DỤNG KHAI PHÁ DỮ LIỆU TRONG LĨNH VỰC KHÁCH HÀNG
Một trong những lĩnh vực đƣợc ứng dụng rộng rãi nhất cho ngành ngân hàng của kỹ thuật khai phá dữ liệu đó là lĩnh vực quảng bá sản phẩm Bộ phận tiếp thị và bán hàng của các Ngân hàng có thể sử dụng kỹ thuật khai phá dữ liệu để phân tích cơ sở dữ liệu về khách hàng Kỹ thuật khai thác dữ liệu cũng giúp xác định khách hàng nào sẽ mang lại lợi nhuận và khách hàng nào không mang lại lợi nhuận
Khai phá dữ liệu đƣợc sử dụng rộng rãi để quản lý rõ ràng đƣợc ngành công nghiệp ngân hàng Giám đốc điều hành ngân hàng cần phải biết rằng các khách hàng mà họ đang có liệu đáng tin cậy hay không
Một lĩnh vực khác trong khai phá dữ liệu có thể đƣợc sử dụng trong ngành công nghiệp ngân hàng là việc phát hiện gian lận Phát hiện các hành động gian lận là một mối quan tâm ngày càng tăng cho nhiều doanh nghiệp và với sự giúp đỡ của kỹ thuật khai phá dữ liệu các hành động gian lận ngày càng đƣợc phát hiện nhiều hơn
1.4.4 Quản trị quan hệ khách hàng
Trong thời đại cạnh tranh khốc liệt ngày nay nói chung, đặc biệt là trong ngành ngân hàng, khách hàng luôn luôn là nhân tố quan trọng nhất quyết định sự tồn tại và phát triển của họ Khai phá dữ liệu rất hữu ích trong tất cả ba giai đoạn trong một chukỳ mối quan hệ khách hàng: Tìm kiếm khách hàng, tăng giá trị của khách hàng và duy trì khách hàng
CÂY QUYẾTĐỊNH ( DECISION TREE)
Cây quyết định (Decision Tree) là một trong những giải pháp trực quan và hữu hiệu để mô tả quá trình phân lớp dữ liệu Trên cây quyết định, chúng ta tìm đƣợc các luật, những luật này cung cấp những thông tin hữu ích để hỗ trợ việc ra quyết định giải quyết một vấn đề nào đó
2.1.1 Cây quyết định là gì?
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tƣợng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi nút trong tương ứng với một biến; Đường nối giữa nó với nút con của nó thể hiện giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị dự đoán của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng trong cây quyết định đƣợc gọi là học bằng cây quyết định hay chỉ gọi với cái tên ngắn gọn là cây quyết định
Cây quyết định là biểu đồ phát triển có cấu trúc dạng cây, nhƣ mô tả trong hình vẽ sau:
Hình 2.1 : Ví dụ về cây quyết định
+ Gốc: Là node trên cùng của cây
+ Node trong: Biểu diễn một kiểm tra trên một thuộc tính đơn (hình chữ nhật)
+ Nhánh: Biểu diễn các kết quả của kiểm tra trên node trong (mũi tên) + Node lá: Biểu diễn lớp hay sự phân phối lớp (hình tròn)
- Các kiểu cây quyết định
+ Cây hồi quy (Regression tree) ƣớc lƣợng các hàm giá có giá trị là số thực thay vì đƣợc sử dụng cho các nhiệm vụ phân loại (ví dụ: Ƣớc tính khoảng thời gian một bệnh nhân nằm viện hoặc giá của một ngôi nhà)
+ Cây phân loại (Classification tree) nếu y là một biến phân loại nhƣ giới tính (nam hay nữ), kết quả của một kỳ thi đại học (đỗ hay trƣợt)
2.1.2 Một số vấn đề trong khai phá dữ liệu bằng cây quyết định
Các vấn đề đặc thù trong khi học hay phân lớp dữ liệu bằng cây quyết định gồm: Xác định độ sâu để phát triển cây quyết định, xử lý với những thuộc tính liên tục, chọn phép đo lựa chọn thuộc tính thích hợp, sử dụng tập dữ liệu đào tạo với những giá trị thuộc tính bị thiếu, sử dụng các thuộc tính với những chi phí khác nhau, và cải thiện hiệu năng tính toán Sau đây khóa luận sẽ đề cập đến những vấn đề chính đã đƣợc giải quyết trong các thuật toán phân lớp dựa trên cây quyết định
+ Tránh “quá vừa” dữ liệu
Có thể hiểu “quá vừa” là hiện tƣợng cây quyết định chứa một số đặc trƣng riêng của tập dữ liệu đào tạo, nếu lấy chính tập dữ liệu đào tạo để kiểm tra lại mô hình phân lớp thì độ chính xác sẽ rất cao, trong khi đối với những dữ liệu tương lai khác nếu sử dụng cây đó lại không đạt được độ chính xác như vậy “Quá vừa” dữ liệu là một khó khăn đáng kể đối với học bằng cây quyết định và những phương pháp học khác Đặc biệt khi số lượng ví dụ trong tập dữ liệu đào tạo quá ít hay có “nhiễu” trong dữ liệu
Có hai phương pháp tránh “quá vừa” dữ liệu trong cây quyết định: a Dừng phát triển cây sớm, trước khi đạt tới điểm phân lớp hoàn hảo tập dữ liệu đào tạo Với phương pháp này, một thách thức đặt ra là phải ước lượng chính xác thời điểm dừng phát triển cây
15 b Cho phép cây có thể “quá vừa” dữ liệu, sau đó sẽ cắt, tỉacây Mặc dù phương pháp thứ nhất có vẻ trực tiếp hơn, nhưng với phương pháp thứ hai thì cây quyết định đƣợc sinh cho phép quá vừa và sau đó sẽ thực hiện thao tác cắt tỉa, điều này sẽ đơn giản hơn nhiều so với việc ƣớc lƣợng thời điểm dừng phát triển cây Hơn nữa việc cắt tỉa cây quyết định còn giúp tổng quát hóa và cải thiện độ chính xác của mô hình phân lớp Dù thực hiện phương pháp nào thì vấn đề mấu chốt ở đây là tiêu chuẩn nào được sử dụng để xác định kích thước hợp lý của cây cuối cùng
+ Thao tác với thuộc tính liên tục
Việc thao tác với thuộc tính liên tục trên cây quyết định hoàn toàn không đơn giản nhƣ với thuộc tính rời rạc
Thuộc tính rời rạc có tập giá trị (domain) xác định từ trước và là tập hợp các giá trị rời rạc; Ví dụ loại ô tô là một thuộc tính rời rạc với tập giá trị là: {xe tải, xe khách, xe con, taxi} Việc phân chia dữ liệu dựa vào phép kiểm tra giá trị của thuộc tính rời rạc đƣợc chọn tại một ví dụ cụ thể có thuộc tập giá trị của thuộc tính đó hay không: Value(A) X với X domain(A) Đây là phép kiểm tra logic đơn giản, không tốn nhiều tài nguyên tính toán Trong khi đó, với thuộc tính liên tục (thuộc tính dạng số) thì tập giá trị là không xác định trước Chính vì vậy, trong quá trình phát triển cây, cần sử dụng kiểm tra dạng nhị phân: value(A) ≤ θ Với θ là ngƣỡng (threshold) đƣợc lần lƣợt xác định dựa trên từng giá trị riêng biệt hay từng cặp giá trị liền nhau (theo thứ tự đã sắp xếp) của thuộc tính liên tục đang xem xét trong tập dữ liệu đào tạo Điều đó có nghĩa là nếu thuộc tính liên tục A trong tập dữ liệu đào tạo có n giá trị phân biệt thì cần thực hiện n-1 lần kiểm tra value(A) ≤ θi với i = 1 n-1 để tìm ra ngƣỡng θbest tốt nhất tương ứng với thuộc tính đó Việc xác định giá trị của θ và tiêu chuẩn tìm θbest tốt nhất tùy vào chiến lƣợc của từng thuật toán
2.1.3 Ƣu nhƣợc điểm của cây quyết định trong khai phá dữ liệu
So với các phương pháp khai phá dữ liệu khác, kỹ thuật khai phá dữ liệu bằng cây quyết định có một số ƣu nhƣợc điểm sau:
+ Khả năng sinh ra các quy tắc hiểu đƣợc:
Cây quyết định có khả năng sinh ra các quy tắc có thể chuyển đổi sang mô hình dạng quy tắc (hay còn gọi là mô hình dạng luật IF THEN ) đây là ƣu điểm nổi bật của kỹ thuật này, cho dù hình dáng cây quyết định có thể lớn và phức tạp do những tập dữ liệu lớn nhưng việc đi theo bất cứ đường nào trên cây đều dễ dàng theo nghĩa phổ biến và rõ ràng Do vậy việc giải thích cho bất cứ một sự phân lớp hay dự đoán nào đều tương đối rõ ràng và trực quan
+ Khả năng thực thi những lĩnh vực hướng quy tắc:
Quy nạp và đặc biệt là cây quyết định là lựa chọn tối ưu cho những lĩnh vực sở hữu các quy tắc thực thụ Từ di truyền đến quá trình công nghiệp đều ẩn chứa vô vàn nguyên tắc tiềm ẩn, không rõ ràng do bản chất phức tạp và dữ liệu nhiễu làm che mờ Khi nghi ngờ sự hiện diện của những quy tắc ẩn không thể quan sát, cây quyết định trở nên vô cùng hữu hiệu.
+ Dễ tính toán trong khi phân lớp:
Nhƣ chúng ta đã biết, cây quyết định có thể chứa nhiều định dạng, nhƣng trong thực tế, các thuật toán sử dụng để tạo ra cây quyết định thường tạo ra những cây với số phân nhánh thấp và các test đơn giản tại từng node Những test điển hình là: So sánh số, xem xét phần tử của một tập hợp và các phép nối đơn giản Khi thực thi trên máy tính những test này chuyển thành các toán hàm logic và số nguyên là những toán hạng thực thi nhanh và không đắt Đây chính là một ưu điểm quan trọng bởi trong môi trường thương mại, các mô hình dự đoán thường được sử dụng để phân lớp hàng triệu thậm trí hàng tỉ bản ghi a Khả năng xử lý với cả hai thuộc tính liên tục và rời rạc:
Cây quyết định xử lý “tốt” nhƣ nhau với thuộc tính liên tục và thuộc tính rời rạc Tuy nhiên, thuộc tính liên tục cần nhiều tài nguyên tính toán hơn Những thuộc tính rời rạc đã từng gây ra những vấn đề với mạng neural và các kỹ thuật thống kê lại thực sự dễ dàng thao tác với các điều kiện phân chia (splitting criteria) trên cây quyết định, mỗi nhánh tương ứng với từng phân tách tập dữ liệu theo giá trị của thuộc tính đƣợc chọn để phát triển tại node đó Các thuộc
17 tính liên tục cũng dễ dàng phân chia bằng việc chọn ra một số gọi là ngƣỡng trong tập các giá trị đã sắp xếp của thuộc tính đó Sau khi chọn đƣợc ngƣỡng tốt nhất, tập dữ liệu phân chia theo test nhị phân của ngƣỡng đó b Thể hiện rõ ràng những thuộc tính tốt nhất:
Các thuật toán xây dựng cây quyết định đƣa ra thuộc tính mà phân chia tốt nhất tập dữ liệu huấn luyện bắt đầu từ node gốc của cây Từ đó có thể thấy những thuộc tính nào là quan trọng nhất cho việc dự đoán hay phân lớp
Với những ƣu điểm nổi bật nhƣ đã nêu trên, cây quyết định cũng vẫn không tránh khỏi những tồn tại và hạn chế
+ Cây quyết định không thích hợp cho những bài toán với mục tiêu là dự đoán giá trị của thuộc tính liên tục nhƣ thu tập, huyết áp hay lãi suất ngân hàng, Cây quyết định cũng khó giải quyết với những dữ liệu thời gian liên tục nếu không bỏ ra nhiều công sức cho việc đặt ra sự biểu diễn dữ liệu theo các mẫu liên tục
SỬ DỤNG CÂY QUYẾT ĐỊNH (DT) ĐỂ PHÂN LOẠI KHÁCH HÀNG 18
2.2.1 Tổng quan về thuật toán cây quyết định
Chúng ta có thể định nghĩa cây quyết định có các tính chất sau:
- Mỗi nút trong (internal node) biểu diễn một thuộc tính cần kiểm tra giá trị (an attribute to be tested) đối với các các tập thuộc tính
- Nút lá (leaf node) hay còn gọi là nút trả lời biểu thị cho một lớp các trường hợp mà nhãn của nó là tên của lớp, nó biểu diễn một lớp
- Nút nhánh (branch) từ một nút sẽ tương ứng với một giá trị có thể của thuộc tính gắn với nút đó
Nhãn (lable) của nút này là tên của thuộc tính và có một nhánh nối nút này đến các cây con ứng với mỗi kết quả có thể có phép thử Nhãn của nhánh này là các giá trị của thuộc tính đó.Nút trên cùng gọi là nút gốc
Hình 2.2 : Mô tả chung về cây quyết định
2.2.2 Thiết kế cây quyết định a Tạo cây
Cây quyết định được tạo thành bằng cách lần lượt chia (theo phương pháp đệ quy) một tập dữ liệu thành các tập dữ liệu con, mỗi tập con đƣợc tạo thành từ các phần tử của cùng một lớp Các nút (không phải là nút lá) là các điểm phân
19 nhánh của cây Việc phân nhánh tại các nút có thể dựa trên việc kiểm tra một hay nhiều thuộc tính để xác định việc phân chia dữ liệu b Tiêu chuẩn tách
Chúng ta mong muốn chọn thuộc tính sao cho việc phân lớp tập mẫu là tốt nhất Nhƣ vậy chúng ta cần phải có một tiêu chuẩn để đánh giá vấn đề này
Có rất nhiều tiêu chuẩn đƣợc đánh giá đƣợc sử dụng đó là: Lƣợng thông tin thu thêm IG (Information Gain), thuật toán ID3 của John Ross Quilan c Tiêu chuẩn dừng
Tiêu chuẩn dừng là các tiêu chí để dừng quá trình xây dựng cây quyết định Một số tiêu chuẩn dừng phổ biến là sử dụng tập kiểm tra với các ngưỡng như giảm nhiễu, số mẫu trong nút, tỷ lệ mẫu trong nút hoặc chiều sâu của cây Những tiêu chuẩn này giúp ngăn ngừa tình trạng quá khớp (overfitting) trong cây quyết định, đảm bảo cây có thể tổng quát hóa tốt với dữ liệu mới.
Sau giai đoạn tạo cây chúng ta có thể dùng phương pháp “Độ dài mô tả ngắn nhất” (Minimum Description Length) hay giá trị tối thiểu của IG để tỉa cây (chúng ta có thể chọn giá trị tối thiểu của IG trong giai đoạn tạo cây đủ nhỏ để cho cây phát triển tương đối sâu, sau đó lại nâng giá trị này lên để tỉa cây)
2.2.3 Các bước tổng quát để xây dựng cây quyết định
Quá trình xây dựng một cây quyết định cụ thể bắt đầu bằng một nút rỗng bao gồm toàn bộ các đối tƣợng huấn luyện và làm nhƣ sau :
- Nếu tại nút hiện thời, tất cả các đối tƣợng huấn luyện đều thuộc vào một lớp nào đó thì nút này chính là nút lá có tên là nhãn lớp chung của các đối tƣợng
- Trường hợp ngược lại, sử dụng một độ đo, chọn thuộc tính điều kiện phân chia tốt nhất tập mẫu huấn luyện có tại nút
- Tạo một lƣợng nút con của nút hiện thời bằng số các giá trị khác nhau của thuộc tính đƣợc chọn Gán cho mỗi nhánh từ nút cha đến nút con một giá trị của thuộc tính rồi phân chia các đối tượng huấn luyện vào các nút con tương ứng
- Nút con K đƣợc gọi làt huần nhất, trở thành lá, nếu tất cả các đối tƣợng mẫu tại đó đều thuộc vào cùng một lớp
- Lặp lại các bước 1-3 đối với mỗi nút chưa thuần nhất
2.2.4 Nghiên cứu cây quyết định trong khai phá dữ liệu a Xác định lớp của các mẫu mới
Trên cơ sở đã biết giá trị của các thuộc tính của các mẫu X1, X2, …, Xn ta xác định thuộc tính quyết định (hay phân lớp) Y của đối tƣợng đó (có thể dùng kỹ thuật này để nhận dạng mẫu, dự báo …) b Rút ra các tri thức hay luật từ cây
Với mục đích và nhiệm vụ chính của việc khai phá dữ liệu là phát hiện ra các quy luật, các mô hình từ trong CSDL Từ mô hình thu đƣợc ta rút ra các tri thức hay các quy luật dưới dạng cây hoặc các luật dưới dạng “If…Then…” Hai mô hình trên là tương đương, chúng có thể được chuyển đổi qua lại giữa các mô hình đó với nhau
Ví dụ : Các luật rút ra từ cây trong ví dụ trên:
Hình 2.3 :Ví dụ về cây quyết định
- Luật 1: IF( Nợ 10.000$ ) Then (Quyết định : Không cho vay )
THUẬT TOÁN XÂY DỰNG CÂY QUYẾT ĐỊNH DỰA VÀO ENTROPY
Entropy là độ đo mức độ không chắc chắn của biến ngẫu nhiên (bnn)
Giả sử X là một bnn rời rạc với bảng chữ cái 3 và hàm pmf
- Hàm pmf (hàm khối xác suất): Trong lý thuyết xác suất, hàm khối xác suất là một hàm đặc trƣng của biến ngẫu nhiên rời rạc Hàm cho ta biết xác suất để một biến ngẫu nhiên rời rạc bằng với một giá trị nào đó trong miền giá trị (không gian mẫu) Viết tắt của hàm là PMF, ký hiệu là , -
- Ta cũng có thể viết H(p) để thể hiện đại lƣợng trên Log tính theo cơ số 2 và entropy đƣợc tính theo bit Ta cũng qui ƣớc rằng 0log0=0 để tiện cho việc tính toán
Hình 2.4 Quan hệ giữa p và
2.3.2 Tiêu chí chọn thuộc tính phân lớp
Tiêu chí để đánh giá tìm điểm chia là rất quan trọng, chúng đƣợc xem là một tiêu chuẩn “heuristic” để phân chia dữ liệu Ý tưởng chính trong việc đưa ra các tiêu chí trên là làm sao cho các tập con đƣợc phân chia càng trở nên “trong suốt” (tất cả các bộ thuộc về cùng một nhãn) càng tốt Thuật toán dùng độ đo lƣợng thông tin thu thêm (Information Gain-IG) để xác định điểm chia Độ đo này dựa trên cơ sở lý thuyết thông tin của nhà toán học Claude Shannon, độ đo này đƣợc xác nhƣ sau:
Xét bảng quyết định DT = (U, C {d}), số giá trị (nhãn lớp) có thể của d là k Khi đó Entropy của tập các đối tƣợng trong DT đƣợc định nghĩa bởi:
Entropy là thước đo mức độ hỗn loạn hoặc bất định trong một hệ thống Trong lý thuyết thông tin, entropy của một tập hợp các đối tượng được định nghĩa bằng tổng xác suất của mỗi đối tượng nhân với logarit nghịch đảo của xác suất đó Công thức tính entropy là H = -∑pi * log2(pi), trong đó pi là tỷ lệ các đối tượng trong tập mang nhãn lớp i.
U chỉ ra số lƣợng bít cần thiết để mã hóa lớp của một phần tử đƣợc lấy ra ngẫu nhiên từ tập U Lƣợng thông tin thu thêm (Information Gain - IG) là lƣợng Entropy còn lại khi tập các đối tƣợng trong DT đƣợc phân hoạch theo một thuộc tính điều kiện c nào đó IG xác định theo công thức sau
Trong đó Vc là tập các giá trị của thuộc tính c, Uvlà tập các đối tƣợng trong DT có giá trị thuộc tính c bằng v Giá trị IG(U, c) đƣợc sử dụng làm độ đo lựa chọn thuộc tính phân chia dữ liệu tại mỗi nút trong thuật toán xây dựng cây quyết định ID3 Thuộctính đƣợc chọn là thuộc tính cho lƣợng thông tin thu thêm lớn nhất Ý nghĩa của đại lƣợng IG trong lĩnh vực lý thuyết công nghệ thông tin: IG của tập S chỉ ra số lƣợng bít giảm đối với việc mã hóa lớp của một phần tử c đƣợc lấy ra ngẫu nhiên từ tập U
* Ý tưởng của thuật toán ID3:
- Thực hiện giải thuật tìm kiếm tham lam (greedy search) đối với không gian các cây quyết định có thể
- Xây dựng nút (node) theo chiến lƣợc Top-Down, bắt đầu từ nút gốc
- Ở mỗi nút, thuộc tính kiểm tra (test attribute) là thuộc tính có khả năng phân loại tốt nhất
- Tạo mới một cây con (sub-tree) của nút hiện tại cho mỗi giá trị có thể của thuộc tính kiểm tra và tập dữ liệu đầu vào sẽ đƣợc tách ra thành các tập con tương ứng với các cây con vừa tạo
- Mỗi thuộc tính chỉ được phép xuất hiện tối đa 1 lần đối với bất kỳ đường đi nào trong cây
- Quá trình phát triển cây sẽ tiếp tục cho tới khi:
+ Cây quyết định phân loại hoàn toàn (perfectly classifies) các dữ liệu đầu vào
+ Tất cả các thuộc tính đƣợc sử dụng
Xét bảng quyết định DT = {U, C {d}} sau đây:
Ngày Quang cảnh Gió Nhiệt độ Độ ẩm Quyết định
Ngày 1 Âm u Có Mát mẻ Cao Có
Ngày 2 Nắng Không Ấm áp Cao Không
Ngày 3 Nắng Không Nóng Cao Không
Ngày 4 Âm u Không Nóng Trung bình Không
Ngày 5 Nắng Có Nóng Thấp Có
Ngày 6 Mƣa Không Ấm áp Cao Không
Ngày 7 Mƣa Không Nóng Cao Không
Ngày 8 Mƣa Không Nóng Trung bình Không
Ngày 9 Âm u Có Nóng Thấp Có
Ngày 10 Mƣa Không Ấm áp Trung bình Có
Ngày 11 Mƣa Có Nóng Trung bình Không
Ngày 12 Mƣa Không Nóng Cao Không
Thuật toán xây dựng cây quyết định với dữ liệu ở bảng trên nhƣ sau:
Ví dụ: o Luật 1: Nếu (Quảng cảnh = Âm u) And (Gió = Có) And (Nhiệt độ Mát ) And (Độ ẩm = Cao) Then (Quyết định = Chơi) o Luật 2: Nếu (Quảng cảnh = Nắng) And (Gió = Khô) And (Nhiệt độ Ấm áp ) And (Độ ẩm = Cao) Then (Quyết định = Không chơi) o Luật 3: Nếu (Quảng cảnh = Nắng) And (Gió = Khô) And (Nhiệt độ Nóng) And (Độ ẩm = Cao) Then (Quyết định = Không chơi) o Luật 4: Nếu (Quảng cảnh = Âm u) And (Gió = Khô) And (Nhiệt độ Nóng) And (Độ ẩm = Trung bình) Then (Quyết định = Không chơi) o Luật 5: Nếu (Quảng cảnh = Nắng) And (Gió = Có) And (Nhiệt độ Nóng) And (Độ ẩm = Thấp) Then (Quyết định = Chơi) o Luật 6: Nếu (Quảng cảnh = Mƣa) And (Gió = Khô) And (Nhiệt độ Ấm áp) And (Độ ẩm = Cao) Then (Quyết định = Không chơi)
- Trước tiên nút lá được khởi tạo gồm các mẫu từ 1 đến12
+ Đầu tiên sẽ tính Entropy cho toàn bộ tập huấn luyện U gồm: bốn bộ {1,
5, 9, 10} có giá trị thuộc tính nhãn là “CÓ” và tám bộ {2, 3, 4, 6, 7, 8, 11, 12} có thuộc tính nhãn là “KHÔNG”, do đó:
+ Tính IG cho từng thuộc tính:
Thuộc tính “Quang cảnh” Thuộc tính này có ba giá trị là “Âm u”, “Nắng” và “Mƣa”.Căn cứ vào bảng dữ liệu ta thấy:
+ Với giá trị của “Âm u” có ba bộ {1, 9} có giá trị thuộc tính nhãn là
“CÓ” và có một bộ {4} có nhãn lớp là“KHÔNG”
+ Tương tự giá trị của “Nắng” có một bộ {5} có nhãn lớp là “CÓ” và có hai bộ {2, 3} có nhãn lớp là“KHÔNG”;
+ Với giá trị “Mƣa” có một bộ {10} có nhãn lớp “CÓ” và năm bộ {6, 7, 8,
Theo công thức trên, độ đo lƣợng thông tin thu thêm của thuộc tính
“Quang cảnh” xét trên Ulà:
Theo cách tính tương tự như trên, ta tính được:
Nhƣ vậy, thuộc tính “Độ ẩm” là thuộc tính có chỉ số IG lớn nhất nên sẽ đƣợc chọn là thuộc tính phân chia Vì thế thuộc tính “Độ ẩm” đƣợc chọn làm nhãn cho nút gốc, ba nhánh đƣợc tạo ra lần lƣợt với tên là: “Cao”, “Trung bình”, “Thấp” Hơn nữa nhánh “Thấp” có các mẫu {5, 9} cùng thuộc một lớp
“CÓ ” nên nút lá đƣợc tạo ra với nhãn là “CÓ ”.Kết quả phân chia sẽ là cây quyết định nhƣ sau:
Hình 2.5 Cây sau khi chọn thuộc tính Độ ẩm (ID3)
- Bước tiếp theo gọi thuật toán đệ quy: ID3(U1, C-{Độ ẩm}, {d})
Tương tự để tìm điểm chia tốt nhất tại thuật toán này, phải tính toán chỉ số IG của các thuộc tính “Quang cảnh”, “Gió”, “Nhiệt độ”
+ Đầu tiên ta cũng tính Entropy cho toàn bộ tập huấn luyện trong U1 gồm một bộ {1} có thuộc tính nhãn là “CÓ ” và năm bộ {2, 3, 6, 7, 12} có thuộc tính nhãn là “KHÔNG”:
+ Tiếp theo tính IG cho thuộc tính “Quang cảnh”, thuộc tính này có ba giá trị là “Âm u”, “Nắng” và “Mƣa” Nhìn vào bảng dữ liệu:
Với giá trị “Âm u” chỉ có một bộ {1} có giá trị thuộc tính nhãn là “CÓ”
Tương tự giá trị “Nắng” chỉ có hai bộ {2, 3} đều có nhãn lớp là“KHÔNG”;
Với giá trị “Mƣa” chỉ có ba bộ {6, 7, 12} đều có nhãn lớp“KHÔNG”
Do đó, độ đo lƣợng thông tin thu thêm của thuộc tính “Quang cảnh” xét trên U1 là:
+ Tính tương tự ta cũng có:
Ta thấy chỉ số IG của ba thuộc tính “Quang cảnh”, “Gió”, “Nhiệt độ” là nhƣ nhau ta có thể chọn bất kỳ thuộc tính nào để phân chia
Giả sử ta chọn thuộc tính “Quang cảnh” để phân chia Do đó, thuộc tính
“Quang cảnh” làm nhãn cho nút bên trái nối với nhánh “Cao”
Thuộc tính này có ba giá trị “Âm u”, “Nắng” và “Mƣa” nên ta tiếp tục tạo thành ba nhánh mới là “Âm u”, “Nắng” và “Mƣa”:
+ Với nhánh “Âm u” gồm một mẫu {1} và có giá trị quyết định là “CÓ ” nên ta tạo nút lá là “CÓ”
+ Với nhánh “Nắng” gồm hai mẫu {2, 3} và có cùng giá trị quyết định là“KHÔNG” nên tạo nút lá là“KHÔNG”
+ Với nhánh “Mƣa” có ba mẫu {6, 7, 12} và đều có giá trị quyết định là
“KHÔNG” nên ta tạo nút lá là “KHÔNG” Sau khi thực hiện xong thuật toán đệ quy: ID3(U1,C-{Độ ẩm}, {d}), ta có cây nhƣ sau:
Hình 2.6 Cây sau khi chọn thuộc tính Quang cảnh (ID3)
- Bước tiếp theo gọi thuật toán đệ quy: ID3(U2, C-{ Độ ẩm},{d})
+ Tính một cách tương tự như trên ta có:
Ta thấy chỉ số IG của “Nhiệt độ” là lớn nhất, nên nó đƣợc chọn để phân chia Do đó, thuộc tính “Nhiệt độ” làm nhãn cho nút bên phải nối với nhánh
“Trung bình” Trong U2, thuộc tính này có hai giá trị “Nóng” và “Ấm áp” nên ta tiếp tục tạo thành hai nhánh mới là “Nóng” và “Ấm áp”:
Với nhánh “Nóng” gồm ba mẫu {4, 8, 11} và đều có giá trị quyết định là
“KHÔNG” nên ta tạo nút lá là“KHÔNG”
Với nhánh “Ấm áp” gồm một mẫu {10} và có giá trị quyết định là “CÓ ” nên tạo nút lá là “CÓ”
Cuối cùng thu đƣợc cây nhƣ sau:
Hình 2.8 Cây kết quả (ID3)
Tóm lƣợc lý thuyết về phân lớp (Classification)
Trong lĩnh vực máy học (machine Learning) và nhận dạng (pattern recognition), bài toán phân lớp (classification) đề cập đến các thuật toán (algorithms) nhằm xác định lớp (class) của đối tƣợng đã cho sẽ thuộc về lớp nào trong các lớp đã cho trước (Given Categories) Một điều cần chú ý là khác với bài toán phân cụm (clustering), dữ liệu dùng để xây dựng mô hình (Training Data) trong bài toán phân lớp phải được xác định lớp trước (pre-Labeled).
Thực hiện bài toán phân lớp với Weka
Phần này trình bày xây dựng mô hình phân lớp với phần mềm Weka, trên bộ dữ liệu hóa đã giới thiệu ở trên
Download Weka tại đây http://www.cs.waikato.ac.nz/ml/weka/
Hình 3.1 Giao diện phần mềm WEKA
WEKA là một công cụ phần mềm viết bằng Java phục vụ lĩnh vực học Java, máy và khai phá dữ liệu các tính năng chính
Một tập các công cụ tiền xử lý dữ liệu, các giải thuật học máy, khai phá dữ liệu, và các phương pháp thí nghiệm đánh giá
Giao diện đồ họa (gồm cả tính năng hiển thị hóa dữ liệu)
Môi trường cho phép so sánh các giải thuật học máy và khai phá dữ liệu
Ví dụ sử dụng phần mềm weka để ra quyết định trên bảng dữ liệu thời tiết được cho bên dưới:
Hình 3.2.Bảng dữ liệu thời tiết
Chọn tab: Prerprocess để thực hiện các bước tiền xử lý trong data Mining nhƣ (Load data, Filter, …)
Hình 3.3 Nạp dữ liệu Sau khi nạp dữ liệu, chọn Tab classify để chọn các mô hình phân loại Ở đây ta sẽ sử dụng và so sánh hiệu quả của 2 mô hình phân lớp của cây quyết định (Decision tree) là J48 và SimpleCART và mô hình MultilayerPerceptron của mạng Neuron (Neural network)
Hình 3.4 Giao diện Tap classify
Hình 3.6 Chọn cây quyết định
Chú ý: Việc lựa chọn thuật toán nào để có một model tốt phụ thuộc rất nhiều yếu tố, trong đó cấu trúc của dataset có ý nghĩa quan trọng đến việc lựa chọn thuật toán Ví dụ thuật toán cây hồi qui phân loại (CART – Classification And Regression Tree) và J48 cho kết quả tốt trên các dữ liệu kiểu số (Numerical Data), trong khi đó thuật toán ID3 cho kết quả tốt đối với dữ liệu định danh (nominal Data)
3.2 CƠ SỞ DỮLIỆU ÁP DỤNG
Trong bài luận này, chúng tôi sử dụng tập dữ liệu chovay.csv có 11 thuộc tính bao gồm 10 thuộc tính quyết định và 1 thuộc tính đích.
Thứ tự Thuộc tính Giá trị Ý nghĩa
1 Tuoi Tre,Trungnien,Gia Trẻ, trung niên,già
2 Gioitinh Nam, Nu Nam, Nữ
Nông thôn, Thị trấn, Ngoại ô, Thành phố
4 Thunhap Thap,Trungbinh,Cao Thấp, trung bình, cao
5 Kethon Co, Khong Có, không
Khôngcon,Mộtcon, Hai con, Ba con
7 XeOto Co, Khong Có, không
8 TaikhoaTietkiem Co, Khong Có, không
9 TaikhoanHientai Co, Khong Có, không
10 TaikThechap Co, Khong Có, không
11 RESULT(Chovay) True, false Có (True), Không(False)
Với cơ sở dữ liệu này chúng tôi đưa thông tin vào tương ứng như sau:
Hình 3.8 Bảng dữ liệu cho vay Kết quả sau khi đƣa vào Weka thù chúng ta thu đƣợc các quyế định nhƣ sau: