Cài đặt thuật toán

Một phần của tài liệu Nghiên cứu cây quyết định và ứng dụng để phân loại khách hàng vay vốn tại ngân hàng vietinbank chi nhánh kon tum (Trang 70 - 107)

5. Cấu trúc luận văn

3.3.4.Cài đặt thuật toán

Ứng dụng này đƣợc viết trong môi trƣờng Visual Studio 2010, viết bằng ngôn ngữ lập trình C#. Ứng dụng này tập trung vào xây dựng và đƣa ra các quyết định và các tập luật của thuật toán ID3. Từ các cây quyết định hay các luật quyết định rút ra từ cây quyết định sẽ hỗ trợ cho các cán bộ tín dụng trong ngân hàng quyết định cho khách hàng đƣợc vay hay không.

Cài đặt ứng dụng

Chƣơng trình:

- Đầu vào: Dữ liệu đầu vào dạng file Excel Dulieuvayvon.xlsx là tập các dữ liệu mẫu chứa các thông tin đƣợc sử dụng trong mô tả bài toán.

- Đầu ra: Đầu ra của chƣơng trình là tập các luật dự đoán sắp xếp phân loại khách hàng vay vốn, mô hình cây quyết định ID3 với tập dữ liệu mẫu đầu vào và ứng dụng phân loại khách hàng vay vốn cho cán bộ tín dụng.

Chƣơng trình gồm các mô đun chính nhƣ sau:

- Đọc dữ liệu đầu vào từ file excel(Tập dữ liệu mẫu gồm 621 đối tƣợng Dulieuvayvon.xlsx)

Hình 3.7: Thực hiện nạp dữ liệu vào hệ thống - Kiểm tra dữ liệu

+ Chuẩn hóa dữ liệu(Lọc ra và loại những dữ liệu trùng, những bộ dữ liệu mâu thuẫn)

+ Cập nhật dữ liệu vào hệ thống

Hình 3.9: Cập nhật dữ liệu vào hệ thống

- Tạo luật đƣợc sinh ra từ tập dữ liệu mẫu sau khi đã chuẩn hóa + Khởi tạo dữ liệu để sinh luật với thuật toán ID3(Lấy dữ liệu

sau khi đã chuẩn hóa)

+ Các luật của kết quả tích cực đƣợc sinh ra với thuật toán ID3

Hình 3.11: Kết quả các luật đƣợc sinh ra với thuật toán ID3

- Tạo cây ID3 với bộ dữ liệu Dulieuvayvon.xlsx(Gồm 621 đối tƣợng)

- Ứng dụng ID3 quyết định cho vay vốn

Hình 3.13: Ứng dụng cho vay vốn với ID3

+ Chọn dữ liệu cần quyết định cho vay: Tập dữ liệu đƣa vào gồm 10 trƣờng thông tin của khách hàng sau khi chuẩn hóa nhƣ hình bên dƣới:

Hình 3.14: Chọn dữ liệu khách hàng mới để thực hiện quyết định cho vay + Thực hiện ra quyết định cho vay vốn hay không đối với

Hình 3.15: Kết quả sau khi thực hiện quyết định có cho khách hàng mới vay hay không

Kết quả và đánh giá thuật toán

 Mô hình cây quyết định và luật tích cực sinh ra với thuật toán ID3 Với tập dữ liệu nhƣ đã trình bày (Dulieuvayvon.xlsx: 621 mẫu, 10 thuột tính, 1 thuột tính kết luận(Result), sau khi chạy với chƣơng trình demo nó sinh ra cây quyết định và các luật tích cực nhƣ sau:

Hình 3.16: Cây quyết định ứng với thuật toán ID3 Kết quả sau khi ứng dụng

 Các luật tích cực quyết định ứng với cây quyết định ID3

Hình 3.17: Một số luật của cây quyết định ID3

 Đánh giá thuật toán và ứng dụng của cây quyết định trong việc hỗ trợ cán bộ tín dụng:

Để đánh giá hiệu suất của một cây quyết định ngƣời ta thƣờng sử dụng một tập mẫu tách rời, tập này khác với tập dữ liệu huấn luyện, để đánh giá khả năng phân loại của cây trên các mẫu của tập này. Tập dữ liệu này gọi là tập kiểm tra. Thông thƣờng, tập dữ liệu sẵn có sẽ đƣợc chia thành 2 tập: Tập huấn luyện thƣờng chiếm 2/3 tổng số mẫu và tập kiểm tra chiếm 1/3 tổng số mẫu. Luận văn cũng sử dụng phƣơng thức này để đánh giá thuật toán ID3 theo tập dữ liệu: Dulieuvayvon.xlsx Đánh giá độ chính xác của thuật toán với số lần là 10 trên bộ dữ liệu Dulieuvayvon.xlsx.

3.4.KẾT CHƢƠNG

Trong chƣơng này đã phát biểu bài toán để kiểm chứng các thuật toán xây dựng cây quyết định ở chƣơng 2 trên bộ dữ liệu mẫu Dulieuvayvon.xlsx. Đồng thời cài đặt chƣơng trình hỗ trợ cán bộ tín dụng ra quyết định vay vốn. Dựa vào mô hình cây quyết định (các luật quyết định) đã đƣợc xây dựng, phân lớp các mẫu dữ liệu khách hàng mới.

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN (adsbygoogle = window.adsbygoogle || []).push({});

Khai phá dữ liệu là một lĩnh vực đã, đang và luôn luôn thu hút các nhà nghiên cứu bởi nó là một lĩnh vực cho phép phát hiện tri thức trong cơ sở dữ liệu khổng lồ bằng các phƣơng thức thông minh. Nghiên cứu lĩnh vực này đòi hỏi ngƣời nghiên cứu phải biết tổng hợp các kết quả nghiên cứu ở nhiều lĩnh vực của khoa học máy tính và việc ứng dụng nó trong từng nhiệm vụ của khai phá dữ liệu.

Qua hai năm học tập, tìm tòi, nghiên cứu, đặc biệt là trong khoảng thời gian làm luận văn, tác giả đã hoàn thiện luận văn với các mục tiêu đặt ra ban đầu. Cụ thể luận văn đã đạt đƣợc những kết quả sau:

1. KẾT QUẢ ĐẠT ĐƢỢC

- Trình bày các kiến thức cơ bản về khai phá dữ liệu; hệ thống hóa các kiến thức cơ bản của lý thuyết tập thô đƣợc áp dụng để xây dựng cây quyết định.

- Giới thiệu phƣơng pháp tổng quát xây dựng cây quyết định, và trình bày bốn thuật toán xây dựng cây quyết định CLS, ID3, C4.5, FLIQ[5] và một số mẫu minh họa cho các phƣơng pháp xây dựng cây quyết định cũng đƣợc trình bày.

- Cài đặt bằng Visual Studio thuật toán xây dựng cây quyết định ID3 trên cơ sở dữ liệu mẫu Dulieuvayvon hỗ trợ cán bộ tín dụng ra quyết định vay vốn.

2. HẠN CHẾ CỦA ĐỀ TÀI

- Dữ liệu còn hạn chế, mang tính chất nghiên cứu demo. - Giao diện chƣơng trình chƣa thân thiện.

3. KIẾN NGHỊ VÀ HƢỚNG PHÁT TRIỂN

Qua quá trình học tập, nghiên cứu tác giả không những tích lũy đƣợc thêm các kiến thức mà còn nâng cao đƣợc khả năng lập trình, phát triển ứng dụng. Tác giả nhận thấy luận văn đã giải quyết tốt các nội dung, yêu cầu nghiên cứu đặt ra, có các ví dụ minh họa cụ thể. Song do thời gian có hạn nên luận văn vẫn còn tồn tại một số thiếu sót, một số vấn đề mà tác giả còn phải tiếp tục nghiên cứu, tìm hiểu.

Cần bổ sung thêm dữ liệu cho tập huấn luyện để mô hình cây quyết định có độ tin cậy cao hơn và hoạt động hiệu quả hơn. Tiếp tục phát triển hoàn thiện theo hƣớng trở thành phần mềm khai phá dữ liệu trong tín dụng tiêu dùng nhằm hỗ trợ cho cán bộ tín dụng đƣa ra quyết định cho khách hàng vay hay không.

Tìm hiểu nhu cầu thực tế để từ đó cải tiến chƣơng trình, cài đặt lại bài toán theo các thuật toán đã nghiên cứu để làm việc tốt hơn với các cơ sở dữ liệu lớn và có thể có đƣợc sản phẩm trên thị trƣờng.

Hướng phát triển của đề tài là:

Về lý thuyết:

- Cần tiếp tục nghiên cứu các thuật toán khai phá dữ liệu bằng cây quyết định dựa vào tâp thô nhƣ: thuật toán ADTCCC (dựa vào CORE và đại lƣợng đóng góp phân lớp của thuộc tính), thuật toán ADTNDA (dựa vào độ phụ thuộc mới của thuộc tính), …

- Nghiên cứu các phƣơng pháp xây dựng cây quyết định trên hệ thống thông tin không đầy đủ, dữ liệu liên tục và không chắc chắn.

Về chương trình demo:

- Cần bổ sung thêm dữ liệu cho tập training để mô hình cây quyết định có độ tin cậy cao hơn và hoạt động hiệu quả hơn.

- Cần tiếp tục phát triển hoàn thiện theo hƣớng trở thành phần mềm khai phá dữ liệu trong tín dụng tiêu dùng nhằm hỗ trợ cho cán bộ tín dụng đƣa ra quyết định cho khách hàng vay hay không.

- Tìm hiểu nhu cầu thực tế để từ đó cải tiến chƣơng trình, cài đặt lại bài toán theo các thuật toán đã nghiên cứu để làm việc tốt hơn với các cơ sở dữ liệu lớn và có thể có đƣợc sản phẩm trên thị trƣờng..

DANH MỤC TÀI LIỆU THAM KHẢO

[1] G.piatctsky - Shapiro and W.J.Frawlcy, Knowledge Discovery in Databases.: AAAI/MIT Press, 1991.

[2] Ho Tu Bao, Introdution to Knowledge Discover and Data Mining.: Institute of Information Technology, 2008.

[3] Jaiwei and Micheline Kamber, Data Mining: Concepts and Techniques, ISBN 1-55860-489-8, Ed., 2001.

[4] Amos Storkey, Slide Learning from Data: Decision trees.: School of informatics university of Edinburgh, 2004.

[5] C.R.Rao, Vivekchan Reddy Ramadevi Yellasiri, Decision Tree Induction Using Rough Set Theory - Comparative Study.: Journal of Theoretical and Applied Information Technology, pp. 110-114, 2007.

[6] Wikipedia, Bách khoa toàn thư mở - Cây quyết định: https://vi.wikipedia.org/wiki/Cây_quyết_định.

[7] NingZhong Andrzej Skowron, Rough Sets in KDD.: Tutorial Notes, 2000. [8] Minghe Huang, Bin Guo, Zhimming Zhang Longjun Huang, A New

Method fos Constructing Decision Tree Based on Rough Set., 2007.

[9] Thomas, Data mining: Definittions and decision tree examples.: State university of New York, 2004. (adsbygoogle = window.adsbygoogle || []).push({});

PHỤ LỤC

VÍ DỤ MINH HỌA 1. Phát biểu bài toán

David là quản lý của một câu lạc bộ đánh golf nổi tiếng. Anh ta đang có rắc rối chuyện các thành viên đến hay không đến. Có ngày ai cũng muốn chơi golf nhƣng số nhân viên câu lạc bộ lại không đủ phục vụ. Có hôm, không hiểu vì lý do gì mà chẳng ai đến chơi, và câu lạc bộ lại thừa nhân viên.

Mục tiêu của David là tối ƣu hóa số nhân viên phục vụ mỗi ngày bằng cách dựa theo thông tin dự báo thời tiết để đoán xem khi nào ngƣời ta sẽ đến chơi golf. Để thực hiện điều đó, anh cần hiểu đƣợc tại sao khách hàng quyết định chơi và tìm hiểu xem có cách giải thích nào cho việc đó hay không.

Vậy là trong hai tuần, anh ta thu thập thông tin về: Trời (outlook) (nắng (sunny), nhiều mây (overcast) hoặc mƣa (raining). Nhiệt độ (temperature) bằng độ F. Độ ẩm (humidity). Có gió mạnh (windy) hay không. Và là số ngƣời đến chơi golf vào hôm đó. David thu đƣợc một bộ dữ liệu gồm 14 dòng và 5 cột.

Ngày Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Tennis

D1 Nắng Nóng Cao Nhẹ Không D2 Nắng Nóng Cao Mạnh Không D3 Âm u Nóng Cao Nhẹ Có D4 Mƣa Ấm áp Cao Nhẹ Có D5 Mƣa Mát TB Nhẹ Có D6 Mƣa Mát TB Mạnh Không D7 Âm u Mát TB Mạnh Có D8 Nắng Ấm áp Cao Nhẹ Không D9 Nắng Mát TB Nhẹ Có D10 Mƣa Ấm áp TB Nhẹ Có D11 Nắng Ấm áp TB Mạnh Có D12 Âm u Ấm áp Cao Mạnh Có D13 Âm u Nóng TB Nhẹ Có

D14 Mƣa Ấm áp Cao Mạnh Không

Sau đó, để giải quyết bài toán của David, ngƣời ta đã đƣa ra một mô hình cây quyết định.

Hình 2.2: Mô hình cây quyết định chơi golf

Cây quyết định là một mô hình dữ liệu mã hóa phân bố của nhãn lớp (cũng là y) theo các thuộc tính dùng để dự đoán. Đây là một đồ thị có hƣớng phi chu trình dƣới dạng một cây. Nút gốc (nút nằm trên đỉnh) đại diện cho toàn bộ dữ liệu. Thuật toán cây phân loại phát hiện ra rằng cách tốt nhất để giải thích biến phụ thuộc, play (chơi), là sử dụng biến Outlook. Phân loại theo các giá trị của biến Outlook, ta có ba nhóm khác nhau: Nhóm ngƣời chơi golf khi trời nắng, nhóm chơi khi trời nhiều mây, và nhóm chơi khi trời mƣa.

2. Minh họa xây dựng cây quyết định có: S = [9+, 5-]

Entropy(S) = entropy(9+,5-)

= – p+log2p+ – p-log2p- = – (9/14)log2(9/14) – (5/14)log2(5/14) = 0.940

+ Values(Outlook) = Sunny, Overcast, Rain SSunny = [2+, 3-]

SOvercast = [4+, 0-] SRain = [3+, 2-]

{ , , } | | ( , ) ( ) ( ) | | v v v Sunny Overcast Rain

S

Gain S Outlook Entropy S Entropy S S

  

= Entropy(S) – (5/14)Entropy(SSunny) – (4/14)Entropy(SOvercast) – (5/14)Entropy(SRain)

Trong đó:

Entropy(S) = 0.940

Entropy(SSunny) = – (2/5)log2(2/5) – (3/5)log2(3/5) = 0.5288 + 0.4422 = 0.971

Entropy(SOvercast) = – (4/4)log2(4/4) – (0/4)log2(0/4) = 0 + 0 = 0 Entropy(SRain) = – (3/5)log2(3/5) – (2/5)log2(2/5)

= 0.4422 + 0.5288 = 0.971 Suy ra:

Gain(S, Outlook) = 0.940 – (5/14)* 0.971 – (4/14)* 0 – (5/14)* 0.971 = 0.246

+ Values(Temperature) = Hot, Mild, Cool SHot = [2+, 2-]

SMild = [4+, 2-] SCool = [3+, 1-] (adsbygoogle = window.adsbygoogle || []).push({});

{Hot, Mild, Cool}

| | ( , ) ( ) ( ) | | v v v S

Gain S Temperature Entropy S Entropy S S

  

= Entropy(S) – (4/14)Entropy(SHot) – (6/14)Entropy(SMild) – (4/14)Entropy(SCool)

Trong đó:

Entropy(S) = 0.940

Entropy(SHot) = – (2/4)log2(2/4) – (2/4)log2(2/4) = 0.5 + 0.5 = 1

Entropy(SMild) = – (4/6)log2(4/6) – (2/6)log2(2/6) = 0.3896 + 0.5282 = 0.9178

Entropy(SCool) = – (3/4)log2(3/4) – (1/4)log2(1/4) = 0.3112781 + 0.5 = 0.81128

Gain(S, Temperature) = 0.940 – (4/14)*1 – (6/14)*0.9178 – (4/14)*0.81128 = 0.029

+ Values(Humidity) = High, Normal SHigh = [3+, 4-] SNormal = [6+,1-] {High, Nor } | | ( , ) ( ) ( ) | | v v v mal S

Gain S Humidity Entropy S Entropy S

S

  

= Entropy(S) – (7/14)Entropy(SHigh) – (7/14)Entropy(SNormal) Trong đó:

Entropy(S) = 0.940

Entropy(SHigh) = – (3/7)log2(3/7) – (4/7)log2(4/7) = 0.5238 + 0.4613 = 0.9851

Entropy(SNormal) = – (6/7)log2(6/7) – (1/7)log2(1/7) = 0.1966 + 0.4010 = 0.5976 Suy ra: Gain(S, Humidity) = 0.940 – (7/14)*0.9851 – (7/14)*0.5976 = 0.151 SWeak = [6+, 2-] SStrong = [3+, 3-] {W , } | | ( , W ) ( ) ( ) | | v v v eak Strong S

Gain S ind Entropy S Entropy S S

  

= Entropy(S) – (8/14)Entropy(SWeak) – (6/14)Entropy(SStrong) Trong đó:

Entropy(S) = 0.940

Entropy(SWeak) = – (6/8)log2(6/8) – (2/8)log2(2/8) = 0.3112 + 0.5 = 0.8112

Entropy(SStrong) = – (3/6)log2(3/6) – (3/6)log2(3/6) = 0.5 + 0.5 = 1 Suy ra:

Ta thu đƣợc kết quả: Gain(S, Outlook) = 0.246 Gain(S, Temperature) = 0.029 Gain(S, Humidity) = 0.151 Gain(S, Wind) = 0.048

Ta thấy giá trị Gain(S, Outlook) lớn nhất nên Outlook đƣợc chọn làm thuộc tính kiểm tra (adsbygoogle = window.adsbygoogle || []).push({});

{D1, D2, D8, D9, D11} {D3, D7, D12, D13} {D4, D5, D6, D10, D14}

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

Hình 2.3 : Thuộc tính kiểm tra lớn nhất * Xác định thuộc tính tt1

Day Outlook Temperature Humidity Wind PlayTennis

Dl Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D8 Sunny Mild High Weak No

D9 Sunny Cool Normal Weak Yes

D11 Sunny Mild Normal Strong Yes

Bảng 2.4: Xác định thuộc tính tt1 Ta có:

SSunny = {D1, D2, D8, D9, D11} = [2+, 3-] Entropy(SSunny) = entropy(2+,3-)

= – p+log2p+ – p-log2p- = – (2/5)log2(2/5) – (3/5)log2(3/5) = 0.5288 + 0.4421 = 0.971

Outlook Overcast

+ Values(Temperature) = Hot, Mild, Cool SHot = [0+, 2-] SMild = [1+, 1-] SCool = [1+, 0-] {Hot,Mild,Cool} | | ( , ) ( ) ( ) | | v Sunny Sunny v v Sunny S

Gain S Temperature Entropy S Entropy S S

  

= Entropy(SSunny) – (2/5)Entropy(SHot) – (2/5)Entropy(SMild) – (1/5)Entropy(SCool)

Trong đó:

Entropy(SSunny) = 0.971

Entropy(SHot) = – (0/2)log2(0/2) – (2/2)log2(2/2) = = 0 + 0 = 0

Entropy(SMild) = – (1/2)log2(1/2) – (1/2)log2(1/2) = 0.5 + 0.5 = 1

Entropy(SCool) = – (1/1)log2(1/1) – (0/1)log2(0/1) = 0 + 0 = 0 Suy ra:

Gain(SSunny, Temperature) = 0.971 – (2/5)*0 – (2/5)*1 – (1/5)*0 = 0.571

+ Values(Humidity) = High, Normal SHigh = [0+, 3-] SNormal = [2+,0-] {High,Nor } | | ( , ) ( ) ( ) | | v Sunny Sunny v v mal Sunny S

Gain S Humidity Entropy S Entropy S S

   (adsbygoogle = window.adsbygoogle || []).push({});

= Entropy(SSunny) – (3/5)Entropy(SHigh) – (2/5)Entropy(SNormal) Trong đó:

Entropy(SSunny) = 0.971

Entropy(SHigh) = – (0/3)log2(0/3) – (3/3)log2(3/3) = 0 + 0 = 0

= 0 + 0 = 0 Suy ra:

Gain(SSunny, Humidity) = 0.971 – (3/5)*0 – (2/5)*0 = 0.971 + Values(Wind) = Weak, Strong

SWeak = [1+, 2-] SStrong = [1+, 1-] {W , } | | ( , W ) ( ) ( ) | | v Sunny Sunny v

v eak Strong Sunny

S

Gain S ind Entropy S Entropy S S

  

= Entropy(SSunny) – (3/5)Entropy(SWeak) – (2/5)Entropy(SStrong) Trong đó:

Entropy(SSunny) = 0.971

Entropy(SWeak) = – (1/3)log2(1/3) – (2/3)log2(2/3) = 0.5278 + 0.3897 = 0.918

Entropy(SStrong) = – (1/2)log2(1/2) – (1/2)log2(1/2) = 0.5 + 0.5 = 1

Suy ra:

Gain(SSunny, Wind) = 0.971 – (3/5)*0.918 – (2/5)*1 = 0.020 Ta thu đƣợc kết quả:

Gain(SSunny, Temperature) = 0.571 Gain(SSunny, Humidity) = 0.971 Gain(SSunny, Wind) = 0.020

Ta thấy giá trị Gain(SSunny, Humidity) lớn nhất nên Humidity đƣợc chọn làm thuộc tính kiểm tra

Hình 2.5: Một phần cây quyết định sinh ra từ bước đầu ID3  Xác định thuộc tính tt2 Da y Outlo ok Temper ature Humi dity Wind PlayT ennis

D4 Rain Mild High Weak Yes

D5 Rain Cool Norm

al

Weak Yes

D6 Rain Cool Norm

al

Strong No D1

0

Rain Mild Norm

al (adsbygoogle = window.adsbygoogle || []).push({});

Weak Yes

D1 4

Rain Mild High Strong No

Bảng 2.6: Xác định thuộc tính tt2 Ta có:

SRain = {D4, D5, D6, D10, D14} = [3+, 2-] Entropy(SRain) = Entropy(3+,2-)

= – p+log2p+ – p-log2p- = – (3/5)log2(3/5) – (2/5)log2(2/5) = 0.4421+ 0.5288 = 0.971

 Values(Temperature) = Mild, Cool SMild = [2+, 1-] SCool = [1+, 1-] {Mild,Cool} | | ( , ) ( ) ( ) | | v Rain Rain v v Rain S

Gain S Temperature Entropy S Entropy S S

  

= Entropy(SRain) – (3/5)Entropy(SMild) – (2/5)Entropy(SCool) Trong đó:

Entropy(SRain) = 0.971

Entropy(SMild) = – (2/3)log2(2/3) – (1/3)log2(1/3) = 0.3897 + 0.5278 = 0.918

Entropy(SCool) = – (1/2)log2(1/2) – (1/2)log2(1/2) = 0.5 + 0.5 = 1

Suy ra:

Gain(SRain, Temperature) = 0.971 – (3/5)*0.918 – (2/5)*1 = 0.020 * Values(Humidity) = High, Normal

SHigh = [1+, 1-] SNormal = [2+,1-] { , or } | | ( , ) ( ) ( ) | | v Rain Rain v

v High N mal Rain S

Gain S Humidity Entropy S Entropy S S

  

= Entropy(SRain) – (2/5)Entropy(SHigh) – (3/5)Entropy(SNormal) Trong đó:

Entropy(SRain) = 0.971

Entropy(SHigh) = – (1/2)log2(1/2) – (1/2)log2(1/2) = 0.5 + 0.5 = 1

Entropy(SNormal) = – (2/3)log2(2/3) – (1/3)log2(1/3) = 0.3897 + 0.5278 = 0.918

Gain(SRain,Humidity) = 0.971 – (2/5)*1 – (3/5)*0.918 = 0.020 * Values(Wind) = Weak, Strong

SWeak = [3+, 0-] SStrong = [0+, 2-] {W , } | | ( , W ) ( ) ( ) | | v Rain Rain v

v eak Strong Rain

S

Gain S ind Entropy S Entropy S S (adsbygoogle = window.adsbygoogle || []).push({});

  

= Entropy(SRain) – (3/5)Entropy(SWeak) – (2/5)Entropy(SStrong) Trong đó:

Entropy(SRain) = 0.971

Entropy(SWeak) = – (3/3)log2(3/3) – (0/3)log2(0/3) = 0 + 0 = 0

Entropy(SStrong) = – (0/2)log2(0/2) – (2/2)log2(2/2) = 0 + 0 = 0

Suy ra:

Gain(SRain, Wind) = 0.971 – (3/5)*0 – (2/5)*0 = 0.971 Ta thu đƣợc kết quả:

Gain(SRain, Temperature) = 0.020 Gain(SRain, Humidity) = 0.020 Gain(SRain, Wind) = 0.971

Ta thấy giá trị Gain(SRain, Wind) lớn nhất nên Wind đƣợc chọn làm thuộc tính kiểm tra.

Một phần của tài liệu Nghiên cứu cây quyết định và ứng dụng để phân loại khách hàng vay vốn tại ngân hàng vietinbank chi nhánh kon tum (Trang 70 - 107)