Cây quyết định và độ đo đã được làm đầy đủ,bài báo cáo này đã được 9 điểm,nói về các độ đo áp dụng vào cây quyết định sau đó làm ra 1 demo viết bằng c++Trong lĩnh vực máy học, cây quyết định là một kiểu mô hình dự báo (predictive model), nghĩa là ánh xạ từ các quan sát từ một sự vậthiện tượng đến các kết luận về giá trị mục tiêu của sự vật hiện tượng đó. Intenal node (node trong) tương ứng với một biến, đường nối giữa Internal node với node lá của nó thể hiện giá trị cụ thể của biến đó. Mỗi node lá đại diện cho giá trị được dự đoán của Internal node.
Trang 1TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN
Khoá : 15
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2014
Trang 2Khoá : 15
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2014
Trang 3LỜI CẢM ƠN
Trước tiên chúng em xin được gửi lời cảm ơn chân thành tới các thầy cô giáotrong khoa Công nghệ thông tin - Trường đại học Tôn Đức Thắng đã tận tình giúp
đỡ và giảng dạy cho chúng em trong học kì này
Đặc biệt, chúng em xin gửi lời cảm ơn chân thành nhất tới thầy T.s Võ ĐìnhBảy đã tận tình hướng dẫn, giúp đỡ chúng em hoàn thành đề tài nghiên cứu khoahọc này
Trong thời gian vừa qua mặc dù chúng em đã cố gắng rất nhiều để hoànthành tốt đề tài nghiên cứu khoa học 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 kính mong nhận được sự chỉ bảo và góp
ý của quý thầy cô
Chúng em xin chân thành cám ơn!
Ký tên
Nguyễn Khánh Phương Võ Thị Phi Phụng
Trang 4ĐỒ ÁN ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
Tôi xin cam đoan đây là sản phẩm đồ án của riêng tôi chúng tôivà được sựhướng dẫn của TS Võ Đình Bảy Các nội dung nghiên cứu, kết quả trong đề tài này
là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệutrong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tácgiả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo
Ngoài ra, trong đồ án còn sử dụng một số nhận xét, đánh giá cũng như sốliệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồngốc
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung đồ án của mình Trường đại học Tôn Đức Thắng không liên
quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thựchiện (nếu có)
TP Hồ Chí Minh, ngày 29 tháng 05 năm 2014
Tác giả (ký tên và ghi rõ họ tên)
Nguyễn Khánh Phương
Trang 5Phần xác nhận của GV hướng dẫn
_
Tp Hồ Chí Minh, ngày tháng 05 năm 2014
(kí và ghi họ tên)
Phần đánh giá của GV chấm bài
_
Tp Hồ Chí Minh, ngày tháng 05 năm 2014
(kí và ghi họ tên)
Trang 6TÓM TẮT
Trong quá trình hoạt động, con người tạo ra nhiều dữ liệu nghiệp vụ Các tập
dữ liệu được tích lũy có kích thước càng lớn, và có thể chưa nhiều thông tin ẩn dạngnhững quy luật chưa được khám phá Chính vì vậy một nhu cầu đặt ra là cần tìmcách trích rút từ tập dữ liệu đó các luật về phân lớp dữ liệu hay dự đoán những xuhướng dữ liệu tương lai Những quy tắc nghiệp vụ thông minh được tạo ra sẽ phục
vụ đắc lực cho các hoạt động thực tiễn, cũng như phục vụ đắc lực cho quá trìnhnghiên cứu khoa học Công nghệ phân lớp và dự đoán dữ liệu ra đời để đáp ứngmong muốn đó
Công nghệ phân lớp dữ liệu đã, đang và sẽ phát triển mạnh mẽ trước nhữngkhao khát tri thức của con người Trong những năm qua, phân lớp dữ liệu đã thu hút
sự quan tâm của các nhà nghiên cứu trong nhiều lĩnh vưc khác nhau Công nghệ nàycũng ứng dụng trong nhiều lĩnh vực thực tế như: thương mại, nhà băng, maketing…
Nhiều kỹ thuật phân lớp đã được đề xuất như: Phân lớp cây quyết định(Decision tree classification), phân lớp Bayesian (Bayesian classifier), phân tíchthống kê…Trong các kỹ thuật đó, cây quyết định được coi là công cụ mạnh, phổbiến và đặc biệt Do vậy cần xây dựng những thuật toán có độ chính xác cao, thựcthi nhanh đi kèm với khả năng mở rộng được để có thao tác với những tập dữ liệungày càng lớn
Đồ án này tập trung vào nguyên cứu vào cây quyết định và độ đo Trước tiên
ta sẽ nói đến phân lớp dữ liệu rồi đi chuyên sâu vào khái niệm cây quyết định, ưunhược điểm của nó Từ đó tập trung vào phân tích, đánh giá, so sánh các độ đo ápdụng vào Mỗi độ đo sẽ đi kèm với các thuật toán khác nhau và như vậy thì cáchbiểu hiện cây quyết định của mỗi bài toán cũng sẽ khác đi Ở đây chúng em tậptrung nguyên cứu bốn độ đo chính là Information Gain, Gain Ratio, độ đo V vàGini
Bài báo cáo này gồm các mục sau:
Chương I : KIẾN THỨC CHUNG
Chương II : TÌM HIỂU CÂY QUYẾT ĐỊNH VÀ ĐỘ ĐO
Trang 7Chương IV : THỰC NGHIỆM
Chương V : TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN
Trang 8MENU
Trang 10DANH MỤC CÁC BẢNG BIỂU, HÌNH VẼ, ĐỒ THỊ
DANH MỤC HÌNH
Hình 2.1: Cây quyết định biểu diễn Độ Tuổi và Loại Xe thể hiện nguy cơ gây tai nạn
Hình 3.1 : Mô hình các thuộc tính khi được chọn
Hình 3.2: Cây quyết định với thuật toán CLS
Hình 3.3: Cây quyết định với thuật toán ID3
Hình 3.4: Cây quyết định với thuật toán C4 5
Hình 4.1: Giao diện của chương trình
Hình 4.2: Giao diện của chương trình khi bấm nút load
Hình 4.3: Giao diện khi load file txt thành công
Hình 4.4: Giao diện khi chạy thuật toán ID3
Hình 4.5: Giao diện khi chạy thuật toán C4.5
Hình 4.6: Giao diện vẽ cây
Hình 4.7: Giao diện khi bấm nút reset
Hình 4.8: Giao diện khi bấm nút about
DANH MỤC BẢNG
Bảng 3.1: Dữ liệu huấn luyện trong tài liệu tham khảo [1]
Trang 11CHƯƠNG 1 KIẾN THỨC CHUNG
1.1 Phân lớp dữ liệu
Là kĩ thuật dựa trên tập huấn luyện và những giá trị hay hay là nhãn của lớptrong một thuộc tính phân lớp và sử dụng nó trong việc phân lớp dữ liệu mới Phânlớp cũng là tiên đoán loại lớp của nhãn Bên cạnh kĩ thuật phân lớp có một hìnhthức tương tự là kĩ thuật tiên đoán, kĩ thuật tiên đoán khác với phân lớp ở chỗ phânlớp chỉ liên quan đến tiên đoán loại lớp của nhãn còn kĩ thuật tiên đoán mô hìnhnhững hàm đánh giá liên tục
Kĩ thuật phân lớp được tiến hành bao gồm 2 bước: Xây dựng mô hình và
sử dụng mô hình
+ Xây dựng mô hình: là mô tả một tập những lớp được định nghĩa
trước trong đó: mỗi bộ hoặc mẫu được gán thuộc về một lớp được định nghĩa trướcnhư là được xác định bởi thuộc tính nhãn lớp, tập hợp của những bộ được sử dụngtrong việc sử dụng mô hình được gọi là tập huấn luyện Mô hình được biểu diễn lànhững luật phân lớp, cây quyết định và những công thức toán học
+ Sử dụng mô hình: Việc sử dụng mô hình phục vụ cho mục đích
phân lớp dữ liệu trong tương lai hoặc phân lớp cho những đối tượng chưa biết đến.Trước khi sử dụng mô hình người ta thường phải đánh giá tính chính xác của môhình trong đó: nhãn được biết của mẫu kiểm tra được so sánh với kết quả phân lớpcủa mô hình, độ chính xác là phần trăm của tập hợp mẫu kiểm tra mà phân loạiđúng bởi mô hình, tập kiểm tra là độc lập với tập huấn luyện
Phân lớp là một hình thức học được giám sát tức là: tập dữ liệu huấn luyện
(quan sát, thẩm định ) đi đôi với những nhãn chỉ định lớp quan sát, những dữliệu mới được phân lớp dựa trên tập huấn luyện
Ngược lại với hình thức học được giám sát là hình thức học không đượcgiám sát lúc đó nhãn lớp của tập dữ liệu huấn luyện là không được biết đến
Trang 121.2 Các vấn đề liên quan đến phân lớp dữ liệu
1.2.1 Chuẩn bị dữ liệu cho việc phân lớp
Việc tiền xử lý dữ liệu cho quá trình phân lớp là một việc làm không thểthiếu và có vai trò quan trọng quyết định tới sự áp dụng được hay không của môhình phân lớp Quá trình tiền xử lý dữ liệu sẽ giúp cải thiện độ chính xác, tính hiệuquả và khả năng mở rộng được của mô hình phân lớp
Quá trình tiền xử lý dữ liệu gồm có các công việc sau:
+ Làm sạch dữ liệu:
Làm sạch dữ liệu liên quan đến việc xử lý với lỗi (noise) và giá trị thiếu(missing value) trong tập dữ liệu ban đầu Noise là các lỗi ngẫu nhiên hay các giá trịkhông hợp lệ của các biến trong tập dữ liệu Để xử lý với loại lỗi này có thể dùng kỹthuật làm trơn Missing value là những ô không có giá trị của các thuộc tính Giá trịthiếu có thể do lỗi chủ quan trong quá trình nhập liệu, hoặc trong trường hợp cụ thểgiá trị của thuộc tính đó không có, hay không quan trọng Kỹ thuật xử lý ở đây cóthể bằng cách thay giá trị thiếu đó bằng giá trị phổ biến nhất của thuộc tính đó hoặcbằng giá trị có thể xảy ra nhất dựa trên thống kê Mặc dù phần lớn thuật toán phânlớp đều có cơ chế xử lý với những giá trị thiếu và lỗi trong tập dữ liệu, nhưng bướctiền xử lý này có thể làm giảm sự hỗn độn rong quá trình xây dựng mô hình phânlớp
+ Phân tích liên quan(chọn đặc trưng)
Có rất nhiều thuộc tính trong tập dữ liệu có thể hoàn toàn không cần thiếthay liên quan đến một bài toán phân lớp cụ thể Ví dụ dữ liệu về ngày trong tuầnhoàn toàn không cần thiết đối với ứng dụng phân tích độ rủi ro của các khoảng tiềncho vay của ngân hàng nên thuộc tính này là dư thừa Phân tích sự cần thiết của dữliệu nhằm mục đích loại bỏ những thuộc tính không cần thiết, dư thừa khỏi quátrình phân lớp vì thuộc tính đó sẽ làm chậm, phức tạp và gây ra sự hiểu sai trongquá trình phân lớp dẫn tới mô hình phân lớp không đúng
Trang 13+ Biến đổi dữ liệu:
Việc khái quát hóa dữ liệu lên mức khái niệm cao hơn đôi khi là cần thiếttrong quá trình tiền xử lý Việc này đặc biệt hữu ích với những thuộc tính liên tục
Ví dụ: các giá trị số của thuộc tính thu nhập của khách hàng có thể được khái quathóa thành các dãy giá trị rời rạc: thấp, trung bình, cao Tương tự với những thuộctính rời rạc như địa chỉ phố có thể được khái quát hóa lên thành thành phố Việckhái quát hóa làm cô đọng dữ liệu học nguyên thủy, vì vậy các thao tác vào/ra liênquan đến quá trình phân lớp sẽ giảm
1.2.2 So sánh các mô hình phân lớp
Trong từng ứng dụng cụ thể cần lựa chọn mô hình phân lớp phù hợp Việclựa chọn đó căn cứ vào sự so sánh các mô hình phân lớp khác nhau, dựa trên cáctiêu chuẩn sau:
o Độ chính xác dự đoán (predictive accuracy): Độ chính xác là khả năngcủa mô hình để dự đoán chính xác nhãn lớp của dữ liệu mới hay dữ liệuchưa biết
o Tốc độ (Speed): Tốc độ là chi phí tính toán liên quan đến quá trình tạo ra
o Tính hiểu được (Interpretability): Tính hiểu được là mức độ hiểu và hiểu
rõ những kết quả sinh ra bởi mô hình đã học
Trang 14o Tính đơn giản (Simplicity): Tính đơn giản liên quan đến kích thước củacây quyết định hay độ cô đọng của các luật
CHƯƠNG 2 TÌM HIỂU CÂY QUYẾT ĐỊNH VÀ ĐỘ ĐO
2.1 TÌM HIỂU CÂY QUYẾT ĐỊNH
2.1.1 Khái niệm
Trong lĩnh vực máy học, cây quyết định là một kiểu mô hình dự báo(predictive model), nghĩa là ánh xạ từ các quan sát từ một sự vật/hiện tượng đếncác kết luận về giá trị mục tiêu của sự vật /hiện tượng đó Intenal node (node trong)tương ứng với một biến, đường nối giữa Internal node với node lá của nó thể hiệngiá trị cụ thể của biến đó Mỗi node lá đại diện cho giá trị được dự đoán củaInternal node
Cây quyết định là một đồ thị phát triển có cấu trúc dạng cây được mô tảtrong hình 1:
Age ≤ 27.5
Age
Age > 27.5
Car typeRisk = High
Car type {family,truck}
Car type {sport}
Risk = Low Risk = High
Trang 15Hình 2.1: Cây quyết định biểu diễn Độ Tuổi và Loại Xe thể hiện nguy cơ gây tai
nạn
Trong đó:
* Root: là node trên cùng của cây
* Internal node: biểu diễn một kiểm tra trên một thuộc tính đơn ( )
* Nhánh: biểu diễn kết quả của kiễm tra tại Internal node ( )
* Node lá : biểu diễn sự phân phối lớp ( )
Cây quyết định có 2 loại:
• Cây hồi quy (Regression tree): ước lượng các hàm có giá trị là số thựcthay 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ưkết quả một trận đấu (thắng hay thua)
Để phân lớp dữ liệu, giá trị các thuộc tính của mẫu được kiểm tra trên câyquyết định Mỗi mẫu tương ứng có một đường đi từ Root đế node lá và node lá biểudiễn giá trị dự đoán phân lớp đó
2.1.2 Ưu nhược điểm của Cây Quyết Định
2.1.2.1 Ưu điểm:
− Sinh ra các quy luật dễ hiểu: Chuyển đổi được sang tiếng anh hoặcSQL
− Thực thi trong lĩnh vực hướng theo quy luật
− Dễ dàng tính toán trong khi phân lớp
− Xử lý thuộc tính liên tục va rời rạc
− Thể hiện rõ ràng những thuôc tính tốt nhất: phân chia dữ liệu từ gốc
2.1.2.2 Nhược điểm:
− Dễ xảy ra lỗi khi có quá nhiều lớp: vì chỉ thao tác với các lớp có giátrị dạng nhị phân
Trang 16− Chi phí tính toán quá đắt để huấn luyện: do phải đi qua nhiều node đểđến node lá cuối cùng
2.1.3 Quá trình xây dựng cây
Quá trình xây dựng cây quyết định được chia làm 3 giai đoạn cơ bản:
Xây dựng cây:
• Đi từ Root đến các nhánh, phát triển quy nạp theo hình thứcchia để trị
• Chọn thuộc tính tốt nhất bằng một độ đo đã định trước
• Phát triển cây bằng việc thêm nhánh tương ứng với từng giá trịcủa thuộc tính đã chọn
• Sắp xếp phân chia tập dữ liệu huấn luyện tới node con
• Nếu các ví dụ được phân lớp rõ ràng thì dừng
• Ngược lại: lặp lại cho từng node con từ bước 1 đến bước 4
Cắt tỉa cây: nhằm đơn giản hóa, khái quát hóa cây quyết định để tăng
độ chính xác
Đánh giá cây: dùng để đánh giá độ chính xác của cây kết quả Tiêuchí đánh giá là tổng số mẫu được phân lớp chính xác trên tổng số mẫuđược đưa vào
2.1.4 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ệcxâ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ớphoàn toàn các mẫu huấn luyện; như thuật toán CLS và thuật toán ID3 đôi khigặ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âythì ta sẽ dẫn đến một tình huống mà ta gọi là tình trạng "Over fitting" trongcây quyết định
Vẫn đề Over fitting là một khó khăn trong việc nghiên cứu và ứngdụ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ápcắt tỉa cây quyết định Có hai phương pháp cắt tỉa cây quyết định
Trang 17Chiế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êmbướ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ắcchắn Nút đó trở thành nút lá và được gán nhãn là nhãn của lớp phổ biếnnhất của tập các mẫu tại nút đó
2.1.4.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áttriể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ậucắ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ủalớp phổ biến nhất của các con trước đó của nó
Trong thực tế, phương pháp hậu cắt tỉa là một phương pháp khá thànhcông cho việc tìm ra các giả thuyết chính xác cao Chiến thuật hậu cắt tỉađược tiến hành thông qua việc tính toán lỗi như sau:
Giả sử ta gọi: E(S) là lỗi tĩnh (Static error hay expected error) của một nút S; BackUpError(S) là lỗi từ các nút con của S (Back Up Error); Error(S) là lỗi của nút S Các giá trị này được tính như sau:
Error(S) = Min(E(S), BackUpError(S)) E(S) = (N - n + 1) / (N + 2)
Trong đó: N là tổng số mẫu ở nút S
n là số mẫu của lớp phổ biến nhất trong S
Trang 18Trong trường hợp tổng quát, nếu thuộc tính lớp có K giá trị (K lớp) thì:
E(S) = (N-n+K-1) / (N+K) BackUpError(S) = I Error(S i )
Trong đó: Si là nút con của S
Pi là tỉ lệ số mẫu trong Si trên số mẫu S
Như vậy các nút lá sẽ có lỗi trong Error(Si) = E(Si) do nút lá không có nút con dẫn đến không có lỗi BackUpError Nếu BackUpError(S) E(S) thì chiến thuật hậu cắt tỉa cây quyết định sẽ cắt tại nút S (tức là cắt bỏ các cây con của S)
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ệchậ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ánCART, 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ựngtheo 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ảikiểm tra các mẫu và nó thường được sử dụng trong các thuật toán SLIQ,SPRINT
Trang 19 Entropy:
Phép tính dùng hỗ trợ các độ đo trong trường hợp các mẫu dữ liệu có haithuộc tính phân lớp "yes" (+), "no" (-)
Ký hiệu p+ là để chỉ tỷ lệ các mẫu có giá trị của thuộc tính quyết định là
"yes", và kí hiệu p- là tỷ lệ các mẫu có giá trị của thuộc tính quyết định là "no"trong tập S
Trong trường hợp tổng quát:
Trong đó: Pi là tỷ lệ các mẫu thuộc lớp I trên tập hợp S các mẫu kiểm tra Các trường hợp đặc biệt:
- Nếu tất cả các mẫu thành viên trong tập S đều thuộc cùng một lớp thì Entropy(S) = 0
- Nếu trong tập S có số mẫu phân bố đều nhau vào các lớp thì Entropy(S) =1
- Các trường hợp còn lại 0 < Entropy(S) <1
2.2.1 Informaion Gain (Gain)
Gain là đại lượng dùng để đo tính hiệu quả của một thuộc tính trong việcphân lớp Đại lượng này được tính thông qua hai giá trị Information và Entropy
Cho tập dữ liệu S gồm có n thuộc tính Ai(i=1, 2…n) giá trị Information củathuộc tính Ai ký hiệu là Information(Ai) được xác định bởi công thức
Giá trị Gain của thuộc tính A trong tập S ký hiệu là Gain(S, A) và được tính theocông thức sau:
Trang 20tính Day ở bảng dữ liệu trên), thì Entropy(S, D) = 0, như vậy Gain(S, D) sẽ đạt giá
trị cực đại Như vậy, trong một phân vùng như thế thì việc phân loại là vô ích
Thuật toán xét tất cả các phép thử có thể để phân chia tập dữ liệu đã cho và chọn ra một phép thử có giá trị GainRatio tốt nhất GainRatio là một đại lượng để đánh giá độ hiệu quả của thuộc tính dùng để thực hiện phép tách trong thuật toán đểphát triển cây quyết định
GainRatio được tính dựa trên kết quả tính toán đại lượng Information Gain theo công thức sau:
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 chất là Entropy của S với sự liện quan trên nhữnggiá trị của thuộc tính A
GainRatio là sự đánh giá thay đổi các giá trị của thuộc tính Tất cả các thuộctính sẽ được tính toán độ đo tỉ lệ GainRatio Thuộc tính nào có giá trị GainRatiolớn nhất sẽ được chọn làm thuộc tính phân chia:
Trang 21Trong tập huấn luyện X (x), xác định các mẫu huấn luyện Y kí hiệu
V(x = Y) Tính tỉ lệ các giá trị “Yes” “ No” có được từ bảng dữ liệu huấn luyện Sosánh tất cả các mẫu trong các tập huấn luyện có trong bảng dữ liệu huấn luyện:
- Nếu trong tập huấn luyện đó có nhiều mẫu ổn định hơn các mẫu khác (mẫutối giản nhỏ nhất) thì chọn mẫu đó là root
- Tiếp tục khi phân nhánh, chọn tập có nhiều mẫu ổn định nhất đưa đưa vàocây
2.2.4 Gini
Chỉ số Gini (Gini index): Chỉ số Gini được sử dụng trong thuật toánCART Trái ngược với độ đo Gain, chỉ số Gini là độ đo về tính “không trong suốt”của tập dữ liệu Chỉ số Gini của một tập dữ liệu D được định nghĩa như sau:
Trang 22Gini(D) = 1 – i)2 Với m là tổng số nhãn lớp, pi là xác suất để một bộ bất kỳ trong D thuộc vềmột nhãn Ci, được tính như sau:
pi = Chỉ số Gini thường sẽ được tính toán dựa trên giả định một tập dữ liệu Dđược phân chia nhị phân thành hai tập con Đầu tiên xét trường hợp thuộc tính Abất kỳ trong D có kiểu dữ liệu rời rạc, khi dùng phép chiếu sẽ thu được v = {a1, a2
… av} giá trị khác nhau Để xác định điểm chia tốt nhất của A, kiểm tra tất cảtập con có thể tạo được từ v giá trị phân biệt trên, mỗi tập con tạm gọi là SA là mộtđiều kiện kiểm tra nhị phân dạng A ∈ SA
Như vậy với v giá trị khác nhau ta sẽ có 2v - 2 tập con, trong đó tập rỗng vàtập toàn phần v = {a1, a2 … av} sẽ không được xét đến Tiến hành lặp qua tất cảcác tập con này, mỗi lần lặp sẽ phân chia tập giá trị v thành hai tập con v1 và v2riêng biệt thoả điều kiện rời rạc toàn phần (hội v1 và v2 chính là tập v và phần giao
là tập rỗng) Với hai tập con v1 và v2 này tương ứng tập con D cũng được phân chiathành hai tập con D1 (các bộ có giá trị thuộc tính A ∈ v1) và D2 (các bộ có giá trịthuộc tính A ∈ v2) theo, Gini(D) sẽ được tính như sau:
GiniA (D) = Gini (D1) + Gini (D2) Khác với độ đo Gain, người ta chọn chỉ số Gini nhỏ nhất với mong muốnsau khi phân chia dữ liệu sẽ làm giảm tính không trong suốt của tập D nhiều nhất.Đối với các giá trị liên tục có một lưu ý là đầu tiên phải sắp xếp các giá trị này, sau
đó tất cả các giá trị cũng sẽ được tính toán chỉ số Gini và cũng chọn ra giá trị nào cóthuộc tính Gini nhỏ nhất Cũng giống như độ đo Gain, chỉ số Gini thông thườngcũng được tính cho điểm giữa của hai giá trị liên tục nằm liền kề nhau Lúc này tập
D sẽ được chia làm hai tập D1 là các bộ dữ liệu thoả điều kiện giá trị thuộc tính Anhỏ hơn hoặc bằng giá trị điểm giữa và D2 thoả điều kiện giá trị thuộc tính A lớn
Trang 23suốt của dữ liệu càng nhiều càng tốt, giá trị giảm trừ này thể hiện qua công thức:
A(D)
Lưu ý Gini(D) là một con số cố định, chính vì mục đích chọn điểm chia saocho Δgini(A) là lớn nhất nên bắt buộc chọn thuộc tính A sao cho GiniA(D) là nhỏnhất Để tìm điểm chia tốt nhất, tiến hành lặp qua tất cả tập con (trừ tập rỗng và tậptoàn bộ) của từng thuộc tính
CHƯƠNG 3 PHÂN TÍCH MỘT SỐ THUẬT TOÁN
3.1 Giới thiệu
Có rất nhiều thuật toán khác nhau để xây dựng cây quyết định: CLS, ID3,C4 5, SPRINT, … Trong báo cáo, chúng em chỉ nghiên cứu một số thật toán phổbiến