Mục đích của phân lớp dữ liệu là để xây dựng một mô hình mà có thể dự đoán được tên lớp của những phần tử mới dựa vào những đặc điểm của nó.. Quá trình phân lớp dữ liệu Quá trình phân lớ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH
TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ
2 NGUYỄN ANH THƯ
3 HOÀNG THU PHƯƠNG
4 NGUYỄN TIẾN MINH Chuyên Ngành: BẤT ĐỘNG SẢN + TÀI CHÍNH CÔNG
Khóa: K48
Giảng Viên: TS Đặng Ngọc Hoàng Thành
TP Hồ Chí Minh, Ngày 18 tháng 03 năm 2024
Trang 2MỤC LỤC
MỤC LỤC 1
DANH MỤC BẢNG BIỂU, HÌNH VẼ VÀ BIỂU ĐỒ 3
Bảng Phân Công Nhiệm vụ 4
CHƯƠNG I: TỔNG QUAN 5
1 Tổng Quan Về Bài Toán Phân Lớp Dữ Liệu 5
1.1 Định nghĩa: 5
1.2 Quá trình phân lớp dữ liệu 5
2 Giới thiệu về Python và Phần mềm Orange 7
2.1 Python 7
2.2 Phần mền Orange 7
3 Lý do lựa chọn đề tài 8
3.1 Mục tiêu nghiên cứu 8
3.2 Đối tượng nghiên cứu 9
3.3 Phương pháp nghiên cứu 9
CHƯƠNG II: CÁC MÔ HÌNH PHÂN LỚP DỮ LIỆU 10
1 Các mô hình phân lớp dữ liệu 10
1.1 Mô hình Logistic Regression 10
1.2 Mô hình KNN: 10
1.3 Mô hình Naive Bayes: 11
1.4 Một số mô hình thông dụng khác 12
1.4.1 Mô hình Cây quyết định (Tree) 12
1.4.2 Mô hình SVM 13
2 Quy trình phân lớp dữ liệu: 15
2.1 Tiền xử lý dữ liệu: 15
2.2 Phân lớp dữ liệu 15
2.2.1 Quy trình thực hiện 15
2.3 Kết quả và đánh giá 18
2.4 Đánh giá tính hiệu quả 21
2.4.1 Dự báo 21
Trang 3CHƯƠNG III: CÁC KẾT QUẢ THỰC NGHIỆM 21
1 Bộ dữ liệu 21
1.1 Mô tả dữ liệu 21
1.2 Làm sạch dữ liệu: 23
1.3 Thống kê sơ bộ 23
2 Các kết quả thực nghiệm 24
CHƯƠNG IV: KẾT LUẬN VÀ Ý NGHĨA NGHIÊN CỨU 24
1 Kết luận 24
2 Ý nghĩa nghiên cứu 25
3 Đề xuất 25
CHƯƠNG V: HẠN CHẾ VÀ GIẢI PHÁP 25
1 Hạn chế 25
2 Giải pháp 26
TÀI LIỆU THAM KHẢO 26
Trang 4DANH MỤC BẢNG BIỂU, HÌNH VẼ VÀ BIỂU ĐỒ
Hình 1 Hình vẽ quá trình phân lớp dữ liệu
Hình 2 Bước 1 của quá trình phân lớp dữ liệu
Hình 3 Bước 2.1 của quá trình phân lớp dữ liệu
Hình 4 Bước 2.2 của quá trình phân lớp dữ liệu
Hình 5 Mô hình Logistic Regression
Hình 11 Bước 1 của quy trình thực hiện
Hình 12 Kết quả bước 1 của quy trình thực hiện
Hình 13 Bước 2 của quy trình thực hiện
Hình 14 Bước 3 của quy trình thực hiện
Hình 15 Sơ đồ Orange tổng hợp
Hình 16 Kết quả Test and Score
Hình 17 Kết quả Logistic Regression
Hình 18 Kết quả của kNN
Hình 19 Kết quả của Navie Bayes
Hình 20 Tỷ lệ dự báo Naive Ba
Hình 21 Thông tin bộ dữ liệu ban đầu
Hình 22 Thông tin bộ dữ liệu ban đầu thông qua widget Data Table
Trang 5Bảng Phân Công Nhiệm vụ
Trang 6Mục đích của phân lớp dữ liệu là để xây dựng một mô hình mà có thể dự đoán được tên lớp của những phần tử mới dựa vào những đặc điểm của nó
1.2 Quá trình phân lớp dữ liệu
Hình 1 Quá trình phân lớp dữ liệu
Quá trình phân lớp dữ liệu gồm 2 bước:
Bước 1: Xây dựng mô hình (hay còn gọi là giai đoạn “học” hoặc “huấn luyện”
- Dữ liệu đầu vào: là dữ liệu mẫu đã được gán nhãn và tiền xử lý
- Các thuật toán phân lớp: cây quyết định, hàm số toán học, tập luật…
Trang 7Kết quả của bước này là mô hình phân lớp đã được huấn luyện (trình phân lớp)
Hình 2 Bước 1 của quá trình phân lớp dữ liệu
Bước 2: Sử dụng mô hình chia thành 2 bước nhỏ
Bước 2.1: Đánh giá mô hình (kiểm tra tính đúng đắn của mô hình)
- Dữ liệu đầu vào: là một tập dữ liệu mẫu khác đã được gán nhãn và tiền xử
lý Tuy nhiên lúc đưa vào mô hình phân lớp, ta “lờ” đi thuộc tính đã được gán nhãn
- Tính đúng đắn của mô hình sẽ được xác định bằng cách so sánh thuộc tính gán nhãn của dữ liệu đầu vào và kết quả phân lớp của mô hình
Hình 3 Bước 2.1 của quá trình phân lớp dữ liệu
Bước 2.2: Phân lớp dữ liệu mới:
Trang 8- Dữ liệu đầu vào: là dữ liệu “khuyết” thuộc tính cần dự đoán lớp (nhãn)
- Mô hình sẽ tự động phân lớp (gán nhãn) cho các đối tượng dữ liệu này vào những gì được huấn luyện ở bước 1
Hình 4 Bước 2.2 của quá trình phân lớp dữ liệu
2 Giới thiệu về Python và Phần mềm Orange
phát triển.[2]
2.2 Phần mền Orange
Orange là một bộ công cụ trực quan hóa dữ liệu, học máy và khai thác dữ liệu mã nguồn mở Được ra đời nhằm hỗ trợ con người trong việc nghiên cứu và
Trang 9giải quyết những vấn đề khó nhằn về lĩnh vực khai phá dữ liệu (Data mining) và học máy (Marchine learning).
Vì độ phổ biến về việc tích hợp các công cụ khai phá dữ liệu mã nguồn mở
và học máy thông minh, đơn giản, lập trình bằng Python với giao diện trực quan vàtương tác dễ dàng, phần mềm Orange giúp người dùng phân tích những dữ liệu từ đơn giản đến phức tạp Bên cạnh đó, đồ họa đẹp mắt, thú vị còn giúp việc khai thác
dữ liệu và học máy dễ dàng hơn cho cả chuyên gia và người dùng mới
Các chức năng cơ bản được cung cấp có thể kể đến như: đọc dữ liệu, hiển thị dữ liệu dạng bảng, so sánh các thuật toán máy học, trực quan hóa các phần tử
dữ liệu, lựa chọn thuộc tính đặc điểm của dữ liệu, huấn luyện dữ liệu để dự đoán,
…
3 Lý do lựa chọn đề tài
Trong 10 năm trở lại đây, khoa học dữ liệu đã có những đóng góp tạo ra nhiều thành tựu to lớn cho các doanh nghiệp Thúc đẩy quá trình công nghiệp hóa hiện đại hóa đưa các doanh nghiệp ngày một phát triển, hoạt động hiệu quả hơn, năng suất hơn
Việc lựa chọn đề tài "Dự đoán khách hàng lựa chọn dịch vụ vay vốn của ngân hàng" mang lại nhiều lợi ích và ý nghĩa quan trọng trong lĩnh vực ngân hàng
và tài chính như tối ưu hóa dịch vụ, đánh giá được rủi ro tín dụng, nâng cao hiệu suất hoạt động, cạnh tranh trên thị trường từ đó đưa ra những quyết định kinh doanh đúng đắn
Dựa vào bộ dữ liệu của một ngân hàng được cung cấp, chúng em đã tiến hành xử lý thông tin thông qua phần mềm orange để nhìn nhận và tìm ra hướng phát triển cho đề tài đã chọn
3.1 Mục tiêu nghiên cứu
Mục tiêu của đề tài bao gồm các điểm sau:
Trang 10- Xây dựng mơ hình dự đốn chính xác: xây dựng một mơ hình dự đốn khách hàng lựa chọn dịch vụ vay vốn của ngân hàng với độ chính xác cao, giúp ngân hàng hiểu rõ hơn về hành vi của khách hàng.
- Tối ưu hĩa quy trình quyết định: cải thiện quy trình quyết định về việc cấp vay vốn, giúp ngân hàng tiết kiệm thời gian và tài nguyên trong việc xác định khách hàng phù hợp để cấp vay
- Nâng cao hiệu suất kinh doanh: tăng cường hiệu suất kinh doanh của ngân hàng thơng qua việc dự đốn chính xác nhu cầu và hành vi của khách hàng, từ đĩ cung cấp các dịch vụ phù hợp và tối ưu hĩa doanh số
- Quản lý rủi ro tín dụng: giúp ngân hàng đánh giá rủi ro tín dụng một cách chính xác hơn, từ đĩ quản lý rủi ro và giảm thiểu rủi ro trong việc cấp vay vốn
- Nâng cao trải nghiệm khách hàng: nâng cao trải nghiệm khách hàng thơng qua việc cung cấp các sản phẩm và dịch vụ phù hợp với nhu cầu và mong muốn của họ
3.2 Đối tượng nghiên cứu
Khách hàng lựa chọn dịch vụ vay vốn của ngân hàng Thera Bank Bộ dữ liệuđược thu thập và tạo ra bởi Kranti Walke được đăng tải trên trang web kaggle Tập
dữ liệu bao gồm thơng tin dữ liệu thơ chứa 5000 hàng dữ liệu (khách hàng) và 14 cột (đặc tính độc lập)
3.3 Phương pháp nghiên cứu
- Orange: khai phá dữ liệu, chạy thuật tốn, xây dựng mơ hình phân lớp Một số mơ hình phân lớp được sử dụng: Logistics, kNN và Nạve Bayes để xây dựng mơ hình dự đốn; và chia số liệu thành 2 phần: một tập dữ liệu Data Sample (70) để huấn luyện và một tập dữ liệu Remaining Data (30) để dự báo
- Phần mềm Excel để mơ tả, biểu diễn dữ liệu và so sánh kết quả số liệu từ Orange
Trang 11CHƯƠNG II: CÁC MÔ HÌNH PHÂN LỚP DỮ LIỆU
1 Các mô hình phân lớp dữ liệu
1.1 Mô hình Logistic Regression
- Định nghĩa: Là một mô hình xác suất dự đoán giá trị đầu ra rời rạc từ một
tập các giá trị đầu vào (biểu diễn dưới dạng vector)
Mô tả: Đối với bài toán phân lớp:
Tập nhãn ={y_1, y_2,…,y_n } với n là số lớpy
Một đối tượng dữ liệu ={x_1,x_2,…,x_d } với d là số thuộc tính của mỗi dòng dữx
liệu và được biểu diễn dưới dạng vector
Hàm logistic P(y=1) =1+ e (−(w0+ 1∗x 1+ w2∗x 2+…+wd∗xd )) w 1 dự đoán đối tượng xem đối tượng
x sở hữu các thuộc tính cụ thể sẽ thuộc vào lớp y nào.
Hình 5 Mô hình Logistic Regression
1.2 Mô hình KNN:
Trang 12- Định nghĩa: KNN (K-Nearest Neighbors) là một trong những thuật toán học có giám sát đơn giản nhất được sử dụng nhiều trong khai phá dữ liệu và học máy Ý tưởng của thuật toán này là nó không học một điều gì từ tập dữ liệu học (nên KNN được xếp vào loại lazy learning), mọi tính toán được thực hiện khi nó cần dự đoán nhãn của dữ liệu mới Lớp (nhãn) của một đối tượng dữ liệu mới có
thể dự đoán từ các lớp (nhãn) của k hàng xóm gần nó nhất [3]
Hình 6 Mô hình KNN
1.3 Mô hình Naive Bayes: [4]
- Định nghĩa: Một phân loại Naive Bayes dựa trên ý tưởng nó là một lớp
được dự đoán bằng các giá trị của đặc trưng cho các thành viên của lớp đó Các đốitượng là một nhóm (group) trong các lớp nếu chúng có cùng các đặc trưng chung
Có thể có nhiều lớp rời rạc hoặc lớp nhị phân Các luật Bayes dựa trên xác suất để
dự đoán chúng về các lớp có sẵn dựa trên các đặc trưng được trích rút Trong phân loại Bayes, việc học được coi như xây dựng một mô hình xác suất của các đặc trưng và sử dụng mô hình này để dự đoán phân loại cho một ví dụ mới
Một số kiểu mô hình Naive Bayes:
Trang 13 Multinomial Naive Bayes: Mô hình này chủ yếu được sử dụng trong phân
loại văn bản Đặc trưng đầu vào ở đây chính là tần suất xuất hiện của từ trong văn bản đó.
Bernoulli Naive Bayes: Mô hình này được sử dụng khi các đặc trưng đầu
vào chỉ nhận giá trị nhị phân 0 hoặc 1 (phân bố Bernoulli).
Gaussian Naive Bayes: Khi các đặc trưng nhận giá trị liên tục, ta giả sử
các đặc trưng đó có phân phối Gaussian
1.4 Một số mô hình thông dụng khác
1.4.1 Mô hình Cây quyết định (Tree)
Trong lý thuyết quản trị, cây quyết định là đồ thị các quyết định cùng các kếtquả khả dĩ đi kèm nhằm hỗ trợ quá trình ra quyết định Trong lĩnh vực khai thác dữliệu, cây quyết định là phương pháp nhằm mô tả, phân loại và tổng quát hóa tập dữliệu cho trước
Hình 7 Mô hình Cây quyết định (Tree)
Trang 14 Ưu điểm :
Dễ hiểu
Không đòi hỏi việc chuẩn hóa dữ liệu
Có thể xử lý trên nhiều kiểu dữ liệu khác nhau
Xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn
Khuyết điểm :
Khó giải quyết trong tình huống dữ liệu phụ thuộc thời gian
Chi phí xây dựng mô hình cao
1.4.2 Mô hình SVM
SVM là một thuật toán có giám sát, SVM nhận dữ liệu vào, xem chúng như những các vector trong không gian và phân loại chúng vào các lớp khác nhau bằng cách xây dựng một siêu phẳng trong không gian nhiều chiều làm mặt phân cách các lớp dữ liệu Để tối ưu kết quả phân lớp thì phải xác định siêu phẳng
(hyperplane) có khoảng cách đến các điểm dữ liệu (margin) của tất cả các lớp xa nhất có thể SVM có nhiều biến thể phù hợp với các bài toán phân loại khác nhau
Trang 16 Trong trường hợp số chiều dữ liệu lớn hơn số dòng dữ liệu thì SVM cho kết quả không tốt.
Chưa thể hiện tính xác suất trong phân lớp
2 Quy trình phân lớp dữ liệu:
Bước 1: Nhập file Bank_Personal_Loan_Modelling vào Orange để làm dữ
liệu, chọn Personal Loan làm target, các thuộc tính còn lại vẫn giữ nguyên
ở dạng feature
Trang 17Hình 11 Bước 1 của quy trình thực hiện
Hình 12 Kết quả bước 1 của quy trình thực hiện
Bước 2: Sử dụng công cụ Data Sampler để chia bộ dữ liệu trên theo tỷ lệ
70:30 như đề bài yêu cầu Đối với bộ dữ liệu Data Sample (70), sử dụng
các phương pháp phân lớp dữ liệu là Hồi quy Logistic (Logistic Regression), kNN, Naive Bayes, thông qua widget Test and Score và
Confusion Matrix để đánh giá hiệu quả của từng phương pháp
Trang 18Hình 13 Bước 2 của quy trình thực hiện
Bước 3: Đánh giá và lựa chọn mô hình tốt nhất để kết nối với bộ dữ liệu Remaining Data (30) để dự báo thông qua widget Prediction
Hình 14 Bước 3 của quy trình thực hiện
* Tổng hợp các bước trên ta có sơ đồ Orange như sau:
Hình 15 Sơ đồ Orange tổng hợp
2.3 Kết quả và đánh giá
Trang 19 Đánh giá mô hình theo Test and Score
Hình 16 Kết quả Test and Score
Thực hiện phân tích sử dụng kỹ thuật K-Fold với số lượng fold là 5, đã đánh giá chính xác theo ba mô hình khác nhau: Logistic Regression, kNN, Navie Bayes Kết quả cho thấy, mô hình Navie Bayes đạt được tính chính xác cao nhất với giá trị AUC là 0.957, tiếp theo là Logistic Regression với 0.928 và cuối cùng là kNN với 0.620.Tuy nhiên, khi xem xét Độ chính xác (precision), mô hình Navie Bayes vẫn lớn hơn với giá trị là 0.940, tiếp theo là Logistic Regression với 0.925 và kNN với 0.838 Đốivới Độ truy hồi (recall), mô hình Navie Bayes vẫn là lựa chọn hàng đầu với giá trị là 0.942, tiếp theo là kNN với 0.896 và Logistic Regression với 0.855
Như vậy, qua 3 thông số trên, có thể đánh giá được Navie Bayes có tính chính xác,
độ chính xác và độ truy hồi lớn nhất
→ Vì vậy chọn phương pháp dự báo bằng mô hình Navie Bayes.
Đánh giá mô hình theo Confusion Matrix
Trang 20Hình 17 Kết quả Logistic Regression
Hình 18 Kết quả của kNN
Trang 21Hình 19 Kết quả của Navie Bayes
Phân loại sai lầm (Error type)
Theo ma trận nhầm lẫn (Confusion Matrix), ta có:
Is faud = 1.0: Khách hàng chấp nhận khoản vay
Is faud = 0.0: Khách hàng từ chối khoản vay
Sai lầm loại I: Dự báo khách hàng chấp nhận khoản vay nhưng thực tế là không Sai lầm này làm gián đoạn chuyến dịch chuyển đổi khách hàng nợ ảnh hưởng đến quá trình phát triển quy mô, xây dựng của ngân hàng
Sai lầm loại II: Thực tế là chấp nhận khoản vay nhưng dự báo là từ chối khoản vay Điều này dẫn đến sự thất thoát trong hình thành nguồn vốn, sự mất uy tín của ngân hàng trong tương lai
Dựa vào kết quả 3 mô hình trên, ta có thể thấy được với Sai lầm loại II, Navie Bayes
có tỷ lệ phần trăm sai lầm là nhỏ nhất, không ảnh hưởng nhiều đến chiến dịch chuyển đổi,phát triển của ngân hàng
kNN = 72.0% > Logistic Regression = 60% > Navie Bayes = 27.5%
→ Vì vậy chọn phương pháp dự báo theo mô hình Navie Bayes.
2.4 Đánh giá tính hiệu quả
2.4.1 Dự báo
Trang 22 Thông tin thuộc tính:
thành
tháng ($000)
1: Đại học;
2: Tốt nghiệp;
Trang 233: Nâng cao/Chuyên nghiệp
10 Personal Loan Khách hàng này có chấp nhận khoản vay cá
nhân được cung cấp trong chiến dịch trước không?
11 Securities Account Khách hàng có tài khoản chứng khoán tại ngân
hàng không?
12 CD account Khách hàng có tài khoản chứng chỉ tiền gửi
(CD) tại ngân hàng không?
Trang 24Hình 21 Thông tin bộ dữ liệu ban đầu
Hình 22 Thông tin bộ dữ liệu ban đầu thông qua widget Data Table
Bộ dữ liệu Bank_Personal_Loan_Modelling đã được xác minh và qua xử
lý trước khi thu thập nên sẽ không có missing data và gồm có 5000 dòng và 14 thuộc tính.
2 Các kết quả thực nghiệm
Sau khi dự báo ra kết quả ở mục 2.2.4.1 nêu trên, nhóm so sánh cột Personal Loan ban đầu của dữ liệu dự báo và kết quả dự báo dữ liệu của Naive Bayes Kết quả so sánh cho thấy dự đoán của Naive Bayes có mức độ chính xác là 95.2% tương ứng với 1428 trường hợp được dự báo chính xác và 4.8% với 72 ý định được dự báo sai lầm Điều này cho chúng ta thấy rằng mức độ chính xác của mô hình dự báo là khá cao, ổn định và có thể tin tưởng vào mô hình này để dự báo khả năng khách hàng lựa chọn dịch vụ vay vốn của ngân hàng
Như vậy, có thể đánh giá rằng đây là một mô hình ‘good fitting’ (là trường hợp“
mô hình cho ra kết quả hợp lý với cả tập dữ liệu huấn luyện và các giá trị mới, tức mangtính tổng quát)
Trang 25CHƯƠNG IV: KẾT LUẬN VÀ Ý NGHĨA NGHIÊN CỨU
và tránh được những hậu quả tiêu cực liên quan đến việc thanh toán nợ dài hạn Bằng cách tận dụng dữ liệu và công nghệ, ngân hàng có thể dự đoán được mối quan hệ giữa các yếu tố như lịch sử tín dụng, thu nhập và thông tin cá nhân với khả năng vay vốn của khách hàng Việc có một hệ thống dự báo chính xác không chỉ giúp tạo ra sựtin cậy và an tâm cho cả ngân hàng và khách hàng, mà còn tạo ra một môi trường kinh doanh ổn định và bền vững Nó cũng giúp nâng cao hiệu quả của quy trình giao dịch và giảm thiểu chi phí và thời gian đối với cả hai bên Điều này không chỉ là lợi ích cho cá nhân mà còn là cơ hội phát triển và mở rộng cho toàn bộ cộng đồng kinh doanh
2 Ý nghĩa nghiên cứu
- Hiểu rõ hơn về khách hàng: Dự án giúp ngân hàng nắm bắt thông tin về khách hàng, từ đó cải thiện dịch vụ và tạo ra trải nghiệm tốt hơn cho họ
- Tối ưu hóa dịch vụ vay vốn: Dự án giúp ngân hàng dự đoán nhu cầu của khách hàng và đưa ra các giải pháp tối ưu về lãi suất, thủ tục, và sự thuận tiện
- Nâng cao hiệu suất kinh doanh: Dự án giúp hiểu rõ hơn về nhu cầu và ưu tiên của khách hàng, từ đó cung cấp dịch vụ phù hợp hơn, tăng cơ hội thu hút và giữ chân khách hàng, từ đó nâng cao hiệu suất kinh doanh
- Tối ưu hóa chiến lược tiếp thị: Dự đoán lựa chọn của khách hàng giúp ngân hàng tối ưu hóa chiến lược tiếp thị và quảng cáo, từ đó tiết kiệm chi phí và tăng cường hiệu quả tiếp cận khách hàng mục tiêu