Thuật toán xây dựng cây quyết định

Một phần của tài liệu Tìm hiểu khai phá dữ liệu bằng cây quyết định (Trang 32 - 50)

Dữ liệu vào: Tập dữ liệu D, tập danh sách thuộc tính, tập nhãn lớp

Dữ liệu ra: Mô hình cây quyết định

Thuật toán: Tạocây(Tập dữ liệu E, tập danh sách thuộc tính F, tập nhãn lớp)

1 Nếu điều_kiện_dừng(E,F) = đúng 2 nútlá = CreateNode() 3 nútlá.nhãnlớp=Phânlớp(E) 4 return nútlá 5 Ngược lại 6 Nútgốc = CreateNode() 7 Nútgốc.điềukiệnkiểmtra = tìm_điểm_chia_tốt_nhất(E, F) 8 Đặt F = F \ {Nút chọn phân chia}

9 Đặt V = {v| v thoả điều kiện là phần phân chia xuất phát từ Nútgốc} 10 Lặp qua từng tập phân chia v ∈V

11 Đặt Ev = {e | Nútgốc.điềukiệnkiểmtra(e) = v và e ∈ E} 12 Nútcon = Tạocây(Ev, F, tập nhãn lớp) 13 Dừng lặp 14 End if 15 Trả về nútgốc. 3.2.3.3. Ví dụ: Ngày Quang cảnh Nhiệt độ Độ ẩm Gió Chơi tennis D1 Nắng Nóng 85 Nhẹ Không D2 Nắng Nóng 90 Mạnh Không D3 Âm u Nóng 78 Nhẹ Có D4 Mưa Ấm áp 96 Nhẹ Có D5 Mưa Mát 80 Nhẹ Có D6 Mưa Mát 70 Mạnh Không D7 Âm u Mát 65 Mạnh Có

D8 Nắng Ấm áp 95 Nhẹ Không D9 Nắng Mát 70 Nhẹ Có D10 Mưa Ấm áp 80 Nhẹ Có D11 Nắng Ấm áp 70 Mạnh Có D12 Âm u Ấm áp 90 Mạnh Có D13 Âm u Nóng 75 Nhẹ Có D14 Mưa Ấm áp 80 Mạnh Không - Dữ liệu vào:

+ Tập dữ liệu thời tiết.

+ Tập danh sách thuộc tính: Ngày, Quang cảnh, Nhiệt độ, Độ ẩm, Gió. + Tập nhãn lớp: Có – Không.

- Dữ liệu ra: Mô hình cây quyết định chơi tennis. - Tạo cây quyết định:

Lần tạo cây đầu tiên:

 Tìm_điểm_chia_tốt_nhất(E, F): + E: Tập dữ liệu thời tiết.

+ F: Ngày, Quang cảnh, Nhiệt độ, Độ ẩm, Gió.

Entropy(S) = -(9/14)log2(9/14) – (5/14)log2(5/14) = 0.940 Độ đo tỉ lệ gain cho thuộc tính “Quang cảnh”:

S[9+, 5-]

+: D3, D4, D5, D7, D9, D10, D11, D12, D13 - : D1, D2, D6, D8, D14

EntropyQuangcảnh(S)=(5/14)×Entropy(SNắng)+(4/14)×Entropy(SÂmu)+ (5/14)×Entropy(SMưa)

= (5/14)(- (2/5)log2(2/5) – (3/5)log2(3/5)) + (4/14)(0) + (5/14)(- (3/5)log2(3/5) – (2/5)log2(2/5))

= 0.694

Gain(S, Quang cảnh) = Entropy(S) – EntopyQuang cảnh(S) = 0.940 – 0.694 = 0.246 SplitInfomation(S, Quang cảnh) = - (5/14)log2(5/14) - (4/14)log2(5/14) - (5/14)log2(5/14)

= 1.577

GainRatio(S, Quang cảnh) = 0.246/1.577 = 0.156  Độ đo tỉ lệ gain cho thuộc tính “Gió”:

Quang cảnh

Nắng Âm u Mưa

[2+, 3-] [4+, 0-] [3+, 2-]

Gió

EntropyGió(S) = (6/14)×Entroy(SMạnh) + (8/14)×Entropy(SNhẹ) = (6/14)(1) + (8/14)(- (6/8)log2(6/8) – (2/8)log2(2/8)) = 0.892

Gain(S, Gió) = Entropy(S) – EntropyGió(S) = 0.940 – 0.892 = 0.048 SplitInfomation(S, Gió) = -(6/14)log2(6/14) – (8/14)log2(8/14) = 0.985 GainRatio(S, Gió) = 0.048/0.985 = 0.049

 Độ đo tỉ lệ gain cho thuộc tính “Độ ẩm”:

EntropyĐộ ẩm(S) = (4/14)×Entropy(S<=72.5) + (10/14)×Entropy(S>72.5) = (4/14)(- (3/4)log2(3/4) – (1/4)log2(1/4)) +

(10/14)(-(6/10)log2(6/10) – (4/10)log2(4/10)) = 0.925 (adsbygoogle = window.adsbygoogle || []).push({});

Gain(S, Độ ẩm) = Entropy(S) - EntropyĐộ ẩm(S) = 0.940 – 0.925 = 0.015 SplitInfomation(S, Độ ẩm) = -(4/14)log2(4/14) – (10/14)log2(10/14) = 0.863 GainRatio(S, Độ ẩm) = 0.015/0.863 = 0.017

Độ đo tỉ lệ gain cho thuộc tính “Nhiệt độ”:

EntropyNhiệt độ(S) = (4/14)×Entropy(SNóng)+(6/14)×Entropy(SẤm áp) +(4/14)×Entropy(SMát)

= (4/14)(1) + (6/14)(- (4/6)log2(4/6) – (2/6)log2(2/6)) + (4/14)(- (3/4)log2(3/4) – (1/4)log2(1/4))

= 0.911

Gain(S, Nhiệt độ) = Entropy(S) - EntropyNhiệt độ(S) = 0.940 – 0.911 = 0.029 SplitInfomation(S, Nhiệt độ) = - (4/14)log2(4/14) – (6/14)log2(6/14) – (4/14)log2(4/14)

= 1.557

GainRatio(S, Nhiệt độ) = 0.028/1.557 = 0.019  Độ đo tỉ lệ gain cho thuộc tính “Ngày”:

EntropyNgày(S) = (1/14)×Entropy(SD1) + … + (1/14)×Entropy(SD14) = 14×(1/14)×(0) = 0

SplitInfomation(S, Ngày) = 14×(- (1/14)log2(1/14)) = 3.807 GainRatio(S, Ngày) = 0.940/3.807 = 0.246

Lựa chọn thuộc tính tốt nhất để phân chia:

Entropy trung bình của các thuộc tính = (0.694 + 0.892 + 0.925 + 0.911 + 0)/5 = 0.684

Ta có: GainRatio(S, Quang cảnh) = 0.156 EntopyQuang cảnh(S) = 0.694 > 0.684

 Thuộc tính được chọn để phân chia: Quang cảnh

Lần tạo cây thứ hai:

 Nhánh “Nắng”:

Độ đo tỉ lệ gain cho thuộc tính “Nhiệt độ”:

Entropy(SNắng) = - (3/5)log2(3/5) – (2/5)log2(2/5) = 0.971

EntropyNhiệt độ(SNắng)=(2/5)×Entropy(SNóng) + (2/5)×Entropy(SẤm áp) + (1/5)×Entropy(SMát)

= (2/5)×0 + (2/5)×1 + (1/5)×0 = 0.4 Gain(SNắng, Nhiệt độ) = 0.971 – 0.400 = 0.571

SplitInfomation(SNắng, Nhiệt độ) = - (2/5)log2(2/5) – (2/5)log2(2/5) – (1/5)log2(1/5) = 1.522

GainRatio(SNắng, Nhiệt độ) = 0.571/1.522 = 0.375  Độ đo tỉ lệ gain cho thuộc tính “Độ ẩm”:

Chọn giá trị phân chia tốt nhất:

Entropy(SĐộ ẩm) = - (2/5)log2(2/5) – (3/5)log2(3/5) = 0.971

Quang cảnh

Nắng Âm u Mưa

Độ ẩm 70 85 90 95 77.5 87.5 92.5 ≤ > ≤ > ≤ > 2 0 2 0 2 0 Không 0 3 1 2 2 1 Gain 0.971 0.420 0.171

EntropyĐộ ẩm(SNắng) = (2/5)×Entropy(S<=72.5) + (3/5)×Entropy(S>72.5) = (2/5)×0 + (3/5)×0 = 0

Gain(SNắng, Độ ẩm) = 0.971 – 0 = 0.971

SplitInfomation(SNắng, Độ ẩm) = - (2/5)log2(2/5) – (3/5)log2(3/5) = 0.971 GainRatio(SNắng, Độ ẩm) = 0.971/0.971 = 1 (adsbygoogle = window.adsbygoogle || []).push({});

Độ đo tỉ lệ gain của thuộc tính “Gió”:

EntropyGió(SNắng) = (2/5)×Entropy(SNhẹ) + (3/5)×Entropy(SMạnh)

= (2/5)×1 + (3/5)(- (1/3)log2(1/3) – (2/3)log2(2/3)) = 0.951 Gain(SNắng, Gió) = 0.971 – 0.951 = 0.020

SplitInfomation(SNắng, Gió) = - (2/5)log2(2/5) – (3/5)log2(3/5) = 0.971 GainRatio(SNắng, Gió) = 0.020/0.971 = 0.021

Độ đo tỉ lệ gain cho thuộc tính “Ngày”:

Độ ẩm > 77.5 Nắng Quang cảnh [2+, 0-] [0+, 3-] ≤ 77.5

EntropyNgày(SNắng) = (1/5)×Entropy(SD1) + (1/5)×Entropy(SD2) + (1/5)×Entropy(SD8) +

(1/5)×Entropy(SD9) + (1/5)×Entropy(SD11) = 0 Gain(SNắng, Ngày) = 0.971 – 0 = 0.971

SplitInfomation(SNắng, Ngày) = 5×(-1/5×log2(1/5)) = 2.322 GainRatio(SNắng, Ngày) = 0.971/2.322 = 0.418

 Thuộc tính được chọn để phân chia: Độ ẩm

 Nhánh “Mưa”:

Độ đo tỉ lệ gain cho thuộc tính “Nhiệt độ”:

Entropy(SMưa) = - (3/5)log2(3/5) – (2/5)log2(2/5) = 0.971

EntropyNhiệt độ(SMưa) = (3/5)×Entropy(SẤm áp) + (2/5)×Entropy(SMát)

= (3/5)(- (2/3)log2(2/3) – (1/3)log2(1/3)) + (2/5)(1) = 0.951 Gain(SMưa, Nhiệt độ) = 0.971 – 0.951 = 0.020

SplitInfomation(SMưa, Nhiệt độ) = - (3/5)log2(3/5) – (2/5)log2(2/5) = 0.971 GainRatio(SMưa, Nhiệt độ) = 0.020/0.971 = 0.021

Độ đo tỉ lệ gain cho thuộc tính “Gió”:

EntropyGió(SMưa) = (3/5)×Entropy(SNhẹ) + (2/5)×Entropy(SMạnh) = (3/5)×0 + (2/5)×0 = 0 > 77.5 Có Không Quang cảnh Nắng Âm u Mưa Có Có - Không Độ ẩm ≤ 77.5

Gain(SMưa, Gió) = 0.971 – 0 = 0.971

SplitInfomation(SMưa, Gió) = - (3/5)log2(3/5) – (2/5)log2(2/5) = 0.971 GainRatio(SMưa, Gió) = 0.971/0.971 = 1

Độ đo tỉ lệ gain cho thuộc tính “Ngày”

EntropyNgày(SMưa) = (1/14)×Entropy(SD4) + (1/14)×Entropy(SD5) + (1/14)×Entropy(SD6) +

(1/14)×Entropy(SD10) + (1/14)×Entropy(SD14) = 0 Gain(SMưa, Ngày) = 0.971 – 0 = 0.971

SplitInfomation(SMưa, Ngày) = 5×(-1/5×log2(1/5)) = 2.322 GainRatio(SMưa, Ngày) = 0.971/2.322 = 0.418

 Thuộc tính được chọn để phân chia: Gió

- Luật rút ra từ cây quyết định:

 Luật 1: if (Quang cảnh = Nắng) and (Độ ẩm ≤ 77.5) then Chơi tennis = Có

 Luật 2: if (Quang cảnh = Nắng) and (Độ ẩm < 77.5) then Chơi tennis = Không

 Luật 3: if (Quang cảnh = Âm u) then Chơi tennis = Có

 Luật 4: if (Quang cảnh = Mưa) and (Gió = Nhẹ) then Chơi tennis = Có (adsbygoogle = window.adsbygoogle || []).push({});

 Luật 5: if (Quang cảnh = Mưa) and (Gió = Mạnh) then Chơi tennis = Không

3.3. Cắt tỉa cây quyết định

Qua tìm hiểu các thuật toán xây dựng cây quyết định ở trên, ta thấy việc xây dựng cây bằng cách phát triển nhánh cây đầy đủ theo chiều sâu để phân lớp hoàn toàn các mẫu huấn luyện; như thuật toán CLS và thuật toán ID3 đôi khi gặp khó khăn trong các trường hợp dữ liệu bị nhiễu (Noisy Data) hoặc dữ liệu bị thiếu (Missing Data) không đủ để đại diện cho một quy luật; tức là tạo ra các nút có số mẫu rất nhỏ. Trong trường hợp này, nếu thuật toán vẫn cứ phát triển cây thì ta sẽ dẫn đến một tình huống mà ta gọi là tình trạng "Over fitting" trong cây quyết định.

> 77 Có Không Gió Nhẹ Mạnh Có Không Nắng Âm u Mưa Có Độ ẩm ≤ 77

Vẫn đề Over fitting là một khó khăn trong việc nghiên cứu và ứng dụng cây quyết định. Để giải quyết tình trạng này người ta sử dụng phương pháp cắt tỉa cây quyết định. Có hai phương pháp cắt tỉa cây quyết định.

3.3.1. Tiền cắt tỉa (Prepruning)

Chiến thuật tiến cắt tỉa nghĩa là sẽ dừng sớm việc phát triển cây trước khi nó vươn đến điểm mà việc phân lớp các mẫu huấn luyện được hoàn thành. Nghĩa là trong quá trình xây dựng cây, một nút có thể sẽ không được tách thêm bước nữa nếu như kết quả của phép tách đó rơi vào một ngưỡng gần như chắc chắn. Nút đó trở thành nút lá và được gán nhãn là nhãn của lớp phổ biến nhất của tập các mẫu tại nút đó.

3.3.2. Hậu cắt tỉa (Postpruning)

Chiến thuật này ngược với chiến thuật tiền cắt tỉa. Nó cho phép phát triển cây đầy đủ sau đó mới cắt tỉa. Nghĩa là xây dựng cây sau đó mới thực hiện cắt bỏ các nhánh không hợp lý. Trong quá trình xây dựng cây theo chiến thuật hậu cắt tỉa thì cho phép tình trạng Over fitting xẩy ra. Nếu một nút mà các cây con của nó bị cắt thì nó sẽ trở thành nút lá và nhãn của lá được gán là nhãn của lớp phổ biến nhất của các con trước đó của nó.

Tóm lại, việc cắt tỉa cây nhằm: tối ưu hoá cây kết quả. Tối ưu về kích cỡ cây và về độ chính xác của việc phân lớp bằng cách cắt bỏ các nhánh không phù hợp (over fitted branches). Để thực hiện việc cắt tỉa cây thì có các kỹ thuật cơ bản sau đây:

- Sử dụng tập hợp tách rời của mẫu học để đánh giá tính hữu dụng của việc hậu cắt tỉa những nút trong cây. Sử dụng kỹ thuật cắt tỉa cây này có thuật toán CART, gọi tắt là chi phí phức tạp (Cost - Complexity prunning).

- Áp dụng phương pháp thống kê để đánh giá và cắt bỏ các nhánh có độ tin cậy kém hoặc mở rộng tiếp các nhánh có độ chính xác cao. Kỹ thuật cắt tỉa này được gọi là cắt tỉa bi quan và thường được sử dụng để cắt tỉa các cây được xây dựng theo thuật toán ID3 và C4.5.

- Kỹ thuật mô tả độ dài tối thiểu - MDL (Minimum Description Length) (với kỹ thuật này không cần kiểm tra các mẫu). Kỹ thuật này không cần thiết phải kiểm tra các mẫu và nó thường được sử dụng trong các thuật toán SLIQ, SPRINT.

3.4.Đánh giá và kết luận về các thuật toán xây dựng cây quyết định

Các thuật toán xây dựng cây quyết định vừa được trình bày ở trên đều có những điểm mạnh và điểm yếu riêng của nó.

- Đầu tiên ta xét đến thuật toán CLS đây là một trong những thuật toán ra đời sớm nhất. Nó chỉ áp dụng cho các CSDL có các thuộc tính nhỏ, giá trị các thuộc tính dạng phân loại hay rời rạc. Còn đối với các CSDL lớn và có chứa các thuộc tính mà giá trị của nó là liên tục thì CLS làm việc không hiệu quả. Nhưng đây là thuật toán đơn giản, dễ cài đặt, phù hợp trong việc hình thành ý tưởng và giải quyết những nhiệm vụ đơn giản.

-Thuật toán ID3: trong thuật toán ID3, Quinlan đã khắc phục được hạn chế của thuật toán CLS (ID3 được xem là phiên bản cải tiến của CLS). Thuật toán này làm việc rất có hiệu quả, nó cho kết quả tối ưu hơn thuật toán CLS Khi áp dụng thuật toán ID3 cho cùng một tập dữ liệu đầu vào và thử nhiều lần thì cho cùng một kết quả. Bởi vì, thuộc tính ứng viên được lựa chọn ở mỗi bước trong quá trình xây dựng cây được lựa chọn trước. Tuy nhiên thuật toán này cũng chưa giải quyết được về vấn đề thuộc tính số, liên tục, số lượng các thuộc tính còn bị hạn chế và giải quyết hạn chế với vấn đề dữ liệu bị thiếu hoặc bị nhiễu.

- Thuật toán C4.5: Để tiếp tục khắc phục những nhược điểm của thuật toán ID3, Quinlan đã đưa ra thuật toán C4.5(C4.5 là sự cải tiến cho thuật toán ID3 và cọi là phiên bản sau của ID3). Trong thuật toán này đã giải quyết được vấn đề làm việc với thuộc tính số(liên tục), thuộc tính có nhiều giá trị, và vấn đề dữ liệu bị thiếu hoặc bị nhiễu. Tuy nhiên yếu điểm của thuật toán này là làm việc không hiệu quả với những CSDL lớn vì chưa giải quyết được vấn đề bộ nhớ.

Mặc dù đã có nhiều cải tiến, nhiều thuật toán xây dựng cây quyết định ra đời, nhưng nói chung vấn còn nhiều vấn đề khó khăn phức tạp và nhiều thách thức trong Khai phá dữ liệu bằng cây quyết định.

Chương 4: Công cụ Weka

4.1. Giới thiệu chung về phần mềm Weka

Là phần mềm khai thác dữ liệu, thuộc dự án nghiên cứu của đại học Waikato, New Zealand

• Mục tiêu: xây dựng một công cụ hiện đại nhằm phát triển các kỹ thuật máy học và áp dụng chúng vào bài toán khai thác dữ liệu trong thực tế.

• WEKA được xây dựng bằng ngôn ngữ Java, cấu trúc gồm hơn 600 lớp, tổ chức thành 10 packages.

• Các chức năng chính của phần mềm:

- Khảo sát dữ liệu: tiền xử lí dữ liệu, phân lớp, gom nhóm dữ liệu, và khai thác luật kết hợp.

- Thực nghiệm mô hình: cung cấp phương tiện để kiểm chứng, đánh giá các mô hình học.

- Biểu diễn trực quan dữ liệu bằng nhiều dạng đồ thị khác nhau.

4.2. Các môi trường chính

- Simple CLI:Giao diện đơn giản kiểu dòng lệnh (như MS-DOS) (adsbygoogle = window.adsbygoogle || []).push({});

- Explorer: (chúng ta sẽ chủ yếu sử dụng môi trường này!) Môi trường cho phép sử dụng tất cả các khả năng của WEKA để khám phá dữ liệu - Experimenter: Môi trường cho phép tiến hành các thí nghiệm và thực

hiện các kiểm tra thống kê (statistical tests) giữa các mô hình học máy - KnowledgeFlow: Môi trường cho phép bạn tương tác đồ họa kiểu

4.2.1. Môi trường Explorer

- Preprocess:Để chọn và thay đổi (xử lý) dữ liệu làm việc.

- Classify:Để huấn luyện và kiểm tra các mô hình học máy (phân loại,

hoặc hồi quy/dự đoán).

- Cluster:Để học các nhóm từ dữ liệu (phân cụm)

- Associate:Để khám phá các luật kết hợp từ dữ liệu

- Select attributes:Để xác định và lựa chọn các thuộc tính liên quan

(quan trọng) nhất của dữ liệu.

- Visualize: Để xem (hiển thị) biểu đồ tương tác 2 chiều đối với dữ liệu.

WEKA chỉ làm việc với các tập tin văn bản (text) có khuôn dạng ARFF, CSV *Dữ liệu đầu vào chứa thông tin được sử dụng trong mô tả bài toán

Chương 5. Kết luận

Trong khuôn khổ báo cáo tốt nghiệp này, chúng em đã nghiên cứu và tìm hiểu về các vấn đề liên quan tới khai phá dữ liệu (Data mining) bằng cậy quyết định và cơ bản hoàn thành đề tài và đạt được một số kết quả như sau:

- Nắm được một số kỹ thuật cơ bản để khai phá dữ liệu, các chức năng và ứng dụng của khai phá dữ liệu.

- Nắm được khai phá dữ liệu bằng cây quyết định, các thuật toán xây dựng cây quyết định.

Ứng dụng: Xây dựng chương trình demo cho ứng dụng khai phá dữ liệu bằng cây quyết định, sử dụng cây quyết định để dự đoán có đi chơi Tenis hay không và kết quả dự đoán khám chưa bệnh…..

Hướng phát triển: Nghiên cứu thêm một số thuật toán mới về khai phá dữ liệu bằng cây quyết định, tìm hiểu kỹ hơn về các kỹ thuật khai phá dữ liệu khác. Xây dựng được những chương trình ứng dụng phức tạp và có tính thực tế hơn bằng cây quyết định.

TÀI LIỆU THAM KHẢO

[1] Bài giảng khai phá dữ liệu_Trường ĐH Hàng Hải Việt Nam [2] Khai phá dữ liệu_Trường ĐH Bách khoa hà nội

[3] Cây quyết định ID3 và học quy nạp ILA_Tô Hoài Việt_ĐH khoa học tự nhiên TPHCM

[4] Phương pháp học cây quyết định_Đỗ Thanh nghị_Trường ĐH Cần thơ [5] CTT305_Khai thác và sử dụng Weka Explorer

[6] Nghiên cứu các thuật toán phân lớp dữ liệu dựa trên cây quyết định_Nguyễn Thị Thùy Linh Khóa luận tốt nghiệp Trường ĐH công nghệ.

Một số website:

[7] http://timnt.com/chuyen-trang/tri-thuc/971/Lap-trinh/Data-Mining-Gioi- thieu-mot-qui-trinh-hoan-chinh-ve-xay-dung-mo-hinh-khai-pha-du-lieu

[8]

http://www.4shared.com/dir/27390526/51ee3ce1/CHUYEN_DE_KDD.html

[9] Wikipedia - Bách khoa toàn thư mở - Cây quyết định. [10] http://en.wikipedia.org/wiki/Decision tree

MỤC LỤC

Lời mở đầu ... 2 (adsbygoogle = window.adsbygoogle || []).push({});

CHƯƠNG 1. TỔNG QUAN VỀ CSDL VÀ SỰ XUẤT HIỆN KHAI PHÁ DỮ LIỆU ... 3

1.1. Tổ chức và khai thác CSDL truyền thống ... 3

1.2. Bước phát triển mới của việc tổ chức và khai thác các CSDL ... 3

1.3. Quá trình phát hiện tri thức và khai phá dữ liệu ... 6

1.3.1. Quá trình khám phá tri thức được tiến hành qua 5 bước sau : ... 7

GĐ1: Hình thành và định nghĩa bài toán ... 7

GĐ2: Thu thập và tiền xử lý dữ liệu ... 8

GĐ3: Khai phá dữ liệu và rút ra các tri thức ... 8

GĐ4: Phân tích và kiểm định kết quả ... 8

GĐ5: Sử dụng các tri thức phát hiện được ... 9

CHƯƠNG 2: KHAI PHÁ DỮ LIỆU ... 10

2.1. Khai phá dữ liệu là gì? ... 10

2.2. Quá trình khai phá dữ liệu ... 11

2.2.1.Gom dữ liệu (gatherin) ... 12

2.2.2. Trích lọc dữ liệu (selection) ... 12

2.2.4. Chuyển đổi dữ liệu (transformation) ... 13

2.2.5. Phát hiện và trích mẫu dữ liệu ( pattern extraction and discovery) ... 13

2.4. Các kỹ thuật khai phá dữ liệu ... 14

2.4.1. Phân lớp dữ liệu ... 14

2.4.2. Phân cụm dữ liệu ... 15

2.4.3. Khai phá luật kết hợp ... 15

2.4.4. Hồi quy ... 15

2.4.5. Giải thuật di truyền ... 15

2.4.6. Mạng nơron ... 15

2.4.7. Cây quyết định. ... 16

2.5. Các dạng dữ liệu có thể khai phá được ... 16

2.6. Các lĩnh vực liên quan đến khai phá dữ liệu và ứng dụng của khai phá dữ liệu ... 16

2.6.1. Các lĩnh vực liên quan đến phát hiện tri thức và khai phá dữ liệu ... 16

2.6.2. Ứng dụng của khai phá dữ liệu ... 16

2.7. Các thách thức và hướng phát triển của phát hiện tri thức và khai phá dữ liệu. ... 17 (adsbygoogle = window.adsbygoogle || []).push({});

CHƯƠNG 3: KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH ... 19

3.1. Cây quyết định ... 19

3.1.1. Định nghĩa ... 19

3.1.2.Học cây quyết định (Dicision tree learning): ... 20

3.1.3.Tại sao học cây quyết định là một phương pháp học qui nạp hấp dẫn ... 20

3.1.4.Ưu điểm của cây quyết định ... 21

3.1.5.Vấn đề xây dựng cây quyết định ... 21

3.1.6.Rút ra các luật từ cây quyết định ... 21

3.2. Các thuật toán khai phá dữ liệu bằng cây quyết định ... 21

3.2.2. Thuật toán ID3 ... 22

2.2.2.4.Ví dụ minh họa ... 25

3.2.3.1. Độ đo sử dụng để xác định điểm chia tốt nhất: ... 30

3.2.3.2. Thuật toán xây dựng cây quyết định ... 32

Một phần của tài liệu Tìm hiểu khai phá dữ liệu bằng cây quyết định (Trang 32 - 50)