I. ĐẶT VẤN ĐỀ Khai phá dữ liệu là một ngành khoa học thực nghiệm. Nó được thiết kế sao cho bạn có thể nhanh chống thử nghiệm những cách thức hiện tại trên cơ sở dữ liệu mới một cách linh hoạt. Nó cung cấp nhiều sự hỗ trợ cho toàn bộ quá trình xử lý số liệu thực nghiệm, bao gồm chuẩn bị dữ liệu đầu vào, việc ước lượng học những sơ đồ thống kê, và hình dung dữ liệu ra và kết quả của việc học. Weka được phát triển bởi đại học Waikato bang New Zealand, và có tên là Waikato Environment for Knowledge Analysis. Hệ thống được viết bởi java và phân phối dưới thuật ngữ GNU. Nó cung cấp một giao diện tương tự cho nhiều giải thuật học khác nhau với nhiều phương thức chho 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. Workbenh bao gồm những phương thức chuẩn cho các vấn đề của khai phá dữ liệu như: phân lớp,hồi quy, phân nhóm, phân cụm, luật kết hợp, và các thuộc tính kết hợp.Cụ thể đề tài này em tìm hiểu về bài toán phân lớp trong weka và áp dụng trong bài toán phê duyệt tín dụng cho các ứng dụng thẻ tín dụng. II. XÂY DỰNG CƠ SỞ DỮ LIỆU Trong đề tài này, tập tin chứa các ứng dụng của thẻ tín dụng. Tất cả tên các thuộc tính và giá trị đều được thay thế bởi các biểu tượng vô nghĩa để bảo vệ bí mật về dữ liệu, số liệu này là thú vị bởi có sự kết hợp tốt giữa của các thuộc tính liên tục, danh nghĩa với số lượng nhỏ các giá trị, và danh nghĩa với số lượng lớn các giá trị. Ngoài ra còn thiếu 1 số các giá trị. Thông tin về dataset:
Trang 1BỘ QUỐC PHÒNG HỌC VIỆN KỸ THUẬN QUÂN SỰ
*************
BÀI TẬP LỚN
KHAI PHÁ DỮ LIỆU
Đề tài: Sử dụng phần mềm Weka phân lớp cho khả năng phê duyệt
tín dụng cho các ứng dụng thẻ tín dụng
Sinh viên: Vũ Anh Toản
Trang 2I Đ T V N Đ ẶT VẤN ĐỀ ẤN ĐỀ Ề
Khai phá dữ liệu là một ngành khoa học thực nghiệm Nó được thiết kế sao cho
bạn có thể nhanh chống thử nghiệm những cách thức hiện tại trên cơ sở dữ liệu mới một cách linh hoạt.Nó cung cấp nhiều sự hỗ trợ cho toàn bộ quá trình xử lý
số liệu thực nghiệm, bao gồm chuẩn bị dữ liệu đầu vào, việc ước lượng học
những sơ đồ thống kê, và hình dung dữ liệu ra và kết quả của việc học Weka
được phát triển bởi đại học Waikato bang New Zealand, và có tên là Waikato Environment for Knowledge Analysis Hệ thống được viết bởi java và phân phối dưới thuật ngữ GNU Nó cung cấp một giao diện tương tự cho nhiều giải thuật học khác nhau với nhiều phương thức chho 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 Workbenh bao gồm những
phương thức chuẩn cho các vấn đề của khai phá dữ liệu như: phân lớp,hồi quy, phân nhóm, phân cụm, luật kết hợp, và các thuộc tính kết hợp.Cụ thể đề tài này
em tìm hiểu về bài toán phân lớp trong weka và áp dụng trong bài toán phê duyệt tín dụng cho các ứng dụng thẻ tín dụng
Trang 3II XÂY D NG C S D LI U ỰNG CƠ SỞ DỮ LIỆU Ơ SỞ DỮ LIỆU Ở DỮ LIỆU Ữ LIỆU ỆU
Trong đề tài này, tập tin chứa các ứng dụng của thẻ tín dụng Tất cả tên các thuộc tính và giá trị đều được thay thế bởi các biểu tượng vô nghĩa để bảo vệ bí mật về dữ liệu, số liệu này là thú vị bởi có sự kết hợp tốt giữa của các thuộc tính liên tục, danh nghĩa với số lượng nhỏ các giá trị, và danh nghĩa với số lượng lớn các giá trị Ngoài ra còn thiếu 1 số các giá trị
Thông tin về dataset:
Tập dữ liệu Đặc
điểm: Đa biến Trường hợp: 690 Diện tích: Tài chính
Thuộc tính Đặc
điểm: Chủng loại, Integer, Real Các thuộc tính: 15 Ngày viện trợ N / A
Associated Nhiệm
Số lượng truy cập
Mô tả các thuộc tính:
A1: b, a
A2: continuous
A3: continuous
A4: u, y, l
A5: g, p, gg
A6: c, d, cc, i, j, k, m, r, q, w, x, e, aa, ff
A7: v, h, bb, j, n, z, đ, ff, o
A8: continuous
A9: t, f
A10: t, f
A11: continuous
A12: t, f
A13: g, p, s
A14: continuous
A15: continuous
A16: +, - (class thuộc tính)
Trang 4III PHÂN TÍCH BÀI TOÁN
Đọc dữ liệu đầu vào sau đó áp dụng bài toán phân lớp dựa vào các thuộc tính để phân lớp khả năng phê duyệt tín dụng cho các ứng dụng của thẻ tín dụng Tạo ra cây quyết định về khả năng phê duyệt các ứng dụng của thẻ tín dụng để hỗ trợ cho việc quản lý tín dụng hiệu quả nhất
IV TI N HÀNH TH C NGHI M TRÊN WEKA ẾN HÀNH THỰC NGHIỆM TRÊN WEKA ỰNG CƠ SỞ DỮ LIỆU ỆU
1 Ti n x lý d li u ền xử lý dữ liệu ử lý dữ liệu ữ liệu ệu
Dữ liệu ban đầu khi ta lấy trên mạng về được lưu lại dưới dạng “.text” để đọc được nó trong Weka ta làm như sau:
Đầu tiên mở Microsoft Exel 2010 ra nhấn “Ctr+O” chọn đến file text dữ liệu đã lưu
Mục đích: tạo cây quyết định trong Weka xem khả năng phê duyệt tín
dụng
Phê duyệt
Không phê duyệt
Weka decision tree
Dữ liệu
các thuộc
tính liên
quan
Trang 5Tiếp theo làm như hình dưới:
Trang 6Rồi nhấn Finish luôn ta sẽ được dữ liệu
Tiếp theo là Insert thêm 1 dòng bên trên đầu như hình rồi điền các thuộc tính tương ứng cách nhau bằng dấu “phảy” ta được
Sau đó “Save as” lại thành dữ liệu có đuôi “.csv” như sau:
Trang 7Sau khi tạo xong ta tiến hành đọc dữ liệu vào Weka: chọn kiểu dữ liệu là
“*.csv” rồi tìm đến thư mục đã lưu, chọn Open
Trang 8Rồi ta được như sau:
Trang 9Chuyển kiểu dữ liệu của các attribute từ numeric sang nominal:chọn choose trong cây filter chọnNumericToNominal
Trang 10Bạn có thể chỉnh sửa dữ liệu bằng cách click vào , lúc đó bảng dữ liệu sẽ xuất hiện để bạn chỉnh sửa
Trang 112 Xây d ng cây quy t đ nh v i J48 ựng cây quyết định với J48 ết định với J48 ịnh với J48 ới J48
- Bước đầu tiên ta sử dụng tất cả dữ liệu để trainning cho cây:
Nhấn vào tab Classify chọn thuật toán sử dụng bằng cách nhấn vào nút Choose; khi cây thư mục hiện thư mục Trees/J48:
Để tiến hành trainning trên toàn bộ dữ liệu ta chọn vào tùy chọn Use tranning set rồi nhấn Start.
Ta thu được kết quả hiển thị ở khung Classifier Output như sau:
Trang 12Kết quả phân lớp như sau:
+ Trường hợp phân lớp chính xác: 626 chiếm 90,7246 % + Trường hợp không chính xác: 64 chiếm 9,2754 %
- Để xem kết quả dưới dạng cây ta làm như sau:
Trang 133 Ti n hành ch y nhi u l n v i s l ết định với J48 ạy nhiều lần với số lượng dữ liệu training khác nhau: ền xử lý dữ liệu ần với số lượng dữ liệu training khác nhau: ới J48 ố lượng dữ liệu training khác nhau: ượng dữ liệu training khác nhau: ng d li u training khác nhau: ữ liệu ệu
- Lần 2: lấy 50 % dữ liệu test
Kết quả phân lớp như sau:
+ Trường hợp phân lớp chính xác: 296 chiếm 85.7971 %
+ Trường hợp không chính xác: 49 chiếm 14.2029 %
Trang 14- Lần 3: lấy 60 % dữ liệu test
Kết quả phân lớp như sau:
+ Trường hợp phân lớp chính xác: 346 chiếm 83.5749 % + Trường hợp không chính xác: 68 chiếm 16.4251 %
- Lần 4: lấy 70 % dữ liệu test
Trang 15Kết quả phân lớp như sau:
+ Trường hợp phân lớp chính xác: 403 chiếm 83.4369 % + Trường hợp không chính xác: 80 chiếm 16.5631 %
- Lần 5: lấy 80% dữ liệu test
Kết quả phân lớp như sau:
+ Trường hợp phân lớp chính xác: 463 chiếm 83.8768 % + Trường hợp không chính xác: 89 chiếm 16.1232 %
Trang 16- Lần 6: lấy 90% dữ liệu test
Kết quả phân lớp như sau:
+ Trường hợp phân lớp chính xác: 525 chiếm 84.5411 % + Trường hợp không chính xác: 96 chiếm 15.4589 %
- Lần 7: lấy 95 % dữ liệu test
Trang 17Kết quả phân lớp như sau:
+ Trường hợp phân lớp chính xác: 557 chiếm 85.0382 % + Trường hợp không chính xác: 98 chiếm 14.9618 %
- Lần 8: lấy 40% dữ liệu test
Kết quả phân lớp như sau:
+ Trường hợp phân lớp chính xác: 230 chiếm 83.3333 % + Trường hợp không chính xác: 46 chiếm 16.6667 %
Trang 18- Lần 9: lấy 45% dữ liệu test
Kết quả phân lớp như sau:
+ Trường hợp phân lớp chính xác: 262 chiếm 84.5161 % + Trường hợp không chính xác: 48 chiếm 15.4839 %
- Lần 10: lấy 75 % dữ liệu test
Trang 19Kết quả phân lớp như sau:
+ Trường hợp phân lớp chính xác: 439 84.913 %
+ Trường hợp không chính xác: 78 15.087 %
V ĐÁNH GIÁ K T QU ẾN HÀNH THỰC NGHIỆM TRÊN WEKA Ả
Sau khi thực hiện chạy 10 lần J48 để xây dựng cây với các tham số đầu vào khác nhau, ta thấy các kết quả khá ổn định, nên ta chọn lần chạy thứ 5 với các tham số lựa chọn là : bộ dữ liệu test là 80% đạt được tỉ lệ phân lớp chính xác là 83.8768 % ( số lượng mẫu test không quá bé) để sử dụng cho các mẫu thử bất
kỳ sau này
Sau quá trình thực hành tạo cây quyết định trên WEKA bằng thuật toán J48 (C4.5) ta có thể hình dung được quá trình khởi tạo và hoạt động của một cây quyết định như sau: