Hiện nay, các phần mềm hỗ trợ khai phá dữ liệu được phát triển nhiều, trong đó có 2 nhóm cơng cụ đó là cơng cụ mã nguồn mở và cơng cụ thương mại. Công cụ mã nguồn mở là phần mềm cung cấp dưới dạng mã nguồn, được sử dụng miễn phí có thể kể đến như: phần mềm khai phá dữ liệu Rapidminner, phần mềm phân tích số liệu Weka, phần mềm phân tích thống kê R. Cơng cụ thương mại là phần mềm thuộc bản
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
quyền của tác giả hoặc các hãng phần mềm, được cung cấp dưới dạng mã nhị phân, người dùng phải mua và khơng có quyền bán lại. Phần mềm thương mại bao gồm IBM InfoSphere Data Warehouse, Business Intelligence Development Studio của Microsoft, Oracle Data Mining. Trong phạm vi hẹp của khóa luận, việc sử dụng phần mềm mã nguồn mở là hợp lý và hiệu quả hơn. Khóa luận sẽ đề cập tới một phần mềm mã nguồn mở thông dụng và được đánh giá là hiệu quả trong việc thử nghiệm khai phá dữ liệu: phần mềm khai phá dữ liệu Weka.
Weka là môi trường thử nghiệm khai phá dữ liệu do các nhà khoa học thuộc trường Đại học Waikato, NewZeland khởi xướng và được sự đóng góp của rất nhiều nhà nghiên cứu trên thế giới. Weka là phần mềm mã nguồn mở, cung cấp công cụ trực quan và sinh động cho mọi người tìm hiểu về KPDL. Weka cịn cho phép các giải thuật học mới phát triển có thể tích hợp vào mơi trường của nó. Hệ thống được viết bằng java. Nó chạy được hầu hết trên tất cả hệ điều hành. Weka cung cấp nhiều giải thuật khác nhau với nhiều phương thức cho quá trình xử lý để ước lượng kết quả bằng sơ đồ cho bất kì một dữ liệu nào. [8]
Giao diện đồ họa của Weka:
Hình 3.1: Giao diện đồ họa của WekaCác mơi trường làm việc chính của Weka: Các mơi trường làm việc chính của Weka:
- Explorer: Cho phép làm việc với hầu hết các chức năng của Weka. Explorer
chỉ sử dụng cho những bộ dữ liệu vừa và nhỏ
- Experimeter: 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ê các mơ hình
A B C D E F G H I J K L M N O P Q R 1 STT Tuoi Trinhd
ohc TTHonnha Songuoiph TCCongvie RRNgheng TGCongta TTNhao CocauGD TNHangthiTiIetienph Oto SPDVsudu TSThechaf Tinhhinht UytinGD XHTD
2 1 3
6 TrenDH Kethon 1 Quan ly, di Thap 8 Chusohuu Hatnhan 5 1 5 2 Co 1 Co 1 1 AM
3 2 3
6 TrenDH Kethon O Quan ly,di Cao 2 Chusohuu Hatnhan 8 2 3 Co 1 Co 2 3 AAA
4 3 3
1 Daihoc Kethon 1 Quan ly,di Thap 1 Nhachung Hatnhan 8 3 2 Co 2 Co 1 1 AA
5 4 5
6 Daihoc Lidi 2 Quanly,di TB 5 2 dinVoigia Hatnhan 9 7 7 Khong 2 Co 3 2 BB
6 5 5
5 TrenDH Kethon 2 Chuyenmc Thap 0 2 Chusohuu Hatnhan 2 2 5 2 Co 1 Co 1 1 AM
7 6 3
7 Trunghoc Kethon 3 Ldthoivu Cao 2 1 Thue Hatnhan 5 1 3 Co 2 Co 4 3 BB
8 7 5
6 TrenDH Kethon 3 Quanly,di Thap 7 giVoigiadinlSongvoi 2 4 6 3 Co 1 Co 2 3 M
9 8 6
0 Duoitrung Lidi 4 Ldthoivu TB 8 2 Thue Songvoigi 9 9 7 Khong 1 Co 2 3 CC
1 0 9
3
0 Duoitrung Kethon 5 Ldduoeda TB 3 VoigiadinlSongvoigi 4 2 Khong 2 Co 5 3 CC
1 1
I
O 3 2 Trunghoc Docthan 6 Ldduoeda Cao 1 huuChuso Songvoigi 0 1 0 3 Khong 2 Co 1 1 B 1
2 1
1 6 7 Duoitrung Kethon 6 Nghihuu Khac O Thue SongvoiGI 0 1 5 Khong 2 Co 5 4 P___
1
3 2 1 8 1 Trunghoc Kethon 6 Ldthoivu Cao 1 Thue SongvoiGI 4 4 1 Khong 1 Co 5 3 P___
1
4 3 1 0 4 TrenDH Kethon 1 Quanly,di Thap 2 1 Chusohuu Hatnhan 0 2 5 1 Co 1 Co 1 1 AM
1 5
1
4 0 2 Trunghoc Lidi 1 Chuyenmc TB 1 huuChuso SongvoiGI 2 8 2 Khong 2 Co 5 4 C
1 6
1
5 2 3 Daihoe Kethon O Chuyenmc Cao 8 Nhachung Songvoigi 6 1 Co 1 Co 2 3 AA
1
7 6 1 8 3 Daihoe Kethon 5 Chuyenmc TB 0 1 VoigiadinlSongvoiGI 7 5 1 Khong 2 Khong 3 2 BB
1
8 7 1 6 5 TrenDH Doethan 3 Ldduocda Cao 4 2 Thue SongvoiGI 3 4 2 Khong 1 Khong 4 4 B
1 9
1
8 9 1 Trunghoc Kethon O Ldduoeda Cao 3 Nhachung SongvoiGI 4 2 Co 2 Khong 5 4 C
2 0
1
9 5 7 Duoitrung Lidi 1 Nghihuu Khac O huuChuso Songvoigi 9 9 7 Khong 1 Khong 5 3 D
2
1 0 2 6 3 Daihoe Docthan O Chuyenmc TB 9 Thue SongvoiGI 7 1 5 Khong 1 Co 1 1 M
2
2 1 2 8 3 TrenDH Kethon O Chuyenmc Thap 3 1 Chusohuu Hatnhan 5 1 0 1 Co 1 Co 1 1 AM
2 3 2 2 2 1 Trung hoc Kethon 4 Ldthoi vu TB 3 Thue Hatnh an 5 3 0 Khong 1 Khong 5 4 C 2 4 2
3 5 5 Duoitrung Kethon 2 Ldthoivu Thap 5 2 Chusohuu Songvoigi 9 3 3 Co 1 Co 2 3 M
2 5
2
4 4 7 Caodang Docthan O Nghihuu Khac O Thue SongvoiGI 7 6 Khong 2 Khong 5 4 P___
2
6 5— 2 9 I 2 HTrenD Lidi 1 Quanly,di Cao 4 VoigiadinlSongvoiGI 3 4 2 1 Khong 2 Khong 1 1 BBB
ΓΞ --------------*-------------
Ứ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
- KnowledgeFlow: Cho phép tương tác đồ họa kiểu kéo thả để thiết kế các
bước, các thành phần của một thí nghiệm
- Simple CLI: Giao diện đơn giản kiểu dịng lệnh
Hình 3.2: Giao diện của Weka ExplorerCác chức năng chính của Weka Explorer bao gồm 6 tab: Các chức năng chính của Weka Explorer bao gồm 6 tab:
-Preprocess: Cho phép mở, điều chỉnh, lưu một tập tin dữ liệu. Thẻ này chứa
các thuật toán áp dụng trong tiền xử lý dữ liệu.
- Classify: Cung cấp các mơ hình phân lớp dữ liệu hoặc hồi quy.
- Cluster: Cung cấp các mô hình gom cụm.
- Associate: Khai thác tập phổ biến và luật kết hợp.
- SelectAttributes: Lựa chọn những thuộc tính tốt nhất từ tập dữ liệu.
- Visualize: Thể hiện dữ liệu dưới dạng biểu đồ.
Thông thường file dữ liệu dùng trong Weka là file .arff (file này do Weka tạo ra) hoặc file .csv (file dạng dữ liệu Excel).
3.3. Ứng dụng cây quyết định trong việc phân loại khách hàng
3.3.1. Thu thập dữ liệu
Đào Thị Hiền - Lớp K17HTTTB
Ứ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
Dữ liệu được sử dụng để xây dựng bài tốn là một tập hợp các thơng tin về khách hàng cá nhân xin cấp tín dụng tại ngân hàng Maritimebank.
Dữ liệu thu thập được bao gồm 866 bản ghi, được lưu trữ dưới dạng file excel và được chuyển thành file .csv:
ST
T Tên Kiểu giá trị Giá trị Mô tả
1 Tuoi Numberic 18,19,20, ... Tuổi (năm)
2 Trinhdohocvan Nominal TrenDH, Daihoc,
Caodang, ... Trình độ học vấn 3 TTHonnhan Nominal Kethon, Docthan Tình trạng hơn nhân 4 Songuoiphuthuoc Numeric 0,1,2,3, ... Số người phụ thuộc 5 TCCongviec Nominal Chuyenmon,Ldthoivu, ... Tính chất cơng việc 6 RRNghenghiep Nominal Cao, TB, Thap Rủi ro nghề nghiệp
Hình 3.3: Nguồn dữ liệu
Bộ dữ liệu gồm 17 thuộc tính khác nhau, mỗi thuộc tính đều có giá trị hữu hạn. Tên các thuộc tính và tập giá trị của nó được trình bày trong bảng sau:
7 TGCongtac Numberic 1,2,3,4,5, ... Thời gian cơng tác 8
TTNhao Nominal Chusohuu,
Nhachung, ...
Tình trạng nhà ở
9 CocauGD Nominal Hatnhan,
Songvoigiadinh Cơ cấu gia đình 10 TNHangthang Numberic 1,2,3, ... Thu nhập hàng tháng(triệu đồng)
11 TiletienphaitratrenTN Numberic 20,21,22, ... Tỉ lệ tiền phải trả trên thunhập (%)
12 Oto Nominal Co, Khong Có ơ tơ hay khơng?
13 SPDVsudung Nominal
Loai 1, Loai 2, Loai 3
Các sản phẩm, dịch vụ sử dụng
14 TSThechap Nominal Co, Khong Có tài sản thế chấp tại ngân hàng hay không? 15 THTranogocvalai Nominal Loai 1, Loai 2, Loai
3, Loai 4, Loai 5
Tình hình trả nợ gốc và lãi
16 UytinGD Nominal Loai 1, Loai 2, Loai
3, Loai 4 Uy tín giao dịch
17 XHTD Nominal AAA, AA, A, BBB,
BB, ... Xếp hạng tín dụng
Đào Thị Hiền - Lớp K17HTTTB
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
Giải thích phân loại các thuộc tính:
- Sản phẩm dịch vụ sử dụng:
• Loại 1: Tiền gửi và các dịch vụ khác
• Loại 2: Chỉ sử dụng dịch vụ thanh tốn
• Loại 3: Khơng sử dụng
- Tình hình trả nợ gốc và lãi:
• Loại 1: Ln trả nợ đúng hạn
• Loại 2: Đã bị gia hạn nợ, hiện trả nợ tốt
Ứ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
• Loại 3: Đã có nợ quá hạn hoặc khách hàng mới
• Loại 4: Đã có nợ q hạn, khách hàng trả nợ khơng ổn định
• Loại 5: Hiện đang có nợ q hạn
- Uy tín giao dịch:
• Loại 1: Có giao dịch vào ra đều đặn hoặc trả nợ đầy đủ
• Loại 2: Khách hàng mới, chưa cấp hạn mức
• Loại 3: Từ 2 đến 3 tháng khơng có giao dịch tiền vào và (hoặc) phát sinh nợ
loại 2
• Loại 4: Trên 3 tháng khơng có giao dịch tiền vào và (hoặc) phát sinh nợ loại
3,4,5
3.3.2. Tiền xử lý dữ liệu
Trong q trình KPDL, cơng việc tiền xử lý dữ liệu trước khi đưa vào mơ hình là rất cần thiết. Bước này cho dữ liệu có được ban đầu qua thu thập dữ liệu có thể được áp dụng thích hợp với các mơ hình khai phá dữ liệu cụ thể. Các công việc bao gồm:
- Filtering Attributes: Chọn các thuộc tính phù hợp với mơ hình
- Filtering Sample: Lọc các mẫu dữ liệu cho mơ hình
- Transformation: Chuyển đổi kiểu dữ liệu cho phù hợp
- Discretization: Rời rạc hóa dữ liệu
• Bước 1: Đưa dữ liệu vào
Trong tab “Preprocess” chọn “Open file” để mở file có sẵn trên máy tính
Ứ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
Hình 3.4: Nạp CSDL vào Weka
Sau khi nạp dữ liệu lên lưu lại dữ liệu dưới dạng file .arff với tên là Data.arff.
0attιibute STT numeric Êattiibute Tuoi numeric
@attrIbute Trinhdohocvan {TrenDHr DailIOCj Trunghoc, Duoitrunghoc, Caodang > ^attribute TTHcnnhan {Kethonr Li-di, Docthan, kethon}
@attribute ScngtLOd-Phuthuoc numeric ^attribute TCCongviec
{ 1 Quanly, dieuhanh" , Chuyenmon, Ldthoj-VU, Ldduocdaotaonghe, Nghihuul
^attribute RRIJghenghiep {Thap , Cao, TBr Khac 1 ^attribute TGCongtac numeric
^attribute TTTJhao { Chusohuujr Khachung, Voigiadiinh, Thue 1
(⅞attr Ibute CocauGD £ Hatnhan J SongTOigiadinh, SongvolGDkihac J hatnhan}
^attribute TNHangthang numeric ^attribute TiLetienphaitratrenTN numeric ^attribute Oto {Co,Khongl
(⅞attribute SFDVsudung { 'Loai I1 , "Load 2τ}
^attribute TSThechap {CorKhongl
^attribute Tinhhinhtranogocvalai { rLoai I1J rLoad- 21
r1Leai 3i, 1Loai
41f 1Loai 5 1 1 _ -
^attribute UytinGD {τLoai 1i , ,Loai 3 , , i Loai 2 r , r Loai 41 1
iattɪibute XHTD { A⅛⅛, AL, BB, CC, Bj D f C, BBB, A, CCCl
0data
Ij 36 J TrenDHr KethoiIj Ij , Quanly, dieuhanh1 , Thap, 8, Chusohuu,Hathhan, 15,25 r CoJ , Loai 1 ■ , Co J 1 Loai 1 τ r τ Loai 1i , AAA
2,36fTrenDHrKethon,O, ,QuanLy,dieuhanh1, Cao,2JChusohuur Hatnhan,8J 32,Co, BLO
al 1i, CoJ τ Loal 21, 1Loai 3 iJAAA
3,31,DaihocrKethon,1, ,Quanly,dieuhanh τ,Thap, 1,Nhachung,Hathhan,8,23J Cor 1L
Ciai 2 r , Co, 1Loai 1i, 1Loai 1r , AA
4.56,DaihocrLidi,2, ,QuanLy, dieuhanh1, TB,25 , Voigiadinhr Hatnhan,9,77,Khcngr
,Loai 2 , J Cor 1Lcai 3,, i Loai 2 , J BB
S, 5 5, TrenDHr Kethon, 2, ChuyeniKjonr Thap, 20,Chusohuu, Hatnhanr 22, 25, Co, 1Loai
11 , Co , iLoai 1 , J ,Loai I1JAAA
6,37,Trunghocr Kethon,3,Ldthoivu,Cao,12,Thue, Hatnhanr 5 r 31, Co, τLoai
2 τ, Co, ’Loai 4 , J ,Loai 3 τ,BB
7.56,TrenDHr Kethon,3, 1QuanLy,dieuhanh1,Thapr 7JVoigladinh,Songvolgiadinh,4
2,36,Co, 'Leal l,jCo,τLoai 2■r 1 Leal 3,,A⅛
8 J 60 ,Duoitrunghoe,Lidi,4,LdthoiVUjTB,28JThuerSongroigiadiahf9, 7 9 r Khcngr 1L
Hình 3.5: Nội dung file Data.arff
Ứ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ước 2: Loại bỏ thuộc tính
Sau khi đưa dữ liệu lên phần mềm, trong file Bank_data_2.csv có thuộc tính STT khơng dùng để phân lớp dữ liệu, ta loại bỏ thuộc tính đó bằng cách: Trong Panel Filter -> Choose -> filters -> unsupervised -> attribute -> remove.
Hình 3.6: Lựa chọn thuộc tính Remove
Bấm vào textbox ngay bên phải nút “Choose” và gõ vào “1” chính là số thứ tự cột của thuộc tính STT trong file dữ liệu. Sau đó bấm “Apply” để thực hiện loại bỏ thuộc tính.
Hình 3.7: Loại bỏ thuộc tính STT
Ứ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ước 3: Chuyển đổi dữ liệu của thuộc tính “Tuoi” về dạng Nominal với 5
giá trị:
- ‘1’ với 35 < Tuổi <= 55 (có nghĩa là từ 36 đến 55 tuổi)
- ‘2’ với 25 < Tuổi <= 35
- ‘3’ với 55 < Tuổi <= 60
- ‘4’ với 20 <= Tuổi <= 25
- ‘5’ với Tuổi > 60 hoặc =18,19
Chọn mục “MathExpression” trong cây thư mục, ở bên phải nút “Choose” sẽ xuất hiện dòng chữ “MathExpression -E (A-MIN)Z(MAX-MIN)”. Click chuột phải vào textbox đó và thiết lập thơng số trong hộp thoại của nó như sau:
Hình 3.8: Thiết lập thơng số cho thuộc tính tuổi
Click vào “OK” để hồn thành sau đó click vào “Apply” để thực hiện. Tiếp tục với hộp thoại trong mục “MathExpression”, áp dụng cho tuổi từ 56 - 60 thay bằng giá trị ‘3’. (55 < Tuổi <= 60)
Ứ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
Hình 3.9: Thiết lập thơng số cho thuộc tính tuổiTuổi từ 36 - 55 thay bằng giá trị ‘1’ (35 < Tuổi <= 55) Tuổi từ 36 - 55 thay bằng giá trị ‘1’ (35 < Tuổi <= 55)
Hình 3.10: Thiết lập thơng số cho thuộc tính tuổi Tuổi từ 26 - 35 thay bằng giá trị ‘2’ (25 < Tuổi <= 35)
No. Label Count 1 1 287 2 2 191 3 3 Tθ4 4 4 128 __________ 5_____________________________________________________156___________________________________________________
Số người phụ thuộc trong gia đình Giá trị gán nhãn
< 3 người 1 3 người 2 4 người 3 5 người 4 > 5 người 5 Ứ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
Hình 3.11: Thiết lập thơng số cho thuộc tính tuổi Tuổi từ 20 - 25 thay bằng giá trị ‘4’ (20 <= Tuổi <= 25)
Hình 3.12: Thiết lập thơng số cho thuộc tính tuổi
Sau khi nhóm tuổi thành 5 nhóm ta chuyển đổi kiểu dữ liệu của trường Tuoi sang kiểu Nominal: sử dụng mục “NumericToNominal”. Sau đó thiết lập thơng số như hình dưới đây:
Đào Thị Hiền - Lớp K17HTTTB 52
Ứ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
Hình 3.13: Chuyển đổi kiểu dữ liệu cho thuộc tính tuổi
Sau khi nhóm tuổi thành 5 cụm và chuyển đổi dữ liệu từ thuộc tính Numeric sang Nominal ta thu được thống kê như sau:
Hình 3.14: Thống kê số lượng của 5 nhóm tuổi
Từ kết quả ta có thể thấy nhóm 1 là người có độ tuổi từ 36 đến 55 tuổi chiếm số lượng nhiều nhất là 316 người, số lượng ít nhất thuộc về nhóm 5 với 170 người.
Thực hiện tương tự với 4 thuộc tính có kiểu dữ liệu số cịn lại đó là:
- Songuoiphuthuoc
Thời gian công tác Giá trị gán nhãn >= 7 năm 1 Từ 5 đến dưới 7 năm 2 Từ 3 đến dưới 5 năm 3 Từ 1 đến dưới 3 năm 4 < 1 năm 5 Thu nhập hàng tháng Giá trị gán nhãn >= 10 triệu đồng 1 Từ 5 đến dưới 10 triệu đồng 2 Từ 3 đến dưới 5 triệu đồng 3 Từ 1 đến dưới 3 triệu đồng 4 < 1 triệu đồng 5
Tỉ lệ số tiền phải trả trên thu nhập Giá trị gán nhãn
< 30 % 1 Từ 30 % đến dưới 45 % 2 Từ 45 % đến dưới 60 % 3 Từ 60 % đến dưới 75 % 4 >= 70 % 5 Ứ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
- TGCongtac
Bảng 3.3: Gán nhãn cho thuộc tính thời gian cơng tác
- TNHangthang
Bảng 3.4: Gán nhãn cho thuộc tính thu nhập hàng tháng
- TiletienphaitratrenTN
Sau khi đã xử lý dữ liệu xong click vào button “Save” để lưu lại bảng dữ liệu dưới tên Bankdata_MSB.arff.
TGCongtac Loai 2
UytinGD
Ứ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
3.3.3. Thực nghiệm
Sau khi đã trải qua bước tiền xử lý dữ liệu ta tiến hành phân loại dữ liệu bằng thuật toán C4.5. Trước khi tiến hành phân loại ta phải chọn chế độ kiểm thử để xây