khai phá dữ liệu bằng cây quyết định ID3

25 1.3K 9
khai phá dữ liệu bằng cây quyết định ID3

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

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

Thông tin tài liệu

khai phá dữ liệu bằng cây quyết định ID3

1 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CHUYÊN ĐỀ SIMINAR CƠ SỞ TRI THỨC VÀ ỨNG DỤNG KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH – ID3 CHUYÊN NGHÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: 60 48 01 GIÁO VIÊN HƯỚNG DẪN: GS.TSKH.HOÀNG VĂN KIẾM HỌC VIÊN THỰC HIỆN: ĐỖ THIỆN VŨ MÃ HỌC VIÊN: CH1301072 KHOÁ HỌC: 2013 TP.HỒ CHÍ MINH-2013 2 MỤC LỤC I. TỔNG QUAN VỀ CÂY QUYẾT ĐỊNH 3 1. Giới thiệu chung 3 2. Các kiểu cây quyết định: 3 3. Ưu điểm cây quyết định: 4 II. XÂY DỰNG CÂY QUYẾT ĐỊNH: 4 1. Chọn thuộc tính phân tách: 5 2. Phép kiểm tra để chọn phép phân tách tốt nhất: 7 3. Biến đổi cây quyết định thành luật: 10 III. THUẬT TOÁN PHÂN LỚP HỌC CÂY QUYẾT ĐỊNH ID3: 11 1. Mô hình: 11 2. Giải thuật ID3 11 3. Nhận Xét 12 3.1. Không Gian tìm kiếm 12 3.2. Giải Thuật: 14 4. Tối Ưu Cây Quyết Định Cuối Cùng : 15 5. Khi nào nên sử dụng ID3 16 IV. XÂY DỰNG CHƯƠNG TRÌNH KHAI PHÁ DỮ LIỆU THEO GIẢI THUẬT ID3 17 TÀI LIỆU THAM KHẢO 25 3 I. TỔNG QUAN VỀ CÂY QUYẾT ĐỊNH 1. Giới thiệu chung Cây quyết định là cấu trúc được biểu diễn dưới dạng cây gồm các nút, nhánh và lá. Cây quyết định là phương pháp dùng cho việc khai phá dữ liệu là phân loại và dự báo. Trong đó, các nút của cây là đại diện cho 1 thuộc tính dữ liệu, các nhánh biểu diễn các giá trị của thuộc tính và các lá biểu diễn các lớp quyết định. Nút trên cùng gọi là nút gốc. Cây quyết định phân lớp dữ liệu bằng cách đi từ nút gốc di chuyển theo các nhánh cho đến khi gặp nút lá. Từ đó ta có thể chuyển đổi về các luật quyết định dạng IF-Then Tạo cây quyết định chính là quá trình phân tích cơ sở dữ liệu, phân lớp và đưa ra dự đoán. 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ệu thà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ùng một lớp. Lựa chọn thuộc tính để tạo nhánh thông qua Entropy và Gain. Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu. Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó. Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính . Quá trình này được lặp lại một cách đệ qui cho mỗi tập con dẫn xuất. Quá trình đệ qui hoàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất. Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho trước. Dữ liệu được cho dưới dạng các bản ghi có dạng: 1 2 3 ( , ) ( , , , , , ) k x y x x x x y . Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phân loại hay tổng quát hóa. 1 2 3 , , x x x là các biến sẽ giúp ta thực hiện công việc đó. 2. Các kiểu cây quyết định: Cây quyết định còn có hai tên khác: 4  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 giá một ngôi nhà hoặc khoảng thời gian một bệnh nhân nằm viện)  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 trận đấu (thắng hay thua). . 3. Ưu điểm cây quyết định: So với các phương pháp khai phá dữ liệu khác, cây quyết định là phương pháp có một số ưu điểm:  Cây quyết định dễ hiểu. Người ta có thể hiểu mô hình cây quyết định sau khi được giải thích ngắn.  Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc không cần thiết. Các kỹ thuật khác thường đòi hỏi chuẩn hóa dữ liệu, cần tạo các biến phụ (dummy variable) và loại bỏ các giá trị rỗng.  Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu có giá trị là tên thể loại. Các kỹ thuật khác thường chuyên để phân tích các bộ dữ liệu chỉ gồm một loại biến. Chẳng hạn, các luật quan hệ chỉ có thể dùng cho các biến tên, trong khi mạng nơ-ron chỉ có thể dùng cho các biến có giá trị bằng số.  Cây quyết định là một mô hình hộp trắng. Mạng nơ-ron là một ví dụ về mô hình hộp đen, do lời giải thích cho kết quả quá phức tạp để có thể hiểu được.  Có thể thẩm định một mô hình bằng các kiểm tra thống kê. Điều này làm cho ta có thể tin tưởng vào mô hình.  Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn. Có thể dùng máy tính cá nhân để phân tích các lượng dữ liệu lớn trong một thời gian đủ ngắn để cho phép các nhà chiến lược đưa ra quyết định dựa trên phân tích của cây quyết định. II. XÂY DỰNG CÂY QUYẾT ĐỊNH:  Việc tạo cây quyết định bao gồm 2 giai đoạn : Tạo cây và tỉa cây . 5 - Để tạo cây ở thời điểm bắt đầu tất cả những ví dụ huấn luyện là ở gốc sau đó phân chia ví dụ huấn luyện theo cách đệ qui dựa trên thuộc tính được chọn . - Việc tỉa cây là xác định và xóa những nhánh mà có phần tử hỗn loạn hoặc những phần tử nằm ngoài (những phần tử không thể phân vào một lớp nào đó) .  Có rất nhiều biến đổi khác nhau về nòng cốt của thuật toán cây quyết định, mặc dù vậy chúng vẫn tuân theo những bước cơ bản sau : - Cây được thiết lập từ trên xuống dưới và theo cách thức chia để trị. - Ở thời điểm bắt đầu, các mẫu huấn luyện nằm ở gốc của cây - Thuộc tính được phân loại (Rời rạc hóa các thuộc tính dạng phi số ) - Chọn một thuộc tính để phân chia thành các nhánh. Thuộc tính được chọn dựa trên độ đo thống kê hoặc độ đo heuristic. - Tiếp tục lặp lại việc xây dựng cây quyết định cho các nhánh.  Điều kiện để dừng việc phân chia: + Tất cả các mẫu rơi vào một nút thuộc về cùng một lớp (nút lá) + Không còn thuộc tính nào có thể dùng để phân chia mẫu nữa + Không còn lại mẫu nào tại nút. 1. Chọn thuộc tính phân tách: Cây quyết định được xây dựng bằng cách phân tách các bản ghi tại mỗi nút dựa trên một thuộc tính đầu vào. Rõ ràng nhiệm vụ đầu tiên là phải chọn ra xem thuộc tính nào đưa ra được sự phân tách tốt nhất tại nút đó. Độ đo được sử dụng để đánh giá khả năng phân tách là độ tinh khiết. Chúng ta sẽ có những phương pháp xác định để tính toán độ tinh khiết một cách chi tiết, tuy nhiên chúng đều cố gắng đạt được hiệu quả như nhau. Một sự phân tách tốt nhất là sự phân tách làm tăng độ tinh khiết của tập bản ghi với số lượng lớn nhất. Một sự phân tách tốt cũng phải tạo ra các nút có kích cỡ tương tự nhau, hay chí ít cũng không tạo ra các nút có quá ít bản ghi. 6 Dữ liệu gốc Phép phân tách kém Phép phân tách kém Phép phân tách tốt Thuật toán xây dựng cây quyết định hết sức thấu đáo. Chúng bắt đầu bằng việc chọn mỗi biến đầu vào chưa được chọn và đo mức độ tăng độ tinh khiết trong các kết quả ứng với mỗi biến. Sau đó một phép tách tốt nhất sẽ được sử dụng trong phép tách khởi đầu, để tạo hai hay nhiều nút con. Nếu không phép phân tách nào có khả năng (có thể do có quá ít bản ghi) hoặc do không có phép phân tách nào làm tăng độ tinh khiết thì thuật toán kết thúc và nút đó trở thành nút lá. Phép phân tách trên các biến đầu vào kiểu số: đối với sự phân tách nhị phân trên một biến đầu vào, mỗi giá trị mà biến đó chứa đều có thể trở thành giá trị dự tuyển. Phép phân tách nhị phân dựa trên biến đầu vào kiểu số có dạng X < N. Để cải thiện hiệu năng, một số thuật toán không kiểm tra hết toàn bộ các giá trị của biến mà chỉ kiểm tra trên tập mẫu giá trị của biến đó. Phép phân tách trên các biến đầu vào định tính : thuật toán đơn giản nhất trong việc phân tách trên một biến định tính là ứng với mỗi giá trị của biến đó, ta tạo một nhánh tương ứng với một lớp được phân loại. Phương pháp này được sử dụng thực sự trong một số phần mềm nhưng mang lại hiệu quả thấp. Một phương pháp phổ biến hơn đó là nhóm các lớp mà dự đoán cùng kết quả với nhau. Cụ thể, nếu hai lớp của biến đầu 7 vào có phân phối đối với biến đích chỉ khác nhau trong một giới hạn cho phép thì hai lớp này có thể hợp nhất với nhau. Phép phân tách với sự có mặt của các giá trị bị thiếu: một trong những điểm hay nhất của cây quyết định là nó có khả năng xử lý các giá trị bị thiếu bằng cách coi giá trị rỗng (NULL) là một nhánh của nó. Phương pháp này được ưa thích hơn so với việc vứt các bản ghi có giá trị thiếu hoặc cố gắng gắn giá trị nào đó cho nó bởi vì nhiều khi các giá trị rỗng cũng có ý nghĩa riêng của nó. Mặc dù phép phân tách giá trị rỗng như là một lớp riêng rẽ khá có ý nghĩa nhưng người ta thường đề xuất một giải pháp khác. Trong khai phá dữ liêu, mỗi nút chứa vài luật phân tách có thể thực hiện tại nút đó, mỗi phép phân tách đó dựa vào các biến đầu vào khác nhau. Khi giá trị rỗng xuất hiên trong biến đầu vào của phép phân tách tốt nhất, ta sử dụng phép phân tách thay thế trên biến đầu vào có phép phân tách tốt thứ hai. 2. Phép kiểm tra để chọn phép phân tách tốt nhất: - Độ lợi thông tin (Information gain) • Information gain là đại lượng được sử dụng để chọn lựa thuộc tính với information gain lớn nhất. • Cho P và N là hai lớp và S là một tập dữ liệu có p phần tử lớp P và n phần tử lớp N . • Khối lượng thông tin cần thiết để quyết định một mẫu tùy ý có thuộc về lớp P hay N hay không là: • Cho các tập {S1, S2 , …, Sv} là một phân hoạch trên tập S, khi sử dụng thuộc tính A. • Cho mỗi Si chứa p i mẫu lớp P và n i mẫu lớp N • Entropy, hay thông tin mong muốn cần thiết để phân lớp các đối tượng trong tất cả các cây con Si là: • Thông tin có được bởi việc phân nhánh trên thuộc tính A là: 22 ( , ) ( , ) log log p n p p n n Info p n Entropy p n p n p n p n p n p n           1 ( ) ( , ) ii ii i pn Entropy A Info p n pn       ( ) ( , ) ( )Gain A Info p n Entropy A 8 Ví dụ: Với bảng dữ liệu: Dữ liệu chơi golf Các biến độc lập Biến phụ thuộc Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Nắng Nóng Cao Nhẹ Không Nắng Nóng Cao Mạnh Không Âm u Nóng Cao Nhẹ Có Mưa Ấm áp Cao Nhẹ Có Mưa Mát Trung bình Nhẹ Có Mưa Mát Trung bình Mạnh Không Âm u Mát Trung bình Mạnh Có Nắng Ấm áp Cao Nhẹ Không Nắng Mát Trung bình Nhẹ Có Mưa Ấm áp Trung bình Nhẹ Có Nắng Ấm áp Trung bình Mạnh Có Âm u Ấm áp Cao Mạnh Có Âm u Nóng Trung bình Nhẹ Có Mưa Ấm áp Cao Mạnh không • Lớp P: Chơi_tennis = “Có” • Lớp N: Chơi_tennis = “Không” • Thông tin cần thiết để phân lớp một mẫu được cho là:  Xét thuộc tính ‘Quang cảnh’ ta có : 22 9 9 5 5 ( , ) (9,5) - log - log 0.940 14 14 14 14 Info p n Info   9 ○ ‘Quang cảnh’ = ‘Nắng’: Info ([2,3]) = entropy (2/5, 3/5) = – 2/5log 2 (2/5) – 3/5log 2 (3/5) = 0.971 ○ ‘Quang cảnh’ = ‘Âm u’: Info ([4,0]) = entropy (1, 0) = – 1log 2 (1) – 0log 2 (0) = 0 Do không có log 2 (0) nên ta quy ước nó bằng 0 ○ ‘Quang cảnh’ = ‘Mưa’: Info ([3,2]) = entropy (3/5, 2/5) = – 3/5log 2 (3/5) – 2/5log 2 (2/5) = 0.971 ○ Entropy cho phép phân tách trên thuộc tính « Quang cảnh» : = (5/14) * 0.971 + (4/14) * 0 + (5/14) * 0.971 = 0.694 Do đó ta có: = 0.940 – 0.694= 0.246  Xét thuộc tính ‘Độ ẩm’ ta có : ○ ‘Độ ẩm’ = ‘Cao’: Info ([3,4]) = entropy (3/7, 4/7) = – 3/7log 2 (3/7) – 4/7log 2 (4/7) = 0.985 ○ ‘Độ ẩm’ = ‘Trung bình’: Info ([6,1]) = entropy (6/7, 1/7) = – 6/7log 2 (6/7) – 1/7log 2 (1/7) = 0.592 Entropy(Độ ẩm)= 7/14 Info(3,4) + 7/14 Info(6,1) = 7/14* 0.985 + 7/14* 0.592 = 0.789 Gian(Độ ẩm) = Info(9,5) – Entropy(Độ ẩm) = 0.940 – 0.798 = 0.151 Tương tự cho các thuộc tính còn lại ta có: 5 4 5 ( ) (2,3) (4,0) (3,2) 14 14 14 Entropy Quang canh Info Info Info   ( ) (9,5) ( )Gain Quang canh Info Entropy Quang canh ( ) 0.246 ( ) 0.151 ( ) 0.048 ( ) 0.029 Gain Quang canh Gain Do am Gain Gio Gain Nhiet do     10 Rõ ràng ban đầu ta sẽ chọn thuộc tính ‘Quang cảnh’ để phân tách. Sau đó làm tương tự ta sẽ được cây quyết định cuối cùng có dạng : Cây quyết định cuối cùng 3. Biến đổi cây quyết định thành luật: - Biểu diễn tri thức dưới dạng luật IF-THEN . - Mỗi luật tạo ra từ mỗi đường dẫn từ gốc đến lá. - Mỗi cặp giá trị thuộc tính dọc theo đường dẫn tạo nên phép kết (phép AND – và biểu diễn bằng dấu “,”) - Các nút lá mang tên của lớp Xét ví dụ trên ta được các luật sau: R 0 : If {Quang cảnh=Nắng,Độ ẩm=Cao,) Then {Không} R 1 : If {Quang cảnh=Nắng,Độ ẩm=Trung bình,} Then {Có} Không Có Có Không Cao Mạnh Nhẹ Quang cảnh Độ ẩm Gió Nắng Mưa TB Có Âm u [...]... diễn được tất cả các cây quyết định khác nhau có khả năng phân loại đúng dữ liệu hiện có  Vì ID3 sử dụng tất cả các ví dụ ở mỗi bước để đưa ra các quyết định dựa trên thống kê, nên kết quả tìm kiếm của ID3 rất ít bị ảnh hưởng bởi một vài dữ liệu sai (hay dữ liệu nhiễu)  Trong quá trình tìm kiếm, giải thuật ID3 thường là có xu hướng chọn cây quyết định ngắn hơn là những cây quyết định dài 13 3.2 Giải... gán nhãn (lá) của nó cho nút cha ở trên nó Vấn đề để rút ngắn cây quyết định cuối cùng là ta có thể thêm 1 hàm kiểm tra và xoá nút thừa vào bước cuối cùng của giải thuật ID3 hoặc xây dựng hàm tối ưu riêng sau khi hình thành cây quyết định cuối cùng 4 Tối Ưu Cây Quyết Định Cuối Cùng : - Tối ưu cây quyết định cuối cùng là quá trình rút ngắn cây bằng cách loại bỏ những nút thừa như trình bày ở mục trên Ở... tin thu được Từ cách nhìn ID3 như là một giải thuật tìm kiếm trong không gian các giả thuyết, ta có một số nhận xét như sau:  Không gian giả thuyết các cây quyết định của ID3 là một không gian đầy đủ các cây quyết định trên các thuộc tính đã cho trong tập rèn luyện Điều này có nghĩa là không gian mà ID3 tìm kiếm chắc chắn có chứa cây quyết định cần tìm  Trong khi tìm kiếm, ID3 chỉ duy trì một giả thuyết... nhánh của cây quyết định cuối cùng từ gốc đến lá Nếu nút cuối cùng của nhánh là thừa thì gán nhãn (lá) của nó cho nút cha liền ở trên nó Sau đó gọi lại hàm đến khi cây không còn rút ngắn rút được (cây không thay đổi) - Đầu vào: Cây quyết định cuối cùng đã được phân lớp bằng giải thuật ID3 15 - Đầu ra: Cây đã được loại bỏ các nút thừa - Code: trình bày phần sau 5 Khi nào nên sử dụng ID3 Giải thuật ID3 là... HỌC CÂY QUYẾT ĐỊNH ID3: 1 Mô hình: Giải thuật quy nạp cây ID3 (gọi tắt là ID3) là một giải thuật học đơn giản nhưng đã và đang được áp dụng thành công trong nhiều lĩnh vực  Đầu vào: Một tập hợp các ví dụ Mỗi ví dụ bao gồm các thuộc tính mô tả một tình huống, hay một đối tượng nào đó, và một giá trị phân loại của nó  Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập dữ liệu. .. 2 Giải thuật ID3 ID3 xây dựng cây quyết định (cây QĐ) theo cách từ trên xuống ID3 chọn một thuộc tính để kiểm tra tại nút hiện tại của cây và dùng trắc nghiệm này để phân vùng tập hợp các ví dụ; thuật toán khi đó xây dựng theo cách đệ quy một cây con cho từng phân vùng Việc này tiếp tục cho đến khi mọi thành viên của phân vùng đều nằm trong cùng một lớp; lớp đó trở thành nút lá của cây Vì thứ tự của... thuật khác cũng thuộc tiếp cận này, ID3 sử dụng các ví dụ rèn luyện ở dạng xác suất nên nó có ưu điểm là ít bị ảnh hưởng bởi một vài dữ liệu nhiễu Vì vậy, tập dữ liệu rèn luyện ở đây có thể chứa lỗi hoặc có thể thiếu một vài giá trị ở một số thuộc tính nào đó Vấn đề này có thể khắc phục ở giai đoạn tiền xử lý 16 IV XÂY DỰNG CHƯƠNG TRÌNH KHAI PHÁ DỮ LIỆU THEO GIẢI THUẬT ID3 Chương trình viết trên nền C#... dài 13 3.2 Giải Thuật: Theo giải thuật ID3 trên thì cây ID3 được hình thành từ các giá trị sàng lọc dần của mẫu ví dụ nhưng trong quá trình hình thành cây trong một số hiếm trường hợp sẽ tạo ra cây sẽ có nút là độc lập không bị ảnh hưởng của quyết định Cụ thể ta xét ví dụ sau: Ví dụ khảo sát 8 người qua các thuộc tính việc làm, tuổi, giới tính để đi đến quyết định hôn nhân hay không Ta có các giá trị... Xét 30 Tất cả các mẫu đều khẳng định => Trả về nút gốc với nhãn Yes (b.1) Xét 25 Tất cả các mẫu đều khẳng định => Trả về nút gốc với nhãn Yes(b.1) Theo giải thuật ID3 trên ta được cây sau: 14 Từ cây tổng thể được tạo ra ta thấy thuộc tính giới_tính là nút độc lập của cây vì tất cả các giá trị của nó (nhánh) đều nằm trong cùng 1 lớp Vì vậy ta có thể rút ngắn cây (tối ưu) bằng cách xoá nút thừa này đi... nạp khác, ID3 cũng tìm kiếm trong một không gian các giả thuyết một giả thuyết phù hợp với tập dữ liệu rèn luyện Không gian giả thuyết mà ID3 tìm kiếm là một tập hợp các cây quyết định có thể có ID3 thực hiện một phép tìm kiếm từ đơn giản đến phức tạp, theo giải thuật leo-núi (hill climbing), bắt đầu từ cây rỗng, sau đó dần dần xem xét các giả thuyết phức tạp hơn mà có thể phân loại 12 đúng các ví . QUAN VỀ CÂY QUYẾT ĐỊNH 1. Giới thiệu chung Cây quyết định là cấu trúc được biểu diễn dưới dạng cây gồm các nút, nhánh và lá. Cây quyết định là phương pháp dùng cho việc khai phá dữ liệu là. định: So với các phương pháp khai phá dữ liệu khác, cây quyết định là phương pháp có một số ưu điểm:  Cây quyết định dễ hiểu. Người ta có thể hiểu mô hình cây quyết định sau khi được giải thích. nhánh thông qua Entropy và Gain. Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu. Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho

Ngày đăng: 12/04/2015, 14:58

Từ khóa liên quan

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

Tài liệu liên quan