2.3. Thuật toán C4.5 với ứng dụng của nó trong ngân hàng
2.3.1. Giải thuật C4.5 xây dựng câyquyết định từ trên xuống
Với những đặc điểm C4.5 là thuật toán phân lớp dữ liệu dựa trên cây quyết định hiệu quả và phổ biến trong những ứng dụng khai phá cơ sở dữ liệu có kích thước nhỏ. C4.5 sử dụng cơ chế lưu trữ dữ liệu thường trú trong bộ nhớ, chính đặc điểm này làm C4.5 chỉ thích hợp với những cơ sở dữ liệu nhỏ, và cơ chế sắp xếp lại dữ liệu tại mỗi node trong q trình phát triển cây quyết định. C4.5 cịn chứa một kỹ thuật cho phép biểu diễn lại cây quyết định dưới dạng một danh sách sắp thứ tự các luật if-then (một dạng quy tắc phân lớp dễ hiểu). Kỹ thuật này cho phép làm giảm bớt kích thước tập luật và đơn giản hóa các luật mà độ chính xác so với nhánh tương ứng cây quyết định là tương đương.
Khóa luận tốt nghiệp Ứng dụng cây quyết định xếp hạng khách hàng cá nhân tại Maritime Bank chi nhánh Hà Nội
Thuật toán xây dựng cây quyết định C4.5
Mơ tả thuật tốn dưới dạng giải mã như sau: [8]
Function Xaydungcay (T) {
1. <Tính tốn tần xuất các giá trị trong các lớp của T>;
2. If <Kiểm tra các mẫu, nếu thuộc cùng một lớp hoặc có rất ít mẫu khác lớp> Then <Trả về 1 nút lá>
Else <Tạo một nút quyết định N>;
3. For <Với mỗi thộc tính A> Do <Tính giá trị Gain (A)>;
4. <Tại nút N, thực hiện việc kiểm tra để chọn ra thuộc tính có giá trị Gain lớn nhất. Gọi N.test là thuộc tính có giá trị Gain lớn nhất>;
5. If <Nếu N.test là thuộc tính liên tục> Then <Tìm ngưỡng cho phép tách của N.test>;
6. For <Với mỗi tập con T’ tách ra từ tập T> Do (T’ được tách ra theo quy tắc:
- Nếu N.test là thuộc tính liên tục tách theo ngưỡng ở bước 5
- Nếu N.test là thuộc tính phân loại rời rạc tách theo các giá trị của thuộc tính này.)
7. { If <Kiểm tra, nếu T’ rỗng> } Then
<Gán nút con này của nút N là nút lá>; Else
8. <Gán nút con này là nút được trả về bằng cách gọi đệ quy lại đối với hàm Xay dung cay (T’), với tập T’>;
}
9. <Tính tốn các lỗi của nút N>; <Trả về nút N>;
}
Độ đo Information Gain
- Info(D): là lượng thông tin cần để phân loại một phần tử trong D
Info(D) = Entropy(D) = ∑i=1 Pi * l0g2(Pi), Pi = | Ci,T | / | D |
Lớp C Giá trị thực
Thuộc lớp C Không thuộc lớp C
Khóa luận tốt nghiệp Ứng dụng cây quyết định xếp hạng khách hàng cá nhân tại Maritime Bank chi nhánh Hà Nội
trong đó Pi là xác suất để 1 phần tử bất kỳ trong D thuộc lớp Ci , m là số lớp
- InfoA (D): là lượng thông tin cần để phân loại một phần tử trong D dựa trên
thuộc tính A. Thuộc tính A dùng phân tách D thành v phân hoạch {D1, D2, ... Dv). Mỗi
phân hoạch Dj gồm |Dj| phần tử trong D. Lượng thông tin này sẽ cho biết mức độ trùng
lặp giữa các phân hoạch, nghĩa là một phân hoạch chứa các phần tử từ một lớp hay nhiều lớp khác nhau.
InfoA(D) = -∑*L1≡ * Info(Dj)
- Độ đo Information Gain: chính là độ sai biệt giữa trị thông tin Info(D)
ban đầu (trước phân hoạch) với trị thông tin mới InfoA(D) (sau phân hoạch với A)
Gain(A) = Info(D) - InfoA(D)
Gain được sử dụng làm tiêu chuẩn để lựa chọn thuộc tính khi phân lớp. Thuộc tính được chọn là thuộc tính có Gain đạt giá trị lớn nhất. [10]
Một số cải tiến của thuật toán C4.5
Làm việc với thuộc tính đa trị:
Để giải quyết vấn đề một thuộc tính được dùng tạo ra rất nhiều phân hoạch (thậm chí mỗi phân hoạch chỉ gồm 1 phân tử), thuật toán C4.5 đã đưa ra các đại lượng GainRatio và SplitInfo, chúng được xác định theo công thức:
SplitInfoA(D) = - ∑y l⅛7 *log2(⅛7)
Av 7 ^j7-l DỊ Ị &2 DỊ Ị GainRatio(A) = g 5.t^rc(Λ)
v 7 SplitInfoA(D)
Giá trị SplitInfo là đại lượng đánh giá thông tin tiềm năng thu thập được khi phân chia tập D thành v tập con.
GainRatio là tiêu chuẩn để đánh giá việc lựa chọn thuộc tính phân loại. Thuộc tính được lựa chọn là thuộc tính có GainRatio đạt giá trị lớn nhất. [10]
Làm việc với giá trị bị thiếu:
Thuật toán vừa xây dựng dựa vào giả thuyết tất cả các mẫu dữ liệu có đủ các thuộc tính. Nhưng trong thực tế xảy ra hiện tượng dữ liệu bị thiếu, tức là ở một số mẫu dữ liệu có những thuộc tính khơng được khơng được xác định, mâu thuẫn hoặc không
Đào Thị Hiền - Lớp HTTTB - K17
Ứng dụng cây quyết định xếp hạng khách hàng cá nhân tại Maritime Bank chi nhánh Hà Nội Khóa luận tốt nghiệp
bình thường. Giải pháp:
- Thay bằng giá trị xuất hiện nhiều nhất của thuộc tính A.
- Thay bằng giá trị xuất hiện nhiều nhất của thuộc tính A mà có cùng giá trị
hàm mục tiêu.
- Tính lại các cơng thức dựa trên những giá trị đã có của thuộc tính A (loại các
giá trị bị thiếu, nếu số lượng các giá trị bị thiếu không nhiều). [10]