Ứng dụng của khai phá dữ liệu Khai phá dữ liệu là một bước trong qui trình khám phá tri thức gồm có cácthuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán
Trang 1LỜI CẢM ƠN
Đầu tiên, em xin tỏ lòng biết ơn sâu sắc đến Thầy PGS TS Đỗ Phúc đa truyền đạt cho em nguồn kiến thức quý báu, hướng chúng em khai phá luồng kiến thức mới, tạo cơ sở nghiên cứu cho em thực hiện đề tài này.
Em cũng xin chân thành cảm ơn Quý Thầy Cô ở phòng sau đại học, trường Đại học Công nghệ thông tin đa tạo mọi điều kiện để em hoàn thành đề tài này.
Xin chân thành cảm ơn các anh chị trong lớp Cao học Khoa học máy tính và các bạn đồng nghiệp đa góp ý thảo luận đề tài.
Xin chân thành cảm ơn!
TP Hồ Chí Minh, ngày 24 tháng 11 năm 2012
Người thực hiện
Phạm Ngọc Giàu
Trang 2MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN KHAI PHÁ DỮ LIỆU VÀ MÁY HỌC 3
1.1 Tổng quan máy học 3
1.2 Tổng quan về khai phá dữ liệu 3
1.3 Quá trình khai phá dữ liệu 4
1.4 Ứng dụng của khai phá dữ liệu 5
1.5 Một số phương pháp khai phá dữ liệu thông dụng 6
1.5.1 Dự Đoán 6
1.5.1.1 Phân lớp 6
1.5.1.2 Hồi quy 7
1.5.2 Mô tả 7
1.5.2.1 Phân cụm 7
1.5.2.2 Luật kết hợp 8
1.5.3 Khai phá dữ liệu với cây quyết định 8
1.5.3.1 Tiền xử lý dữ liệu 8
1.5.3.2 Tạo cây 9
1.5.3.3 Tiêu chuẩn tách nhánh 9
1.5.3.4 Tỉa cây 9
1.6 Hệ thống thông tin 9
1.7 Bảng quyết định 10
1.8 Kết luận chương 1 11
CHƯƠNG 2 CÁC PHƯƠNG PHÁP PHÂN LỚP 12
2.1 Phân lớp dữ liệu 12
2.1.1 Khái niệm về phân lớp 12
2.1.2 Các bước chính để giải quyết bài toán phân lớp 13
2.1.3 Mục đích phân lớp dữ liệu 15
2.1.4 Độ chính xác trong phân lớp dữ liệu 15
2.1.5 Các cách tiếp cận 16
2.2 Phương pháp tổng quát xây dựng cây quyết định 16
2.2.1 Cấu trúc cây quyết định 19
2.2.2 Xây dựng luật từ cây quyết định 19
2.2.3 Entropy 20
2.2.4 Gia lượng thông tin (Information Gain) 20
2.3 Thuật toán C4.5 21
Trang 32.3.1 Giới thiệu 21
2.3.2 Độ đo sử dụng để xác định điểm chia tốt nhất 21
2.3.3 Một số vấn đề với thuộc tính 22
2.3.3.1 Thuộc tính liên tục 22
2.4.3.2 Thuộc tính nhiều giá trị 24
2.4.3.3 Thuộc tính thiếu giá trị 25
2.3.4 Thuật tốn C4.5 26
2.4 Phương pháp phân lớp Nạve Bayesian 33
2.4.1 Giới thiệu 33
2.4.2 Định lý Bayes 33
2.4.3 Phân lớp Nạve Bayes (NBC) 34
2.5 Phương pháp đánh giá thuật tốn 35
2.6 Hồi quy đa biến 36
2.6.1 Hệ số tương quan 36
2.6.2 Mơ hình hồi quy tuyến tính đa biến 37
2.6.3 Hiện tượng đa cộng tuyến 39
2.7 Kết luận chương 2 40
CHƯƠNG 3 GOM CỤM DỮ LIỆU VÀ THUẬT TỐN WEKA 41
3.3 Cơng cụ khai phá dữ liệu Weka 43
3.3.1 Giới thiệu cơng cụ Weka 43
3.3.2 Các phiên bản Weka 44
3.3.3 Cửa sổ chính Weka 44
3.2.4 Màn hình Explorer Preprocess 45
3.2.5 Màn hình Explorer Classify 46
3.3.6 Cấu trúc tập dữ liệu mẫu 47
3.3.6.1 Cấu trúc tập CSV 47
3.3.6.2 cấu trúc tập Arff 47
3.3.7 Thực nghiệm với chức năng Explorer 48
THỬ NGHIỆM THUẬT TỐN KHAI PHÁ DỮ LIỆU 49
4.1 Cài đặt hệ thống 49
4.1.1 Thuật tốn áp dụng 49
4.1.2 Một số giao diện chương trình 49
Giao diện chính của chương trình 50
Chức năng của giao diện: 50
Cho phép người dùng chọn ứng dụng để thử nghiệm và thốt khỏi chương trình 50
Giao diện thử nghiệm thuật tốn Kmeans 50
Chức năng của chương trình: 50
+ Open File: Mở tập dữ liệu mẫu 51
+ Save File: Xuất file kết quả 51
Trang 4+ X, Y: Nhập tạo độ X, Y vào textbox 51
+Add: Thêm điểm vào đồ thị 51
+ Create Random Numpoints: Tạo bảng điểm ngẫu nhiên và add vào đồ thị 51
+Run: Chạy thuật toán Kmean để gom cụm 51
+Clear: Xoá màn hình và vẽ lại đồ thị 51
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 52
1 Kết luận 52
TÀI LIỆU THAM KHẢO 53
Trang 6MỞ ĐẦU
• Lý do chọn đề tài
Trong những năm gần đây, khai phá dữ liệu đã trở thành một trong nhữnghướng nghiên cứu lớn nhất của lĩnh vực khoa học máy tính và công nghệ tri thức Khaiphá dữ liệu đã và đang ứng dụng thành công vào nhiều lĩnh vực ngân hàng, thươngmại, tài chính, thị trường chứng khoán, y học, thiên văn, môi trường, giáo dục, viễnthông và sinh học v.v Khối lượng thông tin đã được xử lý trong tất cả các lĩnh vực đã
và đang tăng lên đáng kể, chúng được lưu trữ trong các cơ sở dữ liệu tập trung hayphân tán Vấn đề làm thế nào để có được các thông tin hữu ích từ các cơ sở dữ liệukhổng lồ đang rất được quan tâm phát triển, công việc đó được người ta đặt cho têngọi là Khai phá dữ liệu (Data Mining) Kết quả của việc khai phá dữ liệu đã đem lạinhiều thành công trong thực tế Điều đó đã làm tăng nhận thức của con người trongviệc phân tích các cơ sở dữ liệu lớn để có thể biến những “dữ liệu thụ động” thành dữliệu có ích Khai phá dữ liệu gồm nhiều hướng tiếp cận khác nhau Các kỹ thuật chínhđược áp dụng trong lĩnh vực này phần lớn được kế thừa từ các lĩnh vực cơ sở dữ liệu,máy học (machine learning), trí tuệ nhân tạo (artificial intelligence), lý thuyết thông tin(information theory), xác suất thống kê (probability & statistics), tính toán hiệu năngcao (high performance computing), và phương pháp tính toán mềm (soft computingmethodologies) Các bài toán chủ yếu trong khai phá dữ liệu là khai phá văn bản (textmining), khai phá web (web mining), khai phá luật kết hợp (association rules mining),
lý thuyết tập thô (rough set theory), phân cụm (clustering), phân lớp (classification)…
Trong những năm trước đây, phương pháp phân lớp đã được đề xuất, nhưngkhông có phương pháp tiếp cận phân loại nào là cao hơn và chính xác hơn hẳn nhữngphương pháp khác Tuy nhiên 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 Phân loại Bayesian giả định rằng các thuộc tính dữ liệu độc lập và rời rạc Vìvậy nó rất dể hiểu và dễ sử dụng nhưng kết quả thì chưa được thoả đáng
Xây dựng cây quyết định bằng thuật toán C4.5 dựa trên gia lượng thông tin(Information Gain) giảm thiểu số lần cần so sánh Ý tưởng cơ bản của thuật toán làthuộc tính có giá trị gia lượng thông tin lớn nhất sẽ được chọn để phân nhánh như làmột giải pháp “heuristic” trong việc chọn lựa thuộc tính phân lớp Tuy nhiên, một vấn
đề của các thuật toán trên là một cây con có thể lặp lại nhiều lần trong cây quyết định.Bên cạnh đó, một thuộc tính có thể được dùng nhiều lần trên một đường đi cụ thể của
Trang 7cây Điều đĩ làm giảm hiệu quả quá trình phân cấp Do đĩ lựa chọn thuộc tính để phânnhánh là vấn đề rất quan trọng được nhiều nhà khoa học nghiên cứu, và cĩ rất nhiềucơng trình được cơng bố trong những năm gần đây Bài thu hoạch « SỬ DỤNGPHƯƠNG PHÁP PHÂN LỚP, GOM CỤM TRONG KHAI PHÁ DỮ LIỆU VÀCƠNG CỤ KHAI PHÁ DỮ LIỆU WEKA » nhằm nghiên cứu các phương pháp phânlớp và gom cụm áp dụng trong khai phá dữ liệu và cơng dụng của cơng cụ weka trongkhai phá dữ liệu.
• Mục đích nghiên cứu
Nghiên cứu một số phương pháp và thuật tốn áp dụng trong các bài tốn phânlớp và gom cụm hiện nay
• Đối tượng và phạm vi nghiên cứu
Nghiên cứu phương pháp xây dựng cây quyết định dựa trên thuật tốn C4.5,phương pháp phân lớp Nạve Bayes và phương pháp gom cụm Kmeans
• Phương pháp nghiên cứu
Nghiên cứu lý thuyết, phân tích, tổng hợp, cài đặt, khái quát rút ra những vấn đềcần thiết cho đề tài
Trang 8CHƯƠNG 1 TỔNG QUAN KHAI PHÁ DỮ LIỆU VÀ MÁY HỌC1.1 Tổng quan máy học
Máy học (Machine Learning) là một ngành khoa học nghiên cứu các thuật toáncho phép máy tính có thể học được các khái niệm (concept), là sự tự động của quytrình học và xây dựng những luật dựa vào việc quan sát trạng thái trên cơ sở dữ liệu và
sự chuyển hoá của chúng Đây là lĩnh vực rộng lớn không chỉ bao gồm việc học từ các
ví dụ hoặc các mẫu, mà còn học tăng cường, học có sự hướng dẫn,… Máy học kiểmtra những ví dụ trước đó và kiểm tra luôn cả những kết quả của chúng khi đưa ra vàhọc làm cách nào để tái sử dụng lại những kết quả này và tạo nên những sự tổng quáthoá cho những trường hợp mới
Nói chung, hệ máy học không sử dụng những quan sát đơn lẻ về tập dữ liệu của
nó mà là toàn bộ một tập dữ liệu Tập dữ liệu này thường được gọi là tập huấn luyệnhoặc tập dữ liệu học Tập này chứa những mẫu dữ liệu được biểu diễn theo một cáchnào đó để máy có thể đọc và hiểu được Tập huấn luyện bao giờ cũng hữu hạn, do đókhông phải toàn bộ dữ liệu sẽ được học một cách chính xác
Một tiến trình máy học gồm 2 giai đoạn :
Giai đoạn học: Hệ thống phân tích cơ sở dữ liệu nhận ra sự tương tự giữa các
đối tượng dữ liệu Kết quả của việc phân tích có thể là nhóm các đối tượng vào trongcác lớp, tạo ra các luật, tiên đoán lớp cho các đối tượng mới
Giai đoạn thử nghiệm: Các luật được tạo ra phải được kiểm nghiệm lại bằng
một số hàm tính toán thực thi trên một phần của tập dữ liệu huấn luyện hoặc trên mộttập dữ liệu lớn
1.2 Tổng quan về khai phá dữ liệu
Khai phá dữ liệu có nguồn gốc từ các phương pháp riêng biệt, một trong nhữngdạng quan trọng nhất là thống kê và máy học Thống kê có nguồn gốc từ toán học và
do đó nhấn mạnh đến độ chính xác toán học, mong muốn thiết lập cái mà có thể nhận
ra trên nền toán học trước khi kiểm thử nó trong thực tế Ngược lại, máy học có nguồngốc rất nhiểu trong thực tiễn tính toán Điều này dẫn đến thực tiễn, sẳn sàng kiểm thử
để biết nó thực hiện tốt thế nào mà không cần chờ một chứng minh chính thức
Trang 9Khai phá dữ liệu là quá trình phát hiện các mô hình, các tổng kết khác nhau vàcác giá trị được lấy từ tập dữ liệu cho trước Khai phá dữ liệu là sự thăm dò và phântích lượng dữ liệu lớn để khám phá từ dữ liệu ra các mẫu hợp lệ, có ích và có thể hiểuđược Hợp lệ là các mẫu đảm bảo tính tổng quát và chưa được biết trước đó, có ích là
có thể dựa vào mẫu đó đưa ra các hành động phù hợp, hiểu được là có thể biên dịch vàhiểu thấu đáo các mẫu
Các kỹ năng phân tích của con người là không đầy đủ do kích thước và chiềucủa dữ liệu, tốc độ tăng trưởng của dữ liệu là rất lớn Thêm vào đó là những đáp ứngmạnh mẽ của kỹ thuật về khả năng thu thập dữ liệu, lưu trữ, năng lực tính toán, phầnmềm, sự thành thạo về chuyên môn Ngoài ra còn có môi trường cạnh tranh về dịch
vụ, chứ không chỉ cạnh tranh về giá (đối với Ngân Hàng, công Ty Điện Thoại, KháchSạn,…) Tất cả những điều đó chính là nguyên nhân thúc đẩy khai phá dữ liệu pháttriển
1.3 Quá trình khai phá dữ liệu
Trước tiên, phân biệt giữa các thuật ngữ “mô hình (model)” và “mẫu (pattern)”dùng trong khai phá dữ liệu Mô hình là một cấu trúc “quy mô lớn”, có thể là tổng kếtcác hệ qua nhiều trường hợp (case), trong khi mẫu là một cấu trúc cục bộ, thỏa mãnbởi một số ít trường hợp hoặc trong một miền nhỏ của không gian dữ liệu Quá trìnhkhai phá tri thức tiến hành theo các bước sau :
- Bước 1 : Tập hợp dữ liệu là quan sát từ các nguồn dữ liệu khác nhau và ghi thành tập
dữ liệu Bước này hết sức quan trọng vì nếu xác định sai vấn đề thì toàn bộquá trình phá sản, nó trở nên vô ích, điều này cũng giống như ngành côngnghệ phần mềm thất bại ở giai đoạn xác định yêu cầu người dùng Do vậygiai đoạn này có lẽ là giai đoạn tốn nhiều thời gian nhất
- Bước 2 : Chọn lọc dữ liệu là xác định các tập dữ liệu đích và các trường liên quan
- Bước 3 : Làm sạch dữ liệu là xoá bỏ nhiễu, tiền xử lý Dữ liệu phân tích và tập hợp
để sử dụng tốt hơn cho ứng dụng
- Bước 4 : Giảm bớt dữ liệu và chuyển đổi dữ liệu là tìm ra những đặc trưng hữu dụng,
giảm bớt các chiều hoặc các biến, biểu diễn lại các đại lượng bất biến
- Bước 5 : Lựa chọn chức năng khai phá dữ liệu là tổng kết, phân lớp, hồi quy, kết hợp
và phân nhóm
Trang 10- Bước 6 : Hỗ trợ ra quyết định là các luật được chọn lọc và được nhóm lại để sử dụng
thuận tiện hơn và dễ hiểu hơn
1.4 Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu là một bước trong qui trình khám phá tri thức gồm có cácthuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toánchấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu Nói một cách khác,mục đích khai phá dữ liệu chính là tìm ra các mẫu và các mô hình đang tồn tại trongcác cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng núi dữ liệu Ngày nay khai phá
dữ liệu có nhiều ứng dụng trong thực tế, một số ứng dụng điển hình của khai phá dữliệu có thể được áp dụng để đưa ra quyết định trong kinh doanh như:
Marketing: Các ứng dụng bao gồm việc phân tích hành vi của khách hàng dựa
vào các hóa đơn mua hàng, xác định kế hoạch Marketing bao gồm việc quảng cáo, vịtrí kho hàng, và thư ngõ, phân đoạn khách hàng, cửa hàng, hay sản phẩm và thiết kếdanh mục, bố trí cửa hàng, chiến dịch quảng cáo
Tài chính và thị trường chứng khoán: Áp dụng vào việc phân tích các thẻ tín
dụng tiêu biểu của các khách hàng, phân đoạn tài khoản nhận được, phân tích đầu tưtài chính như chứng khoán, giấy chứng nhận, và các quỹ tình thương, đánh giá tàichính, và phát hiện kẻ gian, Dự báo giá của các loại cổ phiếu trong thị trườngchứng khoán,
Bảo hiểm: Áp dụng vào việc phân tích mức độ rủi ro xảy ra đối với từng loại
hàng hoá, dịch vụ hay chiến lược tìm kiếm khách hàng mua bảo hiểm,
Quá trình sản xuất: Các ứng dụng giải quyết sự tối ưu của các nguồn tài
nguyên như các máy móc, nhân sự, và nguyên vật liệu; thiết kế tối ưu trong quá trìnhsản xuất, bố trí phân xưởng và thiết kế sản phẩm, chẳng hạn như quá trình tự động dựavào yêu cầu khách hàng
Y học và chăm sóc sức khỏe: Các ứng dụng bao gồm tìm ra các mẫu trong
phim X-Quang, phân tích dữ liệu thí nghiệm để tìm ra bệnh tật, phân tích mối liên hệgiữa triệu chứng bệnh, chuẩn đoán và phân tích ảnh hưởng của thuốc, và hiệu quả củaviệc điều trị; và tối ưu của các quá trình xử lý trong một bệnh viện, mối quan hệ giữatình trạng bệnh nhân với tình trạng chuyên môn của bác sĩ,
Ngoài ra khai phá dữ liệu có nhiều ứng dụng khác có thể được áp dụng trongcác lĩnh vực như khoa học, môi trương, xã hội học, …
Trang 111.5 Một số phương pháp khai phá dữ liệu thông dụng
Hình 1.1 biểu diễn một tập dữ liệu giả hai chiều Mỗi một điểm trên hình đạidiện cho một người vay tiền ngân hàng tại một số thời điểm trong quá khứ Dữ liệuđược phân loại vào hai lớp: những người không có khả năng trả nợ và những ngườitình trạng vay nợ đang ở trạng thái tốt (tức là tại thời điểm đó có khả năng trả nợ ngânhàng) Mục đích chính của khai phá dữ liệu là dự đoán (prediction) và mô tả(description)
Hay nói cách khác, phân lớp là học một hàm ánh xạ một mục dữ liệu vào mộttrong số các lớp cho trước Hình 1.2 cho thấy sự phân lớp của các dữ liệu vay nợ vàotrong hai lớp Ngân hàng có thể sử dụng các miền phân loại để tự động quyết định liệunhững người vay nợ trong tương lai có nên cho vay hay không
Trang 121.5.1.2 Hồi quy
Phân tích hồi quy là một phương pháp phân tích thống kê để dự đóan các giá trịcủa một hoặc một số biến phụ thuộc (biến đáp ứng) theo một tập hợp các biến độc lập(các biến dùng để dự báo) Nó cũng được vận dụng để đánh giá hiệu quả tác động củabiến độc lập đối với biến phụ thuộc
Ví dụ như đánh giá xác suất một bệnh nhân sẽ chết dựa trên tập kết quả xétnghiệm chẩn đoán, dự báo nhu cầu của người tiêu dùng đối với một sản phẩn mới dựatrên hoạt động quảng cáo tiêu dùng
dữ liệu được sử dụng nhiều trong các ứng dụng về phân loại thị trường, phân loạikhách hàng, nhận dạng mẫu, phân loại trang Web, … Ngoài ra phân cụm dữ liệu còn
có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác
Trang 13Hình 1.3 cho thấy sự phân cụm tập dữ liệu cho vay vào trong 3 cụm: lưu ý rằngcác cụm chồng lên nhau cho phép các điểm dữ liệu thuộc về nhiều hơn một cụm
1.5.2.2 Luật kết hợp
Mục tiêu của phân tích luật kết hợ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 Mẫu đầu ra của giải thuật khai phá dữ liệu
là tập luật kết hợp tìm được 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 tập mục phổ biến được xác định qua
tính độ 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
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như Marketing,phân tích quyết định, quản lí kinh doanh, …
1.5.3 Khai phá dữ liệu với cây quyết định
Cây quyết định là một trong những hình thức mô tả dữ liệu trực quan nhất, dễhiểu nhất đối với người dùng Cây quyết định là một cấu trúc cây, biểu diễn một vấn
đề quyết định Mỗi nút trong gắn với một thuộc tính điều kiện, mỗi nhánh từ nút tronggắn với một giá trị của thuộc tính điều kiện tương ứng, mỗi nút lá gắn với một giá trịthuộc tính quyết định
1.5.3.1 Tiền xử lý dữ liệu
Một tập dữ liệu thô bao gồm các mẫu dữ liệu ban đầu hay chưa biến đổi từ tổngthể Hầu hết dữ liệu thô hữu ích biểu diễn một cách chính xác Một kết hợp của cácmẫu thống kê và sự điều chỉnh của chuyên gia
Trong thế giới thực, nói chung dữ liệu thô chắc chắn có mức độ nhiễu Điều này
có các nguyên nhân khác nhau như là dữ liệu lỗi, dữ liệu có đại lượng không chínhxác, Do đó, chúng ta thường tiền xử lý (nghĩa là, “làm sạch”) để loại bỏ tất cả dữ
Trang 14liệu thô bị nhiễu Các giai đoạn tiền xử lý này cũng có thể biến đổi dữ liệu thô hiển thịhữu ích hơn
1.5.3.2 Tạo cây
Cây quyết định được tạo thành bằng cách lần lượt chia (đệ quy) một tập dữ liệuthành các tập dữ liệu con, mỗi tập con được tạo thành chủ yếu từ các phần tử của cùngmột lớp Các nút (không phải là nút lá) là các điểm phân nhánh của cây Việc phânnhá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 địnhviệc phân chia dữ liệu
1.5.3.3 Tiêu chuẩn tách nhánh
Việc lựa chọn chủ yếu trong các thuật toán phân lớp dựa vào cây quyết định làchọn thuộc tính nào để kiểm tra tại mỗi nút của cây Chúng ta mong muốn chọn thuộctí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êuchuẩn để đánh giá vấn đề này Các tiêu chuẩn sẽ được trình bày trong các thuật toánxây dựng cây quyết định ở Chương 2
1.5.3.4 Tỉa cây
Trong giai đoạn tạo cây chúng ta có thể giới hạn việc phát triển của cây bằng sốbản tin tối thiểu tại mỗi nút, độ sâu tối đa của cây hay giá trị tối thiểu của lượng thôngtin thu thêm 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 gia lượng thông tin(Informatin Gian) để tỉa cây
1.6 Hệ thống thông tin
Hệ thống thông tin là công cụ biểu diễn tri thức dưới dạng một bảng dữ liệugồm p cột ứng với p thuộc tính và n hàng ứng với n đối tượng/mẫu
Định nghĩa 1.1 Hệ thống thông tin là một bộ tứ S = (U, A, V, f ) trong đó
U là tập khác rỗng, hữu hạn các đối tượng; A là tập khác rỗng, hữu hạn các thuộc
a với Va là tập giá trị của thuộc tính a ∈A; f là hàm thông tin, với mọi
A
a∈ và x i∈U hàm f cho giá trị f(x i,a)∈V a
Bảng 1.1: Hệ thống thông tin về hiện tượng cảm cúm
Trang 15U Thân nhiệt Đau cơ Đau đầu Cảm cúm
Xét Bảng 1.1, hệ thống thông tin gồm 8 đối tượng U={ x1,…,x8} và 4 thuộc tính A= {Thân nhiệt, Đâu cơ, Đâu đầu, Cảm cúm}
1.7 Bảng quyết định
Định nghĩa 1.2 Bảng quyết định là một dạng đặc biệt của hệ thống thông tin,
trong đó tập các thuộc tính A bao gồm hai tập con rời nhau: tập các thuộc tính điềukiện C và tập các thuộc tính quyết định D Như vậy, bảng quyết định là một hệthống thông tin DT = ( U, C ∪ D, V, f), trong đó C ∩ D = ∅
Không mất tính tổng quát có thể giả thiết D chỉ gồm một thuộc tính quyết địnhduy nhất d, (trường hợp có nhiều thuộc tính thì bằng một phép mã hoá luôn có thể quy
về một thuộc tính) Như vậy, mỗi đối tượng x trong bảng quyết định được mô tả bằngmột véc tơ (c1(x), c2(x), , cp(x), d(x))
Xét ví dụ, cho bảng quyết định DT = { U, C ∪ {d}, V, f} trong đó:
+ U={u1 ,u2 ,u3 ,u4 ,u5 ,u6, u7 ,u8} là không gian các đối tượng
+ C = {M,C,N,T} là tập các thuộc tính điều kiện (M: Màu tóc; C: Chiều cao; N: Cânnặng; T: Dùng thuốc)
+ d ={K} là thuộc tính quyết định (K: Kết quả)
Bảng 1.2: Bảng quyết định về hiện tượng rám nắng
TT Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
Trang 16u8 Đen Thấp Nhẹ Có Không
Định nghĩa 1.3 Cho bảng quyết định DT = (U, C ∪ {d}, V, f) Ta gọi tập
Y C d
PO
d U
}}
{u},{u},{u},{u},{u},{u},{u},{{u
Vậy miền C khẳng định d = C X1∪C X2
},,,,{u}u,u,{u1 4 5 ∪ 2 u3 u6 u7 u8
=
}u ,u,u ,u ,u ,u ,u ,{u1 2 3 4 5 6 7 8
=
U
=Dựa vào ví dụ trên, dễ thấy POSC(d) là tập các đối tượng được phân lớp đúng(như d ) trong U nếu sử dụng tập các thuộc tính điều kiện C
Một thuộc tính c ∈ C được gọi là không cần thiết trong DT nếu
)
()
(
SC d POS {} d
PO = C− c Ngược lại c là cần thiết trong DT.
Ta nói bảng quyết định DT = (U, C ∪ {d}, V, f) là độc lập nếu mọi thuộc tính c
∈ C đều cần thiết trong DT
Định nghĩa 1.4 Xét bảng quyết định DT = (U, C ∪ {d}, V, f) và hai đối tượng
x, y ∈ U Ta nói x và y mâu thuẫn nhau trong DT nếu C(x) = C(y) nhưng d(x) ≠ d(y)
Đối tượng x được gọi là nhất quán trong DT nếu không tồn tại một đối tượng
y khác mâu thuẫn với x DT được gọi là nhất quán nếu mọi đối tượng trong x ∈ Uđều là nhất quán
Mệnh đề 1.1 Xét bảng quyết định DT = (U, C ∪ {d}, V, f) Ta có POSC(d) ={x ∈ U | x là đối tượng nhất quán}
Hơn nữa, nếu DT là nhất quán thì POSC(d) = U
Trang 17+ Trình bày tổng quan về lý thuyết hệ thống thông tin và bảng quyết định.
CHƯƠNG 2 CÁC PHƯƠNG PHÁP PHÂN LỚP2.1 Phân lớp dữ liệu
2.1.1 Khái niệm về phân lớp
Phân lớp dữ liệu[1] là kỹ thuật dựa trên tập dữ liệu mẫu và những giá trị hay lànhãn của lớp trong một thuộc tính phân lớp và sử dụng nó trong việc phân lớp dữ liệumới Chúng ta có thể phân các trường hợp phân lớp thông dụng:
Lớp mô tả: thành viên của các lớp khác nhau không thuộc phạm vi nghiên cứu
phân lớp Ví dụ, đậu Nành và Hoa Hồng thuộc hoàn toàn vào các lớp tách biệt nhau,chúng hoàn toàn được xác định thuộc vào lớp nào bởi thuộc tính đặc biệt Vì vậy,chúng ta nói phân lớp ở đây là sự phân lớp các thành viên trong cùng một chủng loại
mà giữa chúng không có bất kỳ một đặc điểm hoặc thuộc tính đặc biệt nào để phânbiệt
Lớp quyết định: lớp ở đây là kết quả của dự đoán dựa vào thông tin của các
thuộc tính, người ta thường xem chúng thuộc các bài toán về dự đoán Một ví dụ màchúng ta dễ thấy đó là lãi suất (chẳng hạn như lãi suất mua bán ngoại tệ, lãi suất tiềngửi hoặc lãi suất tiền vay,…) Thông thường câu hỏi được đặt ra là lãi suất sẽ tăng(thuộc lớp 1) hay không tăng (thuộc lớp 0) Lớp được định nghĩa trước bởi một phầnkhông gian mẫu, tức là bởi các thuộc tính Chúng ta có thể thấy rằng lớp là một hàmcủa các thuộc tính Như vậy một thể hiện có thể bị phân sai lớp nếu có một vài thuộctính vượt ngoài giới hạn đã định trước Luật được dùng để phân lớp dữ liệu dựa vào
Trang 18các thuộc tính, như vậy vấn đề ở đây là tạo ra các luật càng giống với các luật thực tếcàng tốt.
2.1.2 Các bước chính để giải quyết bài toán phân lớp
Bước 1 : Học (Training) Mục đích của bước này là xây dựng một mô hình xác định
một tập các lớp dữ liệu Mô hình này được xây dựng bằng cách phân tích các
bộ dữ liệu của một cơ sở dữ liệu, mỗi bộ dữ liệu được xác định bởi giá trị củacác thuộc tính Giả sử mỗi bộ dữ liệu thuộc về một trong các lớp đã đượcđịnh nghĩa trước, điều này được xác định bởi một trong các thuộc tính, gọi làthuộc tính phân lớp Trong ngữ cảnh của bài toán phân lớp, mỗi bộ dữ liệuđược xem là một mẫu, một ví dụ, hay một đối tượng Những bộ dữ liệu đượcphân tích để xây dựng mô hình phân lớp lấy từ trong tập dữ liệu học hay dữliệu huấn luyện (training data set) Những bộ dữ liệu riêng lẻ tạo thành tập dữliệu huấn luyện còn gọi là những mẫu huấn luyện (training samples) và đượcchọn ngẫu nhiên từ kho các mẫu
Mô hình được đưa ra sau khi đã phân tích xong tập dữ liệu huấn luyện thường
có dạng là những luật phân lớp, cây quyết định hay các công thức toán học Ví dụ,Hình 2-1 có một bảng dữ liệu về thông tin khách hàng, một mô hình phân lớp (luật
Trang 19phân lớp) được xây dựng quá trình học ở Bước 1 có thể xác định những khách hàng tincậy và những khách hàng bình thường của một cửa hàng Luật phân lớp này có thểđược sử dụng để phân loại các mẫu dữ liệu trong tương lai, cũng như nó cung cấp mộttri thức hữu ích chứa trong cơ sở dữ liệu.
Bước 2 : Dữ liệu kiểm tra được dùng để ước lượng độ chính xác của bộ phân lớp Nếu
độ chính xác là chấp nhận được thì có thể dùng bộ phân lớp để phân lớp cácmẫu dữ liệu mới
Đầu tiên, đánh giá độ chính xác của mô hình hay bộ phân lớp này bằng cách sửdụng một tập các mẫu đã được phân lớp để kiểm tra (test) gọi là bộ kiểm tra (test set).Những mẫu này được chọn ngẫu nhiên và độc lập với các mẫu đã học ở Bước 1 gọi làmẫu kiểm thử (test sample)
Độ chính xác của một mô hình phân lớp dựa trên bộ kiểm thử là tỷ lệ nhữngmẫu thử được phân lớp đúng bằng mô hình phân lớp đó Lưu ý, nếu độ chính xác của
mô hình này dựa trên tập dữ liệu huấn luyện, thì mô hình này được đánh giá là tối ưu,
nó phân lớp đúng hoàn toàn trên các mẫu đã học, trong trường hợp này, mô hìnhhướng tới sự quá khít (Overfitting) của dữ liệu Vì vậy phải sử dụng một bộ dữ liệuthử Nếu độ chính xác của một mô hình được xem xét có thể chấp nhận được thì môhình đó được dùng để phân lớp cho các bộ dữ liệu hoặc các đối tượng trong tương lai
Ví dụ, mô hình phân lớp được xây dựng trong Bước 1 bằng cách phân tích dữ liệu của
Trang 20các khách hàng đã biết, được dùng để dự đoán các khách hàng mới trong tương lai ởHình 2-2.
2.1.3 Mục đích phân lớp dữ liệu
Nhanh hơn: chẳng hạn trong việc đọc mã bưu điện bằng máy để có thể sắp xếp
và phân loại thư từ, tránh khó khăn cho nhân viên bưu chính
Xác định độ rủi ro trong các đơn xin vay tiền dựa vào các thông tin khách hàngvay tiền, chúng ta có thể xếp khách hàng xin vay tiền vào nhóm khách hàng có độ rủi
ro cao, thấp hoặc bình thường để từ đó có thể tham khảo để đưa ra quyết định đúngđắn
Trong lĩnh vực y khoa, chúng ta hy vọng là tránh được các phẫu thuật do chẩnđoán sai lầm, do vậy một hệ thống chẩn đoán độc lập, đáng tin cậy dựa vào các triệuchứng bên ngoài là rất cần thiết
Dự đoán trước để đưa ra các quyết định đầu tư tín dụng hay mua bán chứngkhoán
Các vấn đề cần quan tâm và giải quyết đối với bộ phân lớp:
o Độ chính xác: độ tin cậy của một luật dựa vào tỷ lệ chính xác khi phân lớp
mặc dù có một số lỗi được coi là nghiêm trọng hơn các lỗi khác, nhưng vấn đềquan trọng là điều chỉnh và đánh giá đối với các lớp quan trọng
o Dễ hiểu: Một bộ phân lớp dễ hiểu sẽ tạo cho người sử dụng tin tưởng hơn vào
hệ thống, đồng thời cũng giúp cho người sử dụng tránh được việc hiểu lầm kếtquả của một luật được đưa ra bởi hệ thống
o Thời gian để học: Vấn đề này đặc biệt quan trọng khi hệ thống được sử dụng
trong các môi trường thay đổi thường xuyên, điều đó yêu cầu hệ thống phảihọc rất nhanh một luật phân lớp hoặc nhanh chóng điều chỉnh một luật đã đượchọc cho phù hợp với thực tế Thời gian học phải nhanh cũng hay được sử dụngtrong các hệ thống có số lượng mẫu học tương đối ít
2.1.4 Độ chính xác trong phân lớp dữ liệu
Độ chính xác của thuật toán đối với tập dữ liệu học thường rất khác với độchính xác của thuật toán đối với tập dữ liệu kiểm tra Điều này không phải là khôngthường xuyên xảy ra, đặc biệt là trong các ứng dụng máy học, đối với tập dữ liệu họcthì có kết quả rất tốt nhưng đối với tập dữ liệu kiểm tra thì rất tệ Thông thường thì độ
Trang 21chính xác đối với dữ liệu chưa biết tức là chưa xác định được lớp mới là quan trọng.Phương pháp chung để dự đốn được nhiều người chấp nhận nhất là sử dụng tập dữliệu đã biết trước theo cách như sau :
Dùng một phần dữ liệu cho trước (tập dữ liệu học) để huấn luyện hệ thống vàxây dựng mơ hình (tập luật)
Tập luật này sẽ được kiểm tra trên tập dữ liệu cịn lại, và kết quả được đem sosánh với kết quả phân lớp đã biết trước Tỷ lệ phân lớp đúng trên tập dữ liệu kiểm tra
là một ước đốn độ chính xác của tập luật được xây dựng trong quá trình học
Trong thực tế áp dụng, chúng ta thấy rằng khơng cĩ một thuật tốn phân lớpnào là tốt nhất trong mọi trường hợp mà mỗi thuật tốn chỉ tốt trong một số trường hợp
cụ thể nào đĩ mà thơi
Do thời gian cĩ hạn, trong phạm vi bài thu hoạch này chỉ nghiên cứu đến một
số phương pháp tiếp cận phân lớp cĩ hướng dẫn mà cụ thể là Cây quyết định, ID3,C4.5, phương pháp Nạve Bayes và hồi quy đa biến
2.2 Phương pháp tổng quát xây dựng cây quyết định
Bước 1 : 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ì cho nút này thành nút lá cĩ tên là nhãn lớp chung của các đốitượng
Bước 2 : 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
Bước 3 : 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 các đối tượng huấn luyện vào các nút contương ứng
Trang 22Bước 4 : Nút con t được gọi là thuần nhất, trở thành nút 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ỗinút chưa thuần nhất
Xét một ví dụ xây dựng một cây quyết định như sau:
Cho Bảng 2.1 biểu diễn thông tin về 14 đối tượng u1,…,u14 Bảng 2.1 là mộtbảng quyết định với tập thuộc tính điều kiện C = {Ngoài trời, Nhiệt độ, Độ ẩm, Gió}
và thuộc tính quyết định là d = {Chơi Gold}
Bảng 2-1 : Bảng quyết định khách hàng chơi Gold
Hình 2-3 minh hoạ một cây quyết định ứng với tập dữ liệu Bảng 2-1 (với lớp
“Có” nghĩa là chơi Golf, lớp “Không” nghĩa là không chơi Gold) Cây quyết định nàyđưa ra quyết định có hay không có khách chơi Golf tuỳ thuộc vào các thông số đầu
vào (Ngoài trời, Nhiệt độ, Độ ẩm, Gió) Ví dụ một mẫu NgoàiTrời=Nắng, Nhiệtđộ=Nóng, Độẩm=Cao và Gió=Mạnh được phân vào lớp Không (tức là ngoài
trời nằng nóng, độ ẩm cao và gió mạnh thì sẽ không có người chơi Golf)
Trang 23Cây quyết định của ví dụ trên có thể được giải thích như sau: Các nút lá chứacác giá trị của thuộc tính quyết định hay thuộc tính phân lớp (thuộc tính “ChơiGold”) Các nút con tương ứng với các thuộc tính khác thuộc tính điều kiện haythuộc tính phân lớp, nút gốc cũng được xem như một nút con đặc biệt, ở đây chính làthuộc tính “Ngoài trời” Các nhánh của cây từ một nút bất kỳ tương ứng với một giátrị của thuộc tính điều kiện được chọn Lưu ý cây quyết định trên không có sự thamgia của thuộc tính “Nhiệt độ” trong thành phần cây, các thuộc tính như vậy được gọichung là các thuộc tính dư thừa bởi vì các thuộc tính này không ảnh hưởng đến quátrình xây dựng mô hình của cây
Trong các thuật toán cơ sở xây dựng cây quyết định chỉ chấp nhận các thuộctính tham gia vào quá trình phân lớp có giá trị rời rạc, bao gồm cả thuộc tính đượcdùng để dự đoán trong quá trình học cũng như các thuộc tính được sử dụng để kiểm tratại mỗi nút của cây
Việc xây dựng cây quyết định được tiến hành một cách đệ qui, lần lượt từ nútgốc xuống tới tận các nút lá Tại mỗi nút hiện hành đang xét, nếu kiểm tra thấy thoảđiều kiện dừng thì thuật toán sẽ tạo nút lá Nút này được gán một giá trị của nhãn lớptùy điều kiện dừng được thoã Ngược lại, thuật toán tiến hành chọn điểm chia tốt nhấttheo một tiêu chí cho trước, phân chia dữ liệu hiện hành theo điều kiện chia này
Sau bước phân chia trên, thuật toán sẽ lặp qua tất cả các tập con (đã được chia)
và tiến hành gọi đệ qui như bước đầu tiên với dữ liệu chính là các tập con này
Trang 24Trong Bước 3, tiêu chuẩn sử dụng lựa chọn thuộc tính được hiểu là một số đo
độ phù hợp, một số đo đánh giá độ thuần nhất, hay một quy tắc phân chia tập mẫuhuấn luyện
2.2.1 Cấu trúc cây quyết định
Cây quyết định là một cấu trúc được sử dụng để chia liên tiếp một tập cácbản ghi lớn thành các tập con nhỏ hơn bằng cách áp dụng một chuỗi các luật đơngiản Với mỗi phép chia liên tiếp, các tập con thu được trong tập kết quả sẽ ngày cànggiống nhau Nó có cấu trúc như sau :
- Mỗi nút mang một thuộc tính (biến độc lập)
- Mỗi nhánh tương ứng với một giá trị của thuộc tính
- Mỗi nút lá là một lớp (biến phụ thuộc)
2.2.2 Xây dựng luật từ cây quyết định
Mỗi một đường dẫn từ gốc đến nút lá trong cây tạo thành một luật, luật này có
vế trái là một bộ giá trị của các thuộc tính được chọn để phân lớp, vế phải là một trongcác giá trị của thuộc tính kết quả Xét cây quyết định Hình 2-3 ta có một số luật sauđây :
(Ngoài trời=Nắng ∧ Độ ẩm=TB) → (Chơi Gold, Có)
(Ngoài trời=Nhiều mây) → (Chơi Gold, Có)
(Ngoài trời=Mưa ∧ Gió=Nhẹ) → (Chơi Gold, Có)
(Ngoài trời=Nắng ∧ Độ ẩm=Cao) → (Chơi Gold, Không)
(Ngoài trời=Mưa ∧ Gió=Mạnh) → (Chơi Gold, Không)
Trang 25Việc lựa chọn thuộc tính để phân hoạch chủ yếu trong các thuật toán phânlớp dựa vào cây quyết định là chọn thuật toán nào để kiểm tra tại mỗi nốt cây Chúng
ta mong muốn chọn được 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á được vấn đề này Có rất nhiềutiêu chuẩn thường được sử dụng để xây dựng cây quyết định, nhưng trong bài thuhoạch đề cập đến là dựa vào Entropy , Information Gain và Ratio Gain, các tiêu chuẩnnày được đề cập cụ thể trong từng thuật toán ở bên dưới
2.2.3 Entropy
Entropy[1] là một đại lượng toán học dùng để đo lượng tin không chắc (haylượng ngẫu nhiên) của một sự kiện hay của phân phối ngẫu nhiên cho trước và đượcđịnh nghĩa như sau :
Cho bảng quyết định DT = (U, C ∪ D) Không mất tính tổng quát, ta có thểxem D={d}, Card(Vd)=k Phân hoạch của U đối với thuộc tính d gồm các lớp : U1, U2,
…, Uk, đặt , 1 , ,
) (
) (
k i
U Card
U Card
i i
p p
DT
1 log )
=
−
= (trong đó pi là tỉ lệ
các đối tượng trong DT mang nhãn lớp i)
Từ định nghĩa Entropy ở trên, chúng ta thấy rằng :
Entropy = 0 Nếu tất cả các mẫu đều thuộc cùng một lớp
Entropy = 1 Nếu k=2 và Card(U1)=Card(U2)
0 < Entropy < 1 nếu thuộc các trường hợp khác
Ví dụ : cho tập U trong Bảng 2-1 có 14 mẫu, trong đó có 9 mẫu thuộc lớp ‘Có’ và 5
mẫu thuộc lớp ‘Không’ khi đó ta có :
Entropy(U)= Entropy([9Có, 5Không])= -(9/14)log2(9/14) – (5/14)log2(5/14)= 0.940
2.2.4 Gia lượng thông tin (Information Gain)
Gia lượng thông tin[1] là tiêu chuẩn đánh giá khả năng của một thuộc tính khiđược dùng để phân lớp các mẫu dựa vào giá trị Entropy Chúng ta dựa vào tiêu chuẩnnày để chọn được thuộc tính có giá trị Entropy nhỏ nhất và dùng thuộc tính này đểphân mảnh tập mẫu Gia lượng thông tin được tính theo công thức sau:
)(
|
|
|
|)()
,
V v
v Entropy DT DT
DT DT
Entropy c
DT Gain
Trang 26lự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ộc tính được chọn là thuộc tính cho gia lượng thông tin lớn nhất
Ví dụ: tính gia lượng thông tin của thuộc tính “độ ẩm” trong Bảng 2-1
• Tập_giá_trị (Độ ẩm)={Cao, TB}, Khi đó : U = [7Cao, 7TB]
Ucao ⇐ [3Có, 4Không] ⇒ E(UCao) = - 0 985
7
4 log 7
4 7
3 log 7
1 7
6 log 7
sự phân loại xấp xỉ theo những luật của cây quyết định Cây quyết định sẽ phân loạicác trường hợp bằng cách duyệt từ nút gốc đến những nút lá Chúng ta sẽ bắt đầu từnút gốc của cây quyết định, kiểm tra thuộc tính xác định bởi nút này sau đó chuyểnxuống những nhánh của cây theo giá trị thuộc tính trong tập hợp cho trước Quá trìnhnày được lặp lại tại những cây con
Trong các thuật toán học cây quyết định thì ID3 và C4.5 là hai thuật toán phổdụng nhất Nhưng thuật toán ID3 có các thiếu sót sau đây:
• Trong thuật toán ID3, giá trị các thuộc tính là rời rạc, trong khi đó ở thế giới thựccòn tồn tại các thuộc tính có giá trị liên tục (giá trị số)
• Trong thuật toán ID3, nếu các thuộc tính có nhiều giá trị mà mỗi giá trị lại duynhất, sẽ dẫn tới tạo cây phức tạp, không đưa ra được quyết định cho các trường hợptrong thực tế
Thuật toán C4.5 là sự mở rộng của giải thuật ID3 trên một số khía cạnh sau:
• Trong việc xây dựng cây quyết định, thuật toán C4.5 có thể giải quyết tốt đối vớitrường hợp giá trị của các thuộc tính là giá trị thực
• Trong việc xây dựng cây quyết định, thuật toán C4.5 có thể giải quyết tốt đối vớitrường hợp thuộc tính có nhiều giá trị mà mỗi giá trị này lại duy nhất
2.3.2 Độ đo sử dụng để xác định điểm chia tốt nhất
Trang 271 log )
Pi là xác suất của một bộ bất kỳ trên S thuộc về nhãn Ci
Giả sử phân chia các bộ trong S trên một thuộc tính A bất kỳ, để không mất tínhtổng quát có thể xem như A có các giá trị phân biệt {a1, a2, …, av} Nếu thuộc tính Ađược sử dụng để chia thành v tập con, những tập con này sẽ tương ứng với các nhánhcon của nút hiện tại, độ đo thông tin có được sau khi phân lớp theo v tập con trên sẽđược tính như sau:
Entropy
1
) ( )
(
Trong đó: S j là tổng số bộ dữ liệu được phân chia vào tập con thứ j
Information gain: độ đo xác định ảnh hưởng của một thuộc tính trong mẫu đó
trong việc phân lớp gọi là gia lượng thông tin Gia lượng thông tin dựa trên phânnhánh bằng thuộc tính A: Gain(S,A)= Entropy(S)−Entropy A(S)
SplitInformation: Thông tin tiềm ẩn được tạo ra bằng cách chia tập dữ liệu trong
S
S S
S A
S mation SplitInfor
1
2 log )
, (Trong đó Si là tập con của S chứa các ví dụ có thuộc tính A mang giá trị Vi Để
ý rằng Splitinfomation thực sự chính là Entropy của S với sự liên quan trên những giátrị của thuộc tính A
RatioGain: Sự đánh giá thay đổi các giá trị của thuộc tính.
),(
),()
,(
A S mation SplitInfor
A S Gain A
S RatioGain =Tất cả các thuộc tính sẽ được tính toán độ đo RatioGain, thuộc tính nào có độ
đo RatioGain lớn nhất sẽ được chọn làm thuộc tính phân chia
2.3.3 Một số vấn đề với thuộc tính
2.3.3.1 Thuộc tính liên tục
Trang 28Thuật toán ID3 bị giới hạn bởi việc liên quan đến tập những giá trị rời rạc.Trong thuật toán C4.5 chúng ta sẽ mở rộng phạm vi hoạt của nó cho những thuộc tính
có giá trị liên tục (giá trị số) để phù hợp với thế giới thực
Bảng 2-3: Tập dữ liệu có giá trị liên tục
Thuật toán C4.5 đưa ra định nghĩa những giá trị rời rạc mới để phân những giátrị liên tục thành những thuộc tính tượng trưng một lần nữa theo các quy tắc sau:
• Dựa trên một giá trị nếu muốn phân chia nhị phân
• Dựa trên vài giá trị nếu muốn có nhiều nhánh
• Với mỗi giá trị tính các mẫu thuộc một lớp theo dạng A < v và A > v
• Cách chọn giá trị v hiệu quả:
o Chọn giá trị trung bình của từng cặp giá trị của thuộc tính để phân chia vàtính chỉ số gia lượng thông tin
o Chọn giá trị phân chia có chỉ số gia lượng thông tin cao nhất
Ví dụ: từ Bảng 2-3 ta tính gia lượng thông tin Gain(Sđộ ẩm, độ ẩm=67.5) như sau :
Entropy(S) = - (9/14)log2(9/14) – (5/14)log2(5/14) = 0.940
EntropyĐộ ẩm =67.5(SĐộ ẩm) = (1/14)×Entropy(SĐộ ẩm≤67.5) + (13/14)×Entropy(SĐộ ẩm>67.5)
= (1/14)(0) + (13/14)(-8/13)log2(8/13) – 5/13log2(5/13))
= 0.893
Trang 29Như vậy ta có giá trị để phân chia là 72.5
2.4.3.2 Thuộc tính nhiều giá trị
Thuật toán ID3 bị giới hạn bởi việc liên quan đến những thuộc tính có nhiều giátrị, mà các giá trị này lại duy nhất Khi đó, việc chia một tập dữ liệu thành thành quánhiều các tập con dẫn đến số lượng các lớp tại mỗi nút giảm và do đó Entropy trênthuộc tính đó cũng giảm theo, nên gia lượng thông tin (Gain) sẽ cao hơn các thuộc tínhkhác Vì vậy thuộc tính này sẽ được lựa chọn thường xuyên để tách, dẫn đến độ phânnhánh lớn, cây sẽ rất lớn và phức tạp
Ví dụ : ta thêm thuộc tính “Ngày” vào Bảng 2-3 thì ta có:
Bảng 2-4: Bảng dữ liệu thời tiết về chơi tennis
Ngày Quang cảnh Nhiệt độ Độ ẩm Gió Chơi tennis