LÊ THỊ CHUNG NGHIÊN CỨU ỨNG DỤNG CÁC KĨ THUẬT KHAI PHÁ DỮ LIỆU NHẰM DỰ ĐOÁN KHẢ NĂNG RỜI BỎ CỦA KHÁCH HÀNG TRONG MỘT SỐ LĨNH VỰC NGÂN HÀNG LUẬN VĂN THẠC SĨ MÁY TÍNH THANH HÓA, NĂM 202
Trang 1LÊ THỊ CHUNG
NGHIÊN CỨU ỨNG DỤNG CÁC KĨ THUẬT KHAI PHÁ DỮ LIỆU NHẰM DỰ ĐOÁN KHẢ NĂNG RỜI BỎ CỦA KHÁCH HÀNG TRONG MỘT SỐ
LĨNH VỰC NGÂN HÀNG
LUẬN VĂN THẠC SĨ MÁY TÍNH
THANH HÓA, NĂM 2022
Trang 3BỘ GIÁO DỤC VÀ ĐÀO TẠO UBND TỈNH THANH HÓA
TRƯỜNG ĐẠI HỌC HỒNG ĐỨC
LÊ THỊ CHUNG
NGHIÊN CỨU ỨNG DỤNG CÁC KĨ THUẬT KHAI PHÁ DỮ LIỆU NHẰM DỰ ĐOÁN KHẢ NĂNG RỜI BỎ CỦA KHÁCH HÀNG TRONG MỘT SỐ
LĨNH VỰC NGÂN HÀNG
LUẬN VĂN THẠC SĨ MÁY TÍNH
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
Người hướng dẫn khoa học: TS Nguyễn Thế Cường
THANH HÓA, NĂM 2022
Trang 4v
Danh sách Hội đồng đánh giá luận văn Thạc sỹ khoa học
(Theo Quyết định số: /QĐ- ĐHHĐ ngày tháng năm 2022
của Hiệu trưởng Trường Đại học Hồng Đức)
Học hàm, học vị
Họ và tên
Cơ quan Công tác
Chức danh trong Hội đồng
Chủ tịch HĐ
UV, Phản biện 1
UV, Phản biện 2
Uỷ viên
Uỷ viên, Thư ký
Xác nhận của Người hướng dẫn
Học viên đã chỉnh sửa theo ý kiến của Hội đồng
Ngày tháng năm 2022
Trang 5i
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Nghiên cứu ứng dụng các kỹ thuật khai phá dữ liệu nhằm dự đoán khả năng rời bỏ của khách hàng trong một số lĩnh vực ngân hàng” là công trình nghiên cứu của cá nhân tôi dưới sự hướng
dẫn của TS Nguyễn Thế Cường, trung thực và không sao chép của Tôi khác Trong toàn bộ nghiên cứu của luận văn, các vấn đề được trình bày đều là những tìm hiểu và nghiên cứu của chính cá nhân tôi hoặc là được trích dẫn từ các nguồn tài liệu có ghi tham khảo rõ ràng, hợp pháp
Tôi xin chịu mọi trách nhiệm cho lời cam đoan này
Thanh Hoá, ngày 12 tháng 9 năm 2022
Tác giả luận văn
Lê Thị Chung
Trang 6Trước hết, tôi xin chân thành cảm ơn tất cả các thầy giáo, cô giáo của Khoa Công nghệ thông tin & Truyền thông, Trường Đại học Hồng Đức đã nhiệt tình giảng dạy, chỉ bảo, tạo điều kiện thuận lợi cho tôi trong quá trình học tập, nghiên cứu, hoàn thành chương trình học tập của khóa học
Đặc biệt, tôi bày tỏ lòng biết ơn sâu sắc đến thầy TS Nguyễn Thế Cường, thầy hướng dẫn trực tiếp luận văn của tôi đã dành thời gian chỉ bảo tận tình giúp tôi hoàn thành luận văn Xin cám ơn các anh/chị, các kỹ sư tại công ty cổ phần Thinklabs đã hỗ trợ tôi trong quá trình hoàn thành luận văn
Tôi xin cảm ơn gia đình, bạn bè, đồng nghiệp, đã động viên tiếp thêm nghị lực để tôi hoàn thành khóa học và luận văn
Mặc dù đã có nhiều cố gắng, song luận văn khó tránh khỏi những thiếu sót Tôi rất mong sự chỉ bảo, góp ý của các nhà khoa học, các thầy cô giáo và đồng nghiệp
Xin trân trọng cảm ơn!
Thanh Hoá, ngày 12 tháng 9 năm 2022
Tác giả luận văn
Lê Thị Chung
Trang 7iii
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC HÌNH v
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu và nhiệm vụ nghiên cứu 2
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 3
5 Kết quả đạt được 3
6 Ý nghĩa khoa học và thực tiễn 3
7 Bố cục của luận văn 4
Chương 1 TỔNG QUAN VỀ BÀI TOÁN CHURN 5
1.1 Khái niệm về churn và dự báo churn trong hoạt động ngân hàng 5
1.2 Tình hình nghiên cứu về bài toán khách hàng churn 6
1.3 Phát biểu bài toán dự đoán khách hàng rời bỏ trong hoạt động ngân hàng VIB 8
Kết luận chương 1 13
Chương 2 KHAI PHÁ DỮ LIỆU VÀ CÁC KỸ THUẬT PHÂN TÍCH DỰ BÁO 14
2.1 Khai phá dữ liệu 14
2.1.1 Khái niệm về khai phá dữ liệu 14
2.1.2 Quá trình khai phá dữ liệu 14
2.1.3 Các kỹ thuật khai phá dữ liệu chính 18
2.2 Một số kỹ thuật khai phá dữ liệu sử dụng trong bài toán 20
2.2.1 Decision Tree - Cây quyết định 20
2.2.2 Random Forest 24
Trang 8v
iv
2.2.3 Gradient Boosting 26
2.3 Công cụ khai phá dữ liệu 27
2.3.1 Môi trường lập trình Google Colaboratory 27
2.3.2 Môi trường thực thi Python trong Google Colab 28
2.3.3 Ngôn ngữ lập trình Python với khai phá dữ liệu 30
2.3.4 Ưu điểm và nhược điểm của Python 31
Kết luận chương 2 32
Chương 3 MÔ HÌNH DỰ ĐOÁN KHÁCH HÀNG RỜI BỎ DỊCH VỤ NGÂN HÀNG VIB 33
3.1 Giải pháp đề xuất 33
3.1.1 Định nghĩa cho khách hàng rời bỏ MyVIB 33
3.1.2 Chiến lược Phân tích dữ liệu 35
3.2 Lựa chọn đặc trưng 49
3.3 Lựa chọn mô hình và thực nghiệm 53
3.3.1 Độ đo của mô hình học máy 54
3.3.2 Thực nghiệm mô hình 58
3.4 Kết luận chương 3 62
KẾT LUẬN 63
1 Kết quả đạt được 63
2 Hạn chế 63
3 Hướng phát triển 63
TÀI LIỆU THAM KHẢO 65
Trang 9v
DANH MỤC CÁC HÌNH
Hình 1: Biểu đồ hoạt động của hệ thống được đề xuất 8Hình 2: Các giai đoạn trong khai phá dữ liệu [9] 18Hình 3: Mô hình kết hợp (nguồn: https://phamdinhkhanh.github.io/deepai-book/ch_ml/RandomForest.html) 25Hình 4: Các bước thực hiện xây dựng mô hình rừng cây ngẫu nhiên (nguồn: https://phamdinhkhanh.github.io/deepai-book/ch_ml/RandomForest.html) 25Hình 5: Ví dụ về đường cong ROC (Nguồn: https://viblo.asia/) 57Hình 6: Ví dụ về đường cong AUC (Nguồn: https://viblo.asia/) 58
Trang 10và sự gia tăng của họ kỳ vọng Khát vọng lớn lên của thế hệ hiện tại người tiêu dùng và nhu cầu đa dạng của họ về kết nối và các phương pháp tiếp cận sáng tạo, được cá nhân hóa rất khác biệt với những thế hệ người tiêu dùng trước Họ được giáo dục tốt và được cung cấp thông tin tốt hơn về các phương pháp tiếp cận mới nổi Những tri thức tiên tiến như vậy đã thay đổi hành vi mua hàng của
họ, dẫn đến xu hướng phân tích quá mức việc bán và kịch bản mua hàng, cuối cùng giúp họ cải thiện quyết định mua hàng của họ Do đó, đây là một thách thức lớn đối với các nhà cung cấp dịch vụ thế hệ mới để suy nghĩ sáng tạo để đáp ứng và gia tăng giá trị cho khách hàng
Các tập đoàn cần nhận ra người tiêu dùng của họ Liu và Shih củng cố lập luận này bằng cách ngụ ý rằng ngày càng tăng áp lực cạnh tranh đối với các
tổ chức để phát triển các phương pháp tiếp thị sáng tạo, đáp ứng kỳ vọng của người tiêu dùng và nâng cao lòng trung thành và sự duy trì Canning lập luận rằng cung cấp nhiều hơn cho tất cả mọi người không còn là một chiến lược bán hàng khả thi nữa, và một môi trường thị trường tiếp tục trở nên cạnh tranh cần một chương trình làm việc nhấn mạnh vào sử dụng hiệu quả nguồn vốn marketing Công nghệ đã được sử dụng để giúp doanh nghiệp duy trì lợi thế cạnh tranh Khai thác dữ liệu kỹ thuật là một công nghệ thông tin được sử dụng phổ biến để khai thác kiến thức chuyên môn tiếp thị và hướng dẫn thêm cho các quyết định kinh doanh
Khách hàng rất dễ dàng chuyển đổi từ ngân hàng này sang ngân hàng khác để có chất lượng dịch vụ hoặc giá cả tốt hơn Các ngân hàng tin rằng tìm kiếm khách hàng mới là đắt hơn và khó hơn nhiều so với việc giữ khách hàng
Trang 112
hiện tại Nhưng cung cấp dịch vụ đáng tin cậy về thời gian và ngân sách cho khách hàng trong khi vẫn duy trì mối quan hệ hợp tác tốt đẹp với họ là một thách thức đáng kể khác đối với họ Họ cần phải xem xét người tiêu dùng và nhu cầu của họ để giải quyết những những thách thức Trong số này, một trong những điểm nhấn chính của họ sẽ đang chờ khách hàng Khách hàng rời bỏ là khi khách hàng hoặc người đăng ký ngừng tham gia kết hợp với một công ty hoặc dịch vụ Đối với bất kỳ ngân hàng nào, chiến thắng kinh doanh từ khách hàng mới có nghĩa là đi qua quy trình bán hàng, sử dụng doanh số bán hàng của
họ và tiếp thị tài sản trong chu kỳ Mặt khác giữ chân khách hàng, thường hiệu quả hơn về mặt ngân sách, bởi vì chúng đã có được sự tự tin và lòng trung thành của hiện tại khách hàng Vì vậy, nhu cầu về một hệ thống có thể dự đoán hiệu quả sự rời bỏ của khách hàng trong giai đoạn đầu thực sự quan trọng đối với bất kỳ tổ chức nào Luận văn tập trung nghiên cứu, đề xuất môt mô hình có thể
dự đoán các khách hàng có thể rời bỏ dịch vụ trong lĩnh vực ngân hàng bằng cách sử dụng một số kỹ thuật học máy, khai phá dữ liệu
2 Mục tiêu và nhiệm vụ nghiên cứu
Xây dựng được mô hình dự đoán khả năng rời bỏ dịch vụ của khách hàng trong lĩnh vực ngân hàng Để thực hiện mục đích ý tưởng của đề tài, cần nghiên cứu và tiến hành triển khai các nội dung:
- Nghiên cứu tổng quan các kỹ thuật khai phá dữ liệu
- Nghiên cứu, phân tích dữ liệu ngân hàng cụ thể để xem xét các thông tin liên quan
- Xây dựng mô hình dự đoán khách hàng rời bỏ dịch vụ ngân hàng
- Kiểm thử mô hình trên dữ liệu mẫu và đánh giá kết quả
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
- Quy trình quản lý khách hàng, cách thức xây dựng các chiến lược chăm sóc khách hàng
- Các đặc điểm, đặc trưng của dữ liệu khách hàng
Trang 124 Phương pháp nghiên cứu
Đề tài sử dụng ba phương pháp nghiên cứu chính: phương pháp nghiên cứu lý thuyết, phương pháp chuyên gia và phương pháp nghiên cứu thực nghiệm
- Phương pháp phân tích và tổng hợp lý thuyết: Nghiên cứu các tài liệu, các báo cáo khoa học, các luận văn, luận án liên quan đến lĩnh vực khai phá dữ liệu; nghiên cứu các tài liệu mô tả về dữ liệu ngân hàng
- Phương pháp thực nghiệm: xây dựng thử nghiệm các mô hình dự đoán; đánh giá kết quả của các mô hình đã có, mô hình đề xuất; phân tích, tổng hợp kết quả
- Phương pháp chuyên gia: trao đổi với các chuyên gia, kỹ thuật viên về các lĩnh vực khai phá dữ liệu, ngân hàng để có được những phản hồi về các nghiên cứu đã thực hiện
5 Kết quả đạt được
- Tổng hợp có hệ thống các kiến thức về khai phá dữ liệu; các kỹ thuật khai phá dữ liệu phù hợp với yêu cầu bài toán
- Phân tích, đánh giá được dữ liệu cụ thể của 01 ngân hàng
- Xây dựng được mô hình dự đoán dựa trên nguồn dữ liệu đã có
- Đánh giá được độ chính xác và hiệu quả của mô hình đề xuất; đưa ra được phương án phát triển
6 Ý nghĩa khoa học và thực tiễn
Về mặt khoa học:
Đề tài đưa ra một mô hình dự đoán khả năng rời bỏ của khách hàng sử dụng các dịch vụ ngân hàng
Trang 134
Về mặt thực tiễn:
Đề tài xây dựng mô hình hỗ trợ ngân hàng đánh giá được mức độ trung thành của khách hàng đối với dịch vụ của các ngân hàng, từ đó đưa ra được các chiến lược giữ chân khách hàng phù hợp
7 Bố cục của luận văn
Sau phần mở đầu, nội dung chính của luận văn được chia thành 3 chương như sau:
Chương 1: Trình bày tổng quan về bài toán rời bỏ các dịch vụ khách hàng
ở các ngân hàng, tổng quan các nghiên cứu liên quan đến việc xác định, dự đoán khách hàng rời bỏ các dịch vụ ngân hàng và bài toán cụ thể về việc sử dụng các dữ liệu khách hàng của VIB để xây dựng mô hình dự đoán khách hàng rời bỏ dịch vụ MyVIB
Chương 2: Tổng quan về khai phá dữ liệu và các kỹ thuật khai phá dữ liệu, các kỹ thuật được sử dụng trong xây dựng mô hình dự đoán, công cụ được
sử dụng để thực thi các mô hình khai phá dữ liệu
Chương 3: Trình bày về phương thức xây dựng mô hình dự đoán khách hàng rời bỏ dịch vụ ngân hàng VIB, các độ đo và kết quả thực nghiệm mô hình
Kết luận và tài liệu tham khảo
Trang 145
Chương 1 TỔNG QUAN VỀ BÀI TOÁN CHURN
1.1 Khái niệm về churn và dự báo churn trong hoạt động ngân hàng
Khách hàng churn là thuật ngữ được sử dụng trong lĩnh vực ngân hàng, các nhà nghiên cứu dùng để biểu thị sự di chuyển của khách hàng từ ngân hàng này sang ngân hàng khác Trong lĩnh vực ngân hàng, việc xác định các khách hàng có khả năng dừng dịch vụ ngày càng trở nên quan trọng trong thời gian gần đây Trong lĩnh vực ngân hàng, khách hàng được gọi là churn khi khách hàng đó đóng tất cả tài khoản của mình và ngừng hoạt động với ngân hàng Có nhiều lý do để khách hàng đóng (các) tài khoản của mình Ví dụ: một người tạo tài khoản cho một mục đích cụ thể tại một thời điểm cụ thể và đóng tài khoản
đó ngay lập tức sau khi mục đích được giải quyết Hoặc một người được luân chuyển công việc, phải chuyển đến một nơi làm việc khác và do đó đóng tất cả các tài khoản ngân hàng tại nơi làm việc cũ Hoặc khách hàng có thể ngừng giao dịch với ngân hàng chỉ vì không có máy ATM của ngân hàng ở những nơi quan trọng và do đó đóng tài khoản của họ Vấn đề ở đây là, trong kịch bản thực tế, ngân hàng không phải lúc nào cũng nắm bắt được loại dữ liệu phản hồi này Do đó, không thể phân tích thêm và không thể dừng việc khách hàng dừng dịch vụ ngân hàng
Để tìm câu trả lời cho câu hỏi khách hàng nào rời bỏ và tại sao lại rời bỏ thì cần có một bộ phân loại khách hàng Do đó, việc dự đoán khách hàng rời bỏ cần nhận dạng được các khách hàng có khả năng dừng sử dụng dịch vụ trong tương lai gần Cơ sở để thực hiện điều này là các dữ liệu lịch sử, chứa thông tin
về những khách hàng đã rời bỏ trong quá khứ Sau đó, các ngân hàng sẽ thực hiện việc so sánh giữa những người đã rời bỏ và khách hàng hiện tại[1] Vì có khả năng những người rời bỏ dịch vụ này được xác định là những khách hàng
mà việc phân loại này cho thấy sự tương đồng với những chiếc máy khuấy trước
đó Dự đoán khách hàng churn là quá trình sử dụng dữ liệu giao dịch để xác định những khách hàng có khả năng hủy đăng ký dịch vụ Phổ biến trong nhiều ngành dịch vụ như viễn thông, tài chính và thương mại điện tử, dự đoán churn
Trang 156
có thể giúp các tổ chức ngăn ngừa mất doanh thu trong tương lai và tăng lòng trung thành của khách hàng Cho đến nay, hầu hết các công việc trong dự đoán churn đều tập trung vào các chiến lược lấy mẫu, phân tích các đặc trưng và mô hình hóa có giám sát trong một khoảng thời gian cố định Dự đoán được sử dụng trong công việc hiện nay, chẳng hạn như nhân khẩu học của người dùng
và trạng thái thẻ tín dụng, có bản chất tĩnh và không đủ để cung cấp chính xác cho các dự đoán [2] Rất ít nghiên cứu đã khám phá lĩnh vực sử dụng các công
cụ dự báo động để khai thác hành vi của khách hàng đối với dữ liệu dọc
1.2 Tình hình nghiên cứu về bài toán khách hàng churn
Việc phân tích tình hình hoạt động ngân hàng của khách hàng là một lĩnh vực thực sự rộng lớn Trong một trong những nghiên cứu này, [3] theo đuổi dự đoán về sự biến mất của khách hàng ngân hàng thương mại dựa trên mô hình SVM [4] Đối với công việc này, tập dữ liệu khách hàng của ngân hàng thương mại Trung Quốc chứa 50.000 thông tin khách hàng được chọn Sau khi xử lý trước các bản ghi, cuối cùng có 46,406 bản ghi dữ liệu hợp lệ Hai loại mô hình SVM được chọn: SVM tuyến tính và SVM với chức năng nhân cơ sở xuyên tâm Hiệu quả dự đoán của các mô hình phân loại đã được cải thiện đáng kể nhờ phương pháp lấy mẫu dưới Do các đặc điểm khác biệt của tập dữ liệu thời gian giao dịch khách hàng ngân hàng thương mại thực tế, nên mô hình SVM không thể dự đoán chính xác các khách hàng churn và ngay cả các thông số đánh giá chung cũng không thể tính toán khả năng dự đoán của mô hình Các phát hiện cho thấy rằng việc tích hợp phương pháp lấy mẫu ngẫu nhiên với mô hình SVM về cơ bản có thể làm tăng khả năng dự đoán và giúp các ngân hàng thương mại dự đoán các chu kỳ chính xác hơn Nhưng nghiên cứu này đã sử dụng tỷ lệ 1:10 cho tỉ lệ churn và không churn Với tỉ lệ 1: 1, kết quả nhận được tối đa là 80,84% Đây là nhược điểm chính của phương pháp này
Trong một nghiên cứu khác, [5] một nghiên cứu khoa học về việc sử dụng khai thác dữ liệu trong việc trích xuất thông tin từ các kho lưu trữ trong lĩnh vực ngân hàng được trình bày Kết quả cho thấy những khách hàng sử dụng
Trang 167
nhiều dịch vụ ngân hàng (sản phẩm) có vẻ trung thành hơn, vì vậy ngân hàng
có thể tập trung vào những khách hàng sử dụng ít hơn ba sản phẩm và cung cấp cho họ hàng hóa theo nhu cầu của họ Cơ sở dữ liệu được sử dụng bao gồm hồ
sơ về 1866 khách hàng vào ngày nghiên cứu Nghiên cứu dựa trên một phương pháp dự đoán churn bằng cách sử dụng mạng Neural trong gói phần mềm Alyuda NeuroInteligence Trong đó chia Dữ liệu thành ba bộ: tập huấn luyện, xác thực và thử nghiệm Ba dạng đặc điểm được mô tả trong giai đoạn phân tích dữ liệu: đặc điểm cần từ chối, đặc điểm cần và đặc điểm mục tiêu cần đo lường Mô hình chọn một số lớp ẩn trong quá trình thiết kế mạng Sau khi đào tạo mô hình, kết quả CCR của tập xác thực là 93,959732 Nghiên cứu kết luận rằng, do tỷ lệ người nghỉ hưu cao trong tổng số khách hàng (691/1886), ngân hàng có các chương trình phù hợp rất tốt cho người nghỉ hưu, và xác suất cạnh tranh là cực kỳ nhỏ [6]
Nghiên cứu [7] đề xuất một mô hình phân tích churn giúp các nhà cung cấp dịch vụ viễn thông dự đoán những khách hàng có nhiều khả năng churn nhất Hệ thống sử dụng các chiến lược học máy trên nền tảng dữ liệu lớn Thước
đo tiêu chuẩn Diện tích Dưới đường cong (AUC) được sử dụng để đánh giá hiệu quả của mô hình Bộ dữ liệu được sử dụng cho nghiên cứu do công ty viễn thông Syriatel cung cấp Mô hình đã hoạt động với 4 phương pháp: Cây quyết định, Rừng ngẫu nhiên, Cây máy tăng cường độ dốc (GBM) và tăng cường độ dốc cực cao (XGBOOST) Nền tảng dữ liệu Hortonworks (HDP) đã được chọn làm nền tảng dữ liệu lớn Spark được sử dụng trong hầu hết các giai đoạn của sản phẩm như phân tích dữ liệu, phát triển chức năng, đào tạo và kiểm tra phần mềm Các siêu tham số của thuật toán đã được tối ưu hóa với sự hỗ trợ của xác thực chéo K-lần Vì lớp mục tiêu không cân bằng, mẫu cho việc học được cân bằng lại bằng cách lấy mẫu dữ liệu để cân bằng hai lớp Nghiên cứu bắt đầu với việc lấy mẫu quá mức bằng cách tăng mẫu của lớp churn để phù hợp với lớp khác Phương pháp tiếp cận lấy mẫu dưới ngẫu nhiên cũng được sử dụng, làm giảm kích thước mẫu của nhóm rộng được so sánh với nhóm thứ hai Quá trình
Trang 178
huấn luyện bắt đầu dựa trên thuật toán Cây quyết định và tối ưu hóa độ sâu siêu tham số và số lượng nút tối đa [8] Trong cả Rừng ngẫu nhiên và GBM, kết quả tốt nhất cho thấy số cây tốt nhất là 200 cây Và GBM có kết quả tốt hơn DT và
RF Kết quả cho thấy giá trị AUC tốt nhất là 93,301% đối với XGBOOST trên
180 cây Các mô hình được thử nghiệm bằng cách cài đặt bộ dữ liệu mới trong nhiều thời điểm khác nhau và không có bất kỳ can thiệp nào, XGBOOST cũng cung cấp kết quả tốt nhất với 89% AUC Nghiên cứu đưa ra giả thuyết rằng sự sụt giảm kết quả có thể là do hiện tượng mô hình dữ liệu không cố định, vì vậy
mô hình cần phải đào tạo theo thời gian
Hình 1: Biểu đồ hoạt động của hệ thống được đề xuất
1.3 Phát biểu bài toán dự đoán khách hàng rời bỏ trong hoạt động ngân hàng VIB
Hiện tại Ngân hàng Quốc tế Việt Nam (Vietnam International Bank – VIB) muốn xây dựng mô hình dự đoán khả năng rời bỏ của khách hàng để có
Trang 189
thể xây dựng được các chiến lược làm thị trường và giữ chân khách hàng Trong quá trình phát triển, ngân hàng VIB đã thu thập được nhiều dữ liệu về khách hàng và các giao dịch của khách hàng trên hệ thống thông tin quản lý của ngân hàng Dữ liệu năm 2019 của các hoạt động khách hàng của VIB được thu thập bao gồm 6 tập con, mỗi tập con chứa thông tin khác nhau về khách hàng:
Thông tin chung về cá nhân khách hàng, bao gồm các thông tin: giới tính, ngày sinh, nhân viên của VIB, ngày đăng ký, kênh đăng ký, sử dụng SMS, phương thức xác thực, mã số khách hàng
Giao dịch Ebank của khách hàng trên nền tảng MyVIB, bao gồm các thông tin: nhóm giao dịch cấp 1, nhóm giao dịch cấp 2, ngày giao dịch, ngày trong tuần, giờ giao dịch, số lượng giao dịch, số tiền giao dịch, mã số khách hàng
Hoạt động của khách hàng trên nền tảng MyVIB, bao gồm các thông tin: ngày hoạt động, ngày trong tuần, giờ hoạt động, số lượng hoạt động, loại hoạt động, mã số khách hàng
Tài khoản hiện tại và thông tin tiền gửi kỳ hạn của khách hàng, bao gồm các thông tin: tháng báo cáo, số lượng tài khoản hiện tại, số dư trung bình hàng tháng của tài khoản hiện tại, số lượng tài khoản gửi tiền có kỳ hạn, số dư trung bình hàng tháng của tiền gửi kỳ hạn, mã số khách hàng
Thông tin về số vay của khách hàng, bao gồm các thông tin: tháng báo cáo, số lượng tài khoản vay, khoản vay trung bình hàng tháng, mã số khách hàng
Thông tin về thẻ của khách hàng, bao gồm các thông tin: số lượng thẻ tín dụng, số lượng thể ghi nợ, mã số khách hàng
Các trường dữ liệu tại cơ sở dữ liệu cụ thể như sau:
# 1 Data_Customer: Thông tin chung về khách hàng cá nhân
Customer_number: Mã số khách hàng - Text
Client_sex: Giới tính khách hàng - Text
Trang 1910
Client_create_date: Ngày mà Customer Infomation File (CIF - Tệp thông tin khách hàng) mở thành công - Date
Date_of_birth: Ngày tháng năm sinh khách hàng - Date
Staff_VIB: Nhân viên tại VIB hay ko - Text
IB_Register_date: Ngày mà tài khoản eBank của khách hàng đã mở thành công - Date
EB_Register_Channel: Kênh mà tài khoản eBank của khách hàng đã được mở - Text
SMS: Khách hàng đăng ký nhận SMS thông báo hay không
Trans_lv1: Nhóm giao dịch cấp 1 - Text
Trans_lv2: Nhóm giao dịch cấp 2 - Text
Trans_date: Ngày giao dịch - Date
Day_of_week: Ngày trong tuần - Text
Trans_hour: Giờ giao dịch - Number
Trans_No: Số lượng giao dịch – Number
Trans_Amount: Số tiền giao dịch – Number
Customer_number: mã số khách hàng – Text
Trang 201
11
# 3 Data_MyVIB_Activity: Giao dịch hoạt động của khách hàng trên nền tảng MyVIB
Activity_date: Ngày hoạt động - date
Day_of_week: Ngày trong tuần - date
Activity_hour: Giờ hoạt động - Number
Activity_no: Mã hoạt động - Number
Customer_number: Mã số khách hàng – Text
Activity_name: Mô tả hoạt động – Text
# 4 Data_Deposit: Tài khoản hiện tại & Thông tin tiền gửi kỳ hạn của khách hàng
Month: Tháng báo cáo - Date
Trang 2112
Count_CA_acct: Số lượng tài khoản hiện tại - Number
Avg_CA_balance: Số dư trung bình hàng tháng của tài khoản hiện tại - Number
Count_TD_acct: Số lượng tài khoản gửi tiền có kỳ hạn
- Number
Avg_TD_balance: Số dư trung bình hàng tháng của tiền gửi kỳ hạn - Number
Customer_number: Mã số khách hàng – Text
# 5 Data_Lending: Thông tin về số vay của khách hàng
Month: Tháng báo cáo - Date
Count_of_loan: Số lượng tài khoản vay – Number
Avg_loan_amount: Khoản vay trung bình hàng tháng - Number
Customer_number: Mã số khách hàng – Text
Trang 223
13
# 6 Data_Card: Thông tin về thẻ của khách hàng
Month: Tháng báo cáo – Date
Count_creditcard: Số lượng thẻ tín dụng – Number
Count_debitcard: Số lượng thẻ ghi nợ - Number
Customer_number: Mã số khách hàng – Text
Dựa trên những dữ liệu này, cần thiết xây dựng một mô hình dự đoán khả năng rời bỏ ngân hàng của các khách hàng đã, đang và sẽ sử dụng dịch vụ của VIB, đặc biệt là ứng dụng MyVIB do ngân hàng phát triển
Kết luận chương 1
Trong chương này, tôi đã trình bày tổng quan về bài toán rời bỏ các dịch
vụ khách hàng ở các ngân hàng Tôi cũng đã giới thiệu tổng quan các nghiên cứu liên quan đến việc xác định, dự đoán khách hàng rời bỏ các dịch vụ ngân hàng Tôi đã giới thiệu bài toán cụ thể về việc sử dụng các dữ liệu khách hàng của VIB để xây dựng mô hình dự đoán khách hàng rời bỏ dịch vụ MyVIB
Trang 2314
Chương 2 KHAI PHÁ DỮ LIỆU VÀ CÁC KỸ THUẬT
PHÂN TÍCH DỰ BÁO 2.1 Tổng quan về khai phá dữ liệu
2.1.1 Khái niệm
Khai phá dữ liệu là một quá trình khám phá các thông tin nằm trong các
cơ sở dữ liệu Khai phá dữ liệu là giai đoạn quan trọng nhất trong tiến trình khai phá tri thức từ các nguồn dữ liệu hiện có Các thông tin tri thức là cơ sở cho việc ra các quyết định trong các lĩnh vực nghiên cứu khoa học, kinh tế và xã hội
2.1.2 Quy trình khai phá dữ liệu
Quy trình khai phá dữ liệu gồm 6 bước, cụ thể như sau:
Bước 1: Thu thập dữ liệu
Dữ liệu được thu thập từ nhiều nguồn khác nhau theo mục tiêu của bài toán Các nguồn dữ liệu bao gồm các thuộc tính của dữ liệu và các thông tin liên quan Dữ liệu được thu thập từ các nguồn có sẵn hoặc được tổng hợp trong quá trình xử lý dữ liệu
Bước 2: Trích chọn dữ liệu
Dữ liệu được trích chọn từ các nguồn dữ liệu nhằm đảm bảo tính đầy đủ của dữ liệu
Bước 3: Tiền xử lý và chuẩn bị dữ liệu (Preprocessing):
Dữ liệu cần phải được xử lý trước khi được khai phá Thông thường, người thu thập dữ liệu thường không xác định được mức độ quan trọng của các trường dữ liệu, sự đầy đủ của các dữ liệu nên có thể thiếu một số thuộc tính, nhiều khi đó lại là các thuộc tính quan trọng
Ngoài ra cũng có trường hợp các dữ liệu đã được lưu trữ nhưng vì một
lý do nào đó đã bị xóa đi, cũng như việc ghi chép sự biến đổi mang tính lịch sử của các giao dịch có thể bị bỏ qua mà chỉ giữ lại những thông tin tổng hợp vào thời điểm xét Việc trùng lặp dữ liệu hoặc thiếu dữ liệu có thể làm ảnh hưởng
Trang 245
15
đến kết quả của mô hình, thậm chí có thể có kết quả ngược lại với dự kiến Để
có được mô hình phân tích chính xác thì dữ liệu cần phải chính xác Dữ liệu chính xác, dữ liệu tốt là chìa khóa tạo ra các mô hình giá trị và đáng tin cậy Do
đó dữ liệu cần phải được tiền xử lý
Hoạt động cơ bản của giai đoạn tiền xử lý bao gồm làm sạch dữ liệu, rút gọn dữ liệu Hai nguyên nhân của rút gọn dữ liệu là :
- Dữ liệu quá lớn, không phù hợp với khả năng xử lý của chương trình
- Thời gian thực thi chương trình quá dài
Việc rút gọn dữ liệu bao gồm các phương pháp như tổng hợp và tổng quát hóa, giảm chiều dữ liệu, nén dữ liệu, giảm số lượng các bản ghi, rời rạc hóa
Tổng hợp dữ liệu và tổng quát hóa dữ liệu: tổ hợp từ hai hay nhiều
thuộc tính trở lên thành một thuộc tính, tổng quát hóa dữ liệu cấp thấp sang dữ liệu cấp cao chẳng hạn như các thành phố tổng hợp vào vùng, khu vực, nước…
Giảm chiều dữ liệu: việc giảm chiều là việc lựa chọn các đặc trưng,
các thuộc tính có ý nghĩa quan trọng đối với mục đích khai phá dữ liệu Loại
bỏ những thuộc tính không liên quan, những thuộc tính có thể trùng với thuộc tính khác trong cơ sở dữ liệu
Giảm số bản ghi dữ liệu: Để đảm bảo khối lượng dữ liệu không quá
lớn, cần phải giảm số bản ghi dữ liệu Cách tiếp cận chính để làm giảm số bản ghi dữ liệu là lấy mẫu ngẫu nhiên Thay vì tiến hành khai phá trên tập toàn bộ các trường hợp, các mẫu ngẫu nhiên được thu thập Có hai cách để lấy mẫu :
o Mẫu tăng dần: Phương pháp này tiến thử nghiệm với một tập mẫu ban đầu lấy từ dữ liệu nguồn với một số lượng vừa phải dùng mẫu này để đánh giá hiệu quả Tiếp theo lấy các mẫu với số lượng trường hợp tăng dần và so sánh
độ hiệu quả với tập dữ liệu đã được xây dựng trước đó Nếu hiệu quả được cải thiện thì tiếp tục quá trình lấy mẫu, ngược lại quá trình sẽ dừng
o Mẫu trung bình: Tùy theo khả năng của mô hình xử lý mà số lượng mẫu được lấy ra theo số lượng yêu cầu
Trang 25Đối với việc xử lý dữ liệu bị thiếu (missing value), ta có thể sử dụng một hoặc tổ hợp các giải pháp sau:
Bỏ qua bản ghi dữ liêu nếu chứa nhiều thuộc tính thiếu giá trị
Bổ sung các giá trị còn thiếu thủ công
Bổ sung các giá trị thiếu này cách sử dụng một trong những phương pháp sau:
o Thay thế giá trị thiếu bằng một hằng số chuẩn Thông thường các giá trị này thường không ảnh hưởng nhiều đến kết quả của mô hình khai phá dữ liệu
o Thay thế giá trị thiếu bằng giá trị trung bình cùng thuộc tính được lấy xung quanh giá trị còn thiếu
o Thay thế giá trị thiếu bằng giá trị trung bình cùng thuộc tính và lớp Phương pháp này có ưu điểm là đơn giản, nhưng có hạn chế là giá trị thay thế không phải giá trị đúng hoàn toàn Nếu thay thế giá trị thiếu bằng một hằng số hoặc một vài giá trị định trước sẽ làm cho dữ liệu mất tính khách quan
Ta có thể bổ sung các giá trị thiếu sử dụng phương pháp logic, thường
sử dụng các kỹ thuật cây quyết định hoặc luật quyết định Phương pháp này tỏ
ra có ưu thế hơn phương pháp toán học do tập luật được xây dựng trên dữ liệu thực, vì thế kết quả có độ tin cậy cao hơn
Bước 4: Chuyển đổi dữ liệu
Mục đích của chuyển đổi dữ liệu là đưa dữ liệu về định dạng dữ liệu phù hợp với thuật toán khai phá dữ liệu Một số kỹ thuật áp dụng cho quá trình chuyển đổi dữ liệu:
Chuyển đổi kiểu dữ liệu: Đây là một kỹ thuật đơn giản nhất Chẳng hạn
như chuyển các cột dữ liệu kiểu logic sang dạng nguyên và ngược lại
Trang 267
17
Rời rạc hóa: biến đổi miền giá trị thuộc tính liên tục thành từng khoảng,
lưu nhãn của khoảng thay cho giá trị thực Chẳng hạn như thay thế giá trị tuổi bằng các nhãn như trẻ, trung niên, già
Nhóm dữ liệu: để làm việc này, ta thường phân loại các giá trị trong
một cột thành các nhóm, sau đó ánh xạ giá trị của các cột này sang các giá trị nhóm tương ứng Chẳng hạn cột nghề nghiệp có những giá trị khác nhau như
kỹ sư cơ khí, kỹ sư công nghệ thông tin, kỹ sư xây dựng… thì chúng ta có thể nhóm chúng lại thành nhóm kỹ sư
Tập hợp: những thông tin lưu trữ trong cơ sở dữ liệu là rất chi tiết,
chúng ta có thể tập hợp chúng lại thành vài thuộc tính tổng hợp Chẳng hạn chúng ta muốn phân loại khách hàng dựa trên những thông tin sử dụng điện thoại hàng tháng của khách hàng, chúng ta có thể tập hợp những thông tin này thành một vài thuộc tính tổng hợp như tổng số cuộc gọi hay thời gian trung bình các cuộc gọi
Tổng quát hóa: Dữ liệu ở mức thấp (dữ liệu nguyên thủy) có thể được
thay thế bằng các khái niệm ở mức cao hơn Chẳng hạn những loài cây có thể được tổng quát ở mức cao hơn là thực vật
Chuẩn hóa: Một thuộc tính được chuẩn hóa bằng cách ánh xạ một cách
có tỉ lệ dữ liệu về một khoảng xác định ví dụ như 0.0 đến 1.0 Chuẩn hóa là một phần hữu ích của thuật toán phân lớp trong mạng noron, hoặc thuật toán tính toán độ lệch sử dụng trong việc phân lớp hay nhóm cụm các phần tử liền kề
Bước 5: Khai phá dữ liệu
Trong giai đoạn này, các thuật toán khai phá dữ liệu được áp dụng lên
dữ liệu để trích rút ra các thông tin tri thức từ các nguồn dữ liệu Thuật toán có thể bao gồm các thuật toán liên quan đến phân loại, phân lớp hoặc dự đoán dữ liệu
Bước 6: Đánh giá kết quả mẫu
Giai đoạn cuối trong quá trình KPDL Trong giai đoạn này, các mẫu dữ liệu được chiết xuất ra bởi phần mềm KPDL Không phải bất cứ mẫu dữ liệu
Trang 2718
nào cũng đều hữu ích, đôi khi nó còn bị sai lệch Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để đưa ra các tri thức cần thiết và sử dụng được
Hình 2: Các giai đoạn trong khai phá dữ liệu [9]
2.1.3 Các kỹ thuật khai phá dữ liệu chính
Trong phần này, một số kỹ thuật cốt lõi được sử dụng trong khai phá dữ liệu được mô tả
2.1.3.1 Sử dụng luật kết hợp
Sự kết hợp (hay mối quan hệ) có lẽ là kỹ thuật khai phá dữ liệu được biết đến nhiều hơn, hầu như quen thuộc và đơn giản Ở đây, người dùng thực hiện một sự tương quan đơn giản giữa hai hoặc nhiều mục, thường cùng kiểu để nhận biết các mẫu Ví dụ, khi theo dõi thói quen mua hàng của các khách hàng của một siêu thị, người dùng có thể nhận biết rằng một khách hàng luôn mua
xà phòng với dầu gội đầu và nước xả vải Do vậy, ta có thể đề xuất người dùng mua dầu gội khi họ đến mua xà phòng
Việc xây dựng các công cụ khai phá dữ liệu dựa trên sự kết hợp hay mối quan hệ có thể thực hiện đơn giản bằng các công cụ khác nhau
2.1.3.2 Phân loại
Người dùng có thể sử dụng công cụ phân loại để xây dựng một ý tưởng
về kiểu khách hàng, kiểu mặt hàng hoặc kiểu đối tượng bằng cách mô tả nhiều
Trang 289
19
thuộc tính để nhận biết một lớp cụ thể Ví dụ, người dùng có thể dễ dàng phân loại các xe máy thành các kiểu xe khác nhau (xe nữ, xe đua xe thể thao) bằng cách xác định các thuộc tính liên quan đến xe Đối với một đối tượng xe mới, căn cứ vào các đặc trưng để có thể sắp xếp chiếc xe đó vào nhóm các loại xe
đã xây dựng sẵn
Hơn nữa, người dùng có thể sử dụng việc phân loại như một nguồn cấp, hoặc như là kết quả của các kỹ thuật khác Ví dụ, người dùng có thể sử dụng các cây quyết định để xác định một cách phân loại Việc phân cụm sẽ cho phép người dùng sử dụng các thuộc tính chung theo các cách phân loại khác nhau để nhận biết các cụm
2.1.3.3 Phân cụm dữ liệu
Bằng cách xem xét một hay nhiều thuộc tính hoặc các lớp, người dùng
có thể nhóm các phần dữ liệu riêng lẻ với nhau để tạo thành một quan điểm cấu trúc Ở mức đơn giản, việc phân cụm đang sử dụng một hoặc nhiều thuộc tính làm cơ sở cho người dùng để nhận ra một nhóm các kết quả tương quan Việc phân cụm giúp để nhận biết các thông tin khác nhau vì nó tương quan với các
ví dụ khác, nên người dùng có thể thấy ở đâu có những điểm tương đồng và các phạm vi phù hợp [10]
Việc phân cụm có thể làm theo hai cách Người dùng có thể giả sử rằng
có một cụm ở một điểm nhất định và sau đó sử dụng các tiêu chí nhận dạng của người dùng để xem liệu người dùng có đúng không Trong một ví dụ mẫu về
dữ liệu kinh doanh so sánh tuổi của khách hàng với quy mô bán hàng Thật hợp
lý khi thấy rằng những người ở độ tuổi hai mươi (trước khi kết hôn và còn nhỏ),
ở độ tuổi năm mươi và sáu mươi (khi không còn con cái ở nhà), có nhiều tiền tiêu hơn
2.1.3.4 Dự báo
Hoạt động dự báo bao gồm việc phân tích các xu hướng, phân loại, so khớp mẫu và mối quan hệ Bằng cách phân tích các sự kiện hoặc các cá thể
Trang 29Mỹ và các giao dịch tại Mỹ cho thấy giao dịch này hợp lệ
2.1.3.5 Cây quyết định
Liên quan đến hầu hết các kỹ thuật khác (chủ yếu là phân loại và dự báo), cây quyết định có thể được sử dụng hoặc như là một phần trong các tiêu chí lựa chọn hoặc để hỗ trợ việc sử dụng và lựa chọn dữ liệu cụ thể bên trong cấu trúc tổng thể [11] Trong cây quyết định, người dùng bắt đầu bằng một câu hỏi đơn giản có hai câu trả lời (hoặc đôi khi có nhiều câu trả lời hơn) Mỗi câu trả lời lại dẫn đến thêm một câu hỏi nữa để giúp phân loại hay nhận biết dữ liệu sao cho có thể phân loại dữ liệu hoặc sao cho có thể thực hiện dự báo trên cơ sở mỗi câu trả lời
Các cây quyết định thường được sử dụng cùng với các hệ thống phân loại liên quan đến thông tin có kiểu thuộc tính và với các hệ thống dự báo, nơi các dự báo khác nhau có thể dựa trên kinh nghiệm lịch sử trong quá khứ để giúp hướng dẫn cấu trúc của cây quyết định và kết quả đầu ra
2.2 Một số kỹ thuật khai phá dữ liệu sử dụng trong bài toán
2.2.1 Decision Tree - Cây quyết định
2.2.1.1 Tổng quan về cây quyết định
Cây quyết định là một cấu trúc biễu diễn dưới dạng cây Trong đó, mỗi node trong (internal node) biễu diễn một thuộc tính, mỗi nhánh (branch) biễu diễn giá trị có thể có của thuộc tính, mỗi lá (leaf node) biểu diễn các lớp quyết định và đỉnh trên cùng của cây gọi là gốc (root)
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng
Trang 301
21
tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi nút trong (internal node) tương ứng với một biến; đường nối giữa nó với nút con của nó thể hiện giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị dự đoán của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định
Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng để phân lớp các đối tượng dựa vào dãy các luật (series of rules) Các thuộc tính của đối tượng (ngoại trừ thuộc tính phân lớp – Category attribute) có thể thuộc các kiểu dữ liệu khác nhau (Binary, Nominal, ordinal, quantitative values) trong khi đó thuộc tính phân lớp phải có kiểu dữ liệu là Binary hoặc Ordinal, dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp (classes) của
nó, cây quyết định sẽ sinh ra các luật để dự đoán lớp của các đối tượng chưa biết (unseen data)
2.2.1.2 Xây dựng cây quyết định
Nói chung quá trình xây dựng cây quyết định đều được chia ra làm 3 giai đoạn cơ bản, cụ thể như sau
Xây dựng cây: việc xây dựng cây được thực hiện bằng cách chia đệ quy các mẫu trong dữ liệu huấn luyện sao cho các mẫu dữ liệu ở nút lá (trạng thái mà không thể thực hiện chia được nữa) thuộc cùng một lớp
Cắt tỉa cây: là việc tối ưu hóa cây, đảm bảo cây không có những nhanh trùng nhau hoặc lặp về giá trị tại các điểm khác nhau
Đánh giá cây: dùng để đánh giá độ chính xác của quá trình ứng dụng cây trong việc phân lớp Tiêu chí để đánh giá độc chính xác của cây căn cứ vào
số mẫu được phân lớp chính xác trên tổng số mẫu đưa vào
Các bước chính của việc phát triển cây quyết định:
Bước 1: Chọn thuộc tính “tốt” nhất bằng một độ đo đã định trước
Bước 2: Phát triển cây bằng việc thêm các nhánh tương ứng với từng giá trị của thuộc tính đã chọn
Trang 3122
Bước 3: Sắp xếp, phân chia tập dữ liệu huấn luyện tới node con
Bước 4: Nếu các ví dụ được phân lớp rõ ràng thì dừng Ngược lại: lặp
lại bước 1 tới bước 4 cho từng node con
Mã giả cho quá trình xây dựng cây:
Make Tree (Training Data T)
{
Partition(T) }
2.2.1.3 Tính chất của cây quyết định
Khả năng sinh ra các quy tắc hiểu được: Cây quyết định có khả năng
sinh ra các quy tắc dễ dịch (if … then …) hoặc có thể chuyển đổi được sang
tiếng Anh hoặc SQL Đây là ưu điểm nổi bật của kỹ thuật này Thậm chí với
những tập dữ liệu lớn khiến cho hình dáng cây quyết định lớn và phức tạp, việc
đi theo bất cứ đường nào trên cây là dễ dàng theo nghĩa phổ biến và rõ ràng
Do vậy sự giải thích cho bất cứ một sự phân lớp hay dự đoán nào đều tương
đối minh bạch Do đó mọi người có thể hiểu mô hình cây quyết định thông qua
giải thích ban đầu
Khả năng thực thi trong những lĩnh vực hướng quy tắc: Điều này có
nghe có vẻ hiển nhiên, nhưng quy tắc quy nạp nói chung và cây quyết định nói
riêng là lựa chọn hoàn hảo cho những lĩnh vực thực sự là các quy tắc Rất nhiều
lĩnh vực từ di truyền tới các quá trình công nghiệp thực sự chứa các quy tắc ẩn,
không rõ ràng (underlying rules) do khá phức tạp và tối nghĩa bởi những dữ
Trang 323
23
liệu lỗi (noisy) Cây quyết định là một sự lựa chọn tự nhiên khi chúng ta nghi ngờ sự tồn tại của các quy tắc ẩn, không rõ ràng
Dễ dàng tính toán trong khi phân lớp: Mặc dù như chúng ta đã biết,
cây quyết định có thể chứa nhiều định dạng, nhưng trong thực tế, các thuật toán
sử dụng để tạo ra cây quyết định thường tạo ra những cây với số phân nhánh thấp và các test đơn giản tại từng node Những test điển hình là: so sánh số, xem xét phần tử của một tập hợp, và các phép nối đơn giản Khi thực thi trên máy tính, những test này chuyển thành các toán hàm logic và số nguyên là những toán hạng thực thi nhanh và không đắt Đây là một ưu điểm quan trọng bởi trong môi trường thương mại, các mô hình dự đoán thường được sử dụng
để phân lớp hàng triệu thậm trí hàng tỉ bản ghi
Khả năng xử lý với cả thuộc tính liên tục và thuộc tính rời rạc: Cây
quyết định xử lý “tốt” như nhau với thuộc tính liên tục và thuộc tính rời rạc Tuy rằng với thuộc tính liên tục cần nhiều tài nguyên tính toán hơn
Thể hiện rõ ràng những thuộc tính tốt nhất: Các thuật toán xây dựng
cây quyết định đưa ra thuộc tính mà phân chia tốt nhất tập dữ liệu đào tạo bắt đầu từ node gốc của cây Từ đó có thể thấy những thuộc tính nào là quan trọng nhất cho việc dự đoán hay phân lớp
Quá trình xây dựng cây tương đối đơn giản: Dữ liệu dùng cho cây
quyết định chỉ là những dữ liệu căn bản hoặc có thể không cần thiết Một số kỹ thuật khác có thể đòi hỏi dữ liệu chuẩn, tạo các biến giả và loại bỏ đi các giá trị trống Quá trình xây dựng cây tương đối nhanh Kết quả dự đoán bằng cây quyết định có thể thẩm định lại bằng cách kiểm tra thống kê
Cây quyết định là một trong những phương pháp khai phá dữ liệu, đặc biệt là phân lớp dữ liệu được sử dụng nhiều nhất trong các dự án nghiên cứu dữ liệu, là phương pháp học có giám sát hiệu quả nhất và được ứng dụng trong các lĩnh vực khác nhau từ kinh tế đến xã hội
Trong thuật toán này đã giải quyết được vấn đề làm việc với thuộc tính
số (liên tục), thuộc tính có nhiều giá trị và vấn đề dữ liệu bị thiếu, nhiễu Trong
Trang 3324
C4.5 thực hiện việc phân ngưỡng với thuộc tính số bằng phép tách nhị phân đưa vào đại lượng GainRatio thay thế cho đại lượng Gain của ID3 để giải quyết được vấn đề thuộc tính có nhiều giá trị Ngoài ra, còn có bước cắt tỉa nhánh không phù hợp Tuy nhiên, yếu điểm của thuật toán này là làm việc không hiệu quả với CSDL lớn vì chưa giải quyết được vấn đề bộ nhớ [12]
Tuy nhiên, cũng như các công cụ phân tích dữ liệu khác, cây quyết định
có những ưu điểm, nhược điểm mà chúng ta phải quan tâm, để xem xét sao cho
có thể áp dụng vào các phương pháp khai thác dữ liệu cho hiệu quả nhất
Trang 345
25
Hình 3: Mô hình kết hợp (nguồn:
https://phamdinhkhanh.github.io/deepai-book/ch_ml/RandomForest.html) 2.2.2.2 Mô hình rừng cây
Mô hình rừng cây sẽ áp dụng cả hai phương pháp học kết hợp (ensemble learning) và lấy mẫu tái lập (boostrapping) Thứ tự của quá trình tạo thành một
mô hình rừng cây như sau:
Hình 4: Các bước thực hiện xây dựng mô hình rừng cây ngẫu nhiên (nguồn: https://phamdinhkhanh.github.io/deepai-book/ch_ml/RandomForest.html)
Trang 353 Thực hiện bầu cử hoặc lấy trung bình giữa các cây quyết định để đưa
ra dự báo
Kết quả dự báo từ mô hình rừng cây là sự kết hợp của nhiều cây quyết định nên chúng tận dụng được trí thông minh đám đông và giúp cải thiện độ chính xác so với chỉ sử dụng một mô hình cây quyết định
Nếu như mô hình cây quyết định thường bị nhạy cảm với dữ liệu ngoại lai (outlier) thì mô hình rừng cây được huấn luyện trên nhiều tập dữ liệu con khác nhau, trong đó có những tập được loại bỏ dữ liệu ngoại lai, điều này giúp cho mô hình ít bị nhạy cảm với dữ liệu ngoại lai hơn
Sự kết hợp giữa các cây quyết định giúp cho kết quả ít bị chệch và phương sai giảm Như vậy chúng ta giảm thiểu được hiện tượng quá khớp ở mô hình rừng cây, một điều mà mô hình cây quyết định thường xuyên gặp phải
Cuối cùng các bộ dữ liệu được sử dụng từ những cây quyết định đều xuất phát từ dữ liệu huấn luyện nên quy luật học được giữa các cây quyết định sẽ gần tương tự như nhau và tổng hợp kết quả giữa chúng không có xu hướng bị chệch
2.2.3 Gradient Boosting
Phương pháp tăng cường là một phương pháp kết hợp các cây quyết định nhưng giữa các cây quyết định không hoàn toàn độc lập mà chúng có sự phụ thuộc theo chuỗi Tức là một cây quyết định được phát triển từ việc sử dụng thông tin được dự báo từ những cây quyết định được huấn luyện trước đó Trong phương pháp tăng cường chúng ta không sử dụng lấy mẫu tái lặp để tạo dữ liệu huấn luyện mà các mô hình được huấn luyện ngay trên dữ liệu gốc Giống như
Trang 36đó nổi bật nhất là Gradient Boosting1
2.3 Công cụ khai phá dữ liệu
2.3.1 Môi trường lập trình Google Colaboratory
Google Colaboratory (gọi tắt là Google Colab hay Colab) là một sản phẩm của Google Research Colab dựa trên Jupyter Notebook, người dùng có thể viết và thực thi đoạn mã python thông qua trình duyệt và đặc biệt rất phù hợp với data analysis, machine learning và giáo dục
Google đã phát hành Google Colab cho công chúng với mục đích cải thiện giáo dục và nghiên cứu Machine Learning
Google Colab còn cho phép triển khai các ứng dụng dựa trên ngôn ngữ Python với những nâng cấp cực kỳ hữu ích không có trong Jupyter Notebook, JupyterLab đơn thuần Những tính năng quan trọng ở Google Colab phải kể đến như:
Tạo mục lục dựa trên các Heading viết bằng ngôn ngữ markdown giúp
dễ dàng cấu trúc Notebook làm việc của mình Người dùng cũng có thể Thu gọn (Collapse) hay Mở rộng (Expand) các phần nội dung khi soạn thảo cực kỳ tiện lợi
Thuận lợi trong việc thêm hình ảnh, biểu mẫu với markdown hoặc làm dashboard Người dùng có thể ẩn các dòng code để trông Notebook gọn gàng hơn với tính năng biểu mẫu
1 https://phamdinhkhanh.github.io/deepai-book/ch_ml/Boosting.html
Trang 37 Tự động lưu lịch sử chỉnh sửa thành các phiên bản giúp người dùng
dễ dàng khôi phục lại phiên bản gần nhất nếu gặp lỗi Tính năng này tương tự như trên Google Sheets hay Google Docs, người dùng thậm chí không cần đến Github để lưu trữ các phiên bản chỉnh sửa này
Cho phép tìm kiếm và chèn các đoạn mã được soạn thảo sẵn trong các Template vào Notebook Tính năng này rất hay bởi người dùng không cần phải
mở thêm nhiều file lưu trữ để tìm lại các đoạn code mẫu mình đã biết khi cần Workflow lập trình Python trở nên đơn giản và hiệu quả hơn rất nhiều
Tạo dashboard viết bằng Python và chia sẻ với team dễ dàng nếu cần tương tự như Google DataStudio nhưng linh hoạt và mạnh mẽ hơn rất nhiều
2.3.2 Môi trường thực thi Python trong Google Colab
Để thực thi các dòng lệnh trên Google Colab, người dùng click vào nút Play ở đầu mỗi code cell hoặc chọn code cell cần thực thi sau đó dùng tổ hợp phím tắt Shift + Enter Người dùng cũng có thể sử dụng Menu Runtime với các tuỳ chọn thực thi đa dạng như:
Run all: thực thi toàn bộ các dòng lệnh có trong Colab
Run before: Thực thi các dòng lệnh xuất hiện trước code cell đang chọn
Run the focus cell: Thực thi code cell đang chọn
Run the selection: Thực thi các code cell đã lựa chọn (ấn giữ phím Shift và dùng chuột để lựa chọn nhiều code cell)
Run after: Thực thi các code cell kể từ code cell đang chọn về sau
2.3.2.1 Dừng thực thi lệnh & khởi động lại môi trường
Đôi khi việc thực thi xảy ra không như mong muốn, người dùng có thể muốn dừng thực thi hoặc khởi động lại môi trường làm việc của Google Colab