4.3.1 Môi trường thực nghiệm
Phần cứng
Trong phạm vi luận văn này, việc xây dựng ứng dụng ở mức cơ bản đáp ứng được những yêu cầu đề ra: có khả năng thực hiện việc cài đặt thuật toán phân cụm tích lũy, và dựa trên đó để dự đoán hành vi của khách hàng. Thuật toán được cài đặt ở mức giản lược những yếu tố quá phức tạp, giữ lại những yếu tố cơ bản đáp ứng được yêu cầu. Lượng dữ liệu được đưa vào mới mang tính chất tham khảo (300 dòng), mặc dù trong thực tế số dữ liệu này lên tới hàng trăm ngàn. Những yếu tố trên cũng một phần xuất phát từ những khó khăn trong thực tế do hạn chế về phần cứng không có được những thiết bị có khả năng xử lý cao. Để thực hiện quá trình thực nghiệm ứng dụng được cài đặt trên thiết bị phần cứng PC có cấu hình như bên dưới đây:
- Bộ xử lý: Intel Dual Core 2.4 GHz
- RAM 1G
- Ổ cứng dung lượng tối thiểu 2G
Để đáp ứng được nhu cầu xử lý trên PC như ở trên, phần mềm cài đặt cũng góp phần tạo ra hiệu quả của ứng dụng. Ứng dụng đòi hỏi giao diện rõ ràng dễ nhìn để đáp ứng được nhu cầu phân tích kết quả dữ liệu. Phần mềm cài đặt phải hỗ trợ tối đa đảm bảo cho ứng dụng có thể chạy được. Các thành phần sau phải được cài đặt để hỗ trợ ứng dụng chạy:
- Hệ điều hành Windows XP
- Framework .NET 2005 - Oracle 10g
Ứng dụng cài đặt thuật toán phân cụm tích lũy
Ứng dụng này được xây dựng bằng công nghệ VS 2005, đảm bảo hỗ trợ tối đa khả năng lập trình và thể hiện giao diện dễ nhìn có người dùng. Ứng dụng sẽ kết nối đến CSDL Oracle 10g, đảm bảo tính linh hoạt và tốc độ xử lý truy cập cao. Các kết quả phân tích sẽ được lưu trữ lại trong CSDL này sử dụng cho các hoạt động về sau.
Trong phạm vi luận văn này mục đích chính của việc cài đặt xây dựng ứng dụng là:
- Cài đặt thuật toán phân cụm tích lũy dựa trên phương pháp k-means
- Áp dụng để thực nghiệm với các trường hợp đánh giá: đánh giá độ chính xác của việc cài đặt thuật toán và đánh giá độ chính xác của cách thức dự đoán đối với một bản ghi khách hàng mới của Ngân hàng.
Mô hình ứng dụng thực hiện việc cài đặt thuật toán được chỉ ra như hình bên dưới:
CSDL
File dữ liệu Ứng dụng
phân cụm
Hình 4.2: Mô hình ứng dụng cài đặt
4.3.2. Mô tả quy trình thực nghiệm
Quy trình thực nghiệm đảm bảo rằng việc tiến hành thực nghiệm vừa tuân theo các bước của quy trình thực nghiệm chung cho việc phân cụm, lại phù hợp với phương pháp phân cụm tích lũy. Các phương án thực nghiệm gồm:
Phương án 1: Thực nghiệm tính chính xác của việc phân cụm theo phương pháp tích lũy
Đối với phương án này, việc thực nghiệm được tiến hành như sau: Chuẩn bị sẵn mẫu gồm 300 bản ghi dữ liệu khách hàng, sao cho đảm bảo (một cách tương đối) rằng chúng thuộc hai cụm khác nhau. Sau đó, thực hiện các bước chuẩn hóa dữ liệu để có được những thuộc tính phù hợp với việc chạy thuật toán phân cụm.
Thực hiện việc chạy thuật toán phân cụm tích lũy cho 301 bản ghi dữ liệu khách hàng này và xem xét kết quả của đầu ra của quá trình phân cụm. Nếu:
- Kết quả đầu ra là 2 cụm với số lượng bản ghi khách hàng thuộc mỗi cụm là xấp xỉ giống như kết quả đã biết trước, có thể khẳng định tính đúng đắn của thuật toán phân cụm tích lũy.
- Kết quả đầu ra là số cụm khác 2 hoặc số lượng bản ghi khách hàng của mỗi cụm là khác nhiều so với kết quả đã biết trước, dễ thấy việc cài đặt thuật toán phân cụm chưa đạt yêu cầu.
Phương án 2: Thực nghiệm so sánh độ chính xác của Phương pháp Phân cụm tích lũy dựa trên k-means với phương pháp k-means.
Để so sánh việc cài đặt thực nghiệm phương pháp Phân cụm tích lũy dựa trên k- trung bình với phương pháp k-trung bình, trong nội dung luận văn này đã thực hiện cài đặt thêm thuật toán k-trung bình để chạy nhằm so sánh kết quả của hai phương pháp. Theo lý thuyết đã trình bày ở trên thì phương pháp Phân cụm tích lũy dựa trên k-trung bình tốt hơn phương pháp k-trung bình ở những điểm sau:
- Khả năng lựa chọn tham số đầu vào k (số lượng cụm) của Phương pháp Phân cụm tích lũy không bị cố định như phương pháp k-trung bình, và thông thường số lượng cụm kết quả không bị phụ thuộc vào số lượng cụm đầu vào.
- Khả năng phân cụm chính xác hơn do Phương pháp Phân cụm tích lũy sử dụng kết quả của những lần phân cụm đơn lẻ để láy làm cơ sở tính toán lại cụm ban đầu. Phương pháp này làm cho việc xây dựng lại cụm tự nhiên có độ chính xác cao.
Phương án 3: Thực nghiệm dự đoán kết quả của một bản ghi khách hàng mới. Phương án này chính là mục đích của luận văn: đưa ra kết quả dự đoán cho một bản ghi khách hàng mới để Ngân hàng có thể từ đó đánh giá được nhu cầu và có những chính sách hợp lý đối với khách hàng, từ đó tăng hiệu quả của công việc và đồng thời giảm thiểu chi phí cho hoạt động của Ngân hàng.
Đối với phương án này, cần chuẩn bị một tập dữ liệu khách hàng 300 bản ghi đã biết trước kết quả sử dụng dịch vụ. Sau đó, đưa vào thông tin bản ghi khách hàng cần dự đoán, thực hiện chạy ứng dụng để đưa ra kết quả đầu ra dự đoán khách hàng thuộc tập (cụm) nào. Từ kết quả đầu ra, có thể dễ dàng nhận thấy xu hướng tiềm năng của khách hàng này.
4.3.3. Kết quả thực nghiệm và đánh giá nhận xét
Phương án 1: Thực nghiệm tính chính xác của việc phân cụm theo phương pháp tích lũy. Mục đích của việc thực nghiệm này là để đánh giá xem tính chính xác của việc phân cụm như thế nào. Tập dữ liệu đã chuẩn bị gồm 300 bản ghi khách hàng được tính toán trước phân làm hai cụm. Một cụm gồm 81 bản ghi khách hàng và một cụm còn lại gồm 219 bản ghi khách hàng. Tiến hành lựa chọn tập dữ liệu như là dữ liệu đầu vào và thực hiện chương trình. Kết quả được thể hiện trên màn hình như sau (trong đó kết quả được hiển thị ở phần bên dưới của màn hình giao diện ứng dụng).
Hình 4.3: Giao diện thực nghiệm theo phương án 1
Như trên hình đã chỉ ra, với các tham số đầu vào là:
- Số cụm nhỏ nhất (min): 2
- Số cụm lớn nhất (max): 5
- Số lần lặp lại thực hiện việc phân cụm: 10
- Ngưỡng của việc xây dựng lại các cụm từ các cụm phân cụm: 0.3
Kết quả đầu ra của chương trình là tập dữ liệu gồm được phân chia làm hai cụm: một cụm có 81 khách hàng và một cụm có 219 khách hàng.
Bên cạnh đó, chương trình còn dựa vào thông tin số khách hàng đã từng sử dụng các dịch vụ để đưa ra tỉ lệ khách hàng đã sử dụng dịch vụ này. Ở phương án kiểm thử này tuy các con số này chưa mang nhiều ý nghĩa, song ở trong phương án sau, các con số này sẽ đóng góp phần quan trọng dự đoán khả năng khách hàng sẽ sử dụng dịch vụ này.
Để thể hiện rõ ràng hình ảnh của hai cụm, trong luận văn này chỉ giới hạn ở việc thể hiện một cách đơn giản trên đồ họa hình ảnh của cụm dưới góc độ hai tham số là trường AGE (đóng vai trò là trục x) và SAVG_ACC đóng vai trò là trục y. Nhấn vào nút Vẽ để có thể xem được hình ảnh đồ họa của các cụm như hình bên dưới.
Hình 4.4: Giao diện đồ họa thể hiện hai cụm theo phương án thực nghiệm 1
Hình ảnh đồ họa thể hiện ở hình bên trên chỉ ra rằng chúng ta có hai cụm dữ liệu phân biệt nhau (một được thể hiện bằng mầu đỏ và một được thể hiện bằng mầu xanh). Rõ ràng là việc cài đặt phân cụm là chính xác trong trường hợp này.
Bây giờ để xem xét độ chính xác của việc cài đặt thuật toán, tiến hành thay đổi các tham số tham gia quá trình phân cụm. Gỉa sử thay đổi như bên dưới:
- Số lượng cụm lớn nhất (min): 1
- Số lượng cụm nhỏ nhất (max):6
- Ngưỡng: 0.5
Kết quả của việc phân cụm được thể hiện như hình bên dưới đây:
Hình 4.6: Giao diện đồ họa thể hiện khi thay đổi tham số thực nghiệm
Rõ ràng là kết quả của việc phân cụm lần này không đáp ứng được độ chính xác mong muốn của luận văn. Đây cũng là điều dễ hiểu bởi việc phân cụm có chính xác hay không còn phụ thuộc vào các tham số đầu vào và việc lựa chọn các điểm dữ liệu ban đầu làm hạt giống. Bảng dưới đây liệt kết quả phân cụm phụ thuộc vào các tham số đầu ra.
Bảng 3.9: kết quả phân cụm tích lũy theo các tham số đầu vào
t l 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 2 7 6 6 5 4 2 2 1 5 6 5 3 2 2 2 2 1 10 6 4 3 2 2 2 2 1 t: ngưỡng, l: số lần lặp
Như bảng trên cho thấy rằng khi số lần lặp càng tăng lên thì độ chính xác của việc phân cụm của thuật toán cũng càng trở lên chính xác hơn. Hơn nữa điều này cũng xảy ra với tham số ngưỡng t: khi tham số ngưỡng ở một mức độ phù hợp (khoảng 0.2 đến 0.5) thì thuật toán phân cụm cũng thực hiện khá hiệu quả. Như vậy với việc lựa chọn tham số t phù hợp và số lần lặp đủ lớn thì thuật toán sẽ cho ta kết quả hợp lý đáp ứng mong đợi.
Phương án 2: Thực nghiệm so sánh độ chính xác của Phương pháp Phân cụm tích lũy dựa trên k-trung bình với phương pháp k-trung bình.
Hình ảnh dưới đây được chụp lại từ việc thực hiện phân cụm với cùng bộ dữ liệu đầu vào. Rõ ràng việc phân cụm được thực hiện tốt hơn trong trường hợp sử dụng Phương pháp Phân cụm tích lũy.
(a) (b)
Hình 4.7: (a) Phân cụm theo Phương pháp k-means; (b) Phân cụm theo Phương pháp Phân cụm tích lũy dựa trên Phương pháp k-means.
Phương án 3: Thực nghiệm dự đoán kết quả của một bản ghi khách hàng mới. Mục đích của việc thực nghiệm phương án này là đưa ra dự đoán xem liệu một khách hàng tiềm năng của Ngân hàng Quân đội sẽ có khả năng sử dụng dịch vụ nào. Trong trường hợp khách hàng này chưa sử dụng một trong các dịch vụ cung cấp, mà chương trình dự đoán rằng khách hàng này có thể sử dụng dịch vụ này, thì nhân viên Ngân hàng có thể giới thiệu dịch vụ này tới khách hàng, do đó tăng hiệu quả công việc đồng thời cũng giảm chi phí và tiết kiệm thời gian cho nhân viên của Ngân hàng.
Chuẩn bị tập dữ liệu khách hàng gồm 300 bản ghi khách hàng . Mỗi khách hàng trong tập các bản ghi khách hàng này đã biết trước là khách hàng sử dụng dịch vụ nào (do dữ liệu có sẵn của Ngân hàng). Lựa chọn phương án thực nghiệm là dự đoán khách hàng mới trên giao diện. Đưa vào các tham số đầu vào và thông tin khách hàng. Giả sử thông tin khách hàng mới được đưa ra để kiểm tra sự dự đoán như sau:
- Tên: Do Huu Tien (trường này không tham gia quá trình phân cụm).
- Kiểu khách hàng: Khách hàng cá nhân.
- Năm sinh: 1986.
- Giới tính: Nam.
- Tình trạng hôn nhân: Chưa kết hôn.
- Saving account: 9 000 000.
- Current account: 8 000 000.
- Thu nhập: 8 500 000.
Hình 4.8: Thực nghiệm theo phương án 3
Với cụm thứ hai kết quả thể hiện trên hình cho thấy cụm này có 60.91% khách hàng dung thẻ, 47.27% khách hàng dung dịch vụ Mobile Banking, và 71.82% khách hàng sử dụng dịch vụ Loan.
Kết quả của việc phân cụm được thể hiện ở trên hình vẽ. Khách hàng “Do Huu Tien” thuộc cụm thứ hai theo kết quả phân cụm trên.
Như vậy xác suất sử dụng dịch vụ Loan của khách hàng là cao nhất theo cách tính toán sử dụng thật toán này, tiếp theo đến khả năng sử dụng thẻ, và cuối cùng nằm dưới mức trung bình là khả năng sử dụng dịch vụ Mobile Banking. Do vậy, khi đến giới thiệu dịch vụ, khả năng thành công cao nhất là giới thiệu khách hàng sử dụng dịch vụ Loan.
Như vậy với hai phương pháp thực nghiệm đã được đưa ra trong luận văn này đã giải quyết được hai vấn đề: thứ nhất đã thực nghiệm được về độ chính xác cài đặt thuật
toán, cho thây việc cài đặt thuật toán là chính xác, tuy kết quả phân cụm cũng còn phụ thuộc vào một vài yếu tố khác, nhưng việc lựa chọn tham số ngưỡng hợp lý và thực hiện việc lặp nhiều lần đảm bảo cho việc phân cụm được chính xác. Thứ hai việc xây dựng thực nghiệm dự đoán hành vi khách hàng đã cho kết quả tương đối hợp lý theo như suy đoán của tác giả. Tính hợp lý của kết quả này mở ra hướng tiếp tục phát triển để hoàn thiện ứng dụng nhằm đạt được kết quả tốt hơn để có thể đưa vào sử dụng thực tế phục vụ nhu cầu của Ngân hàng.
KẾT LUẬN
Phân cụm tích lũy là một phương pháp hiện đại trong khai phá dữ liệu, mang lại hiệu quả cao và chính xác hơn so với việc chỉ áp dụng các phương pháp phân cụm truyền thống. Hơn nữa nó có tính linh hoạt cao và có thể phát hiện được mọi loại hình thù cụm. Do đó, rất phù hợp để áp dụng trong các ứng dụng khai phá dữ liệu có dữ liệu lớn và phức tạp như trong ngân hàng.
1. Luận văn đã thực hiện được kết quả sau
- Trình bày một cách tổng quát về kỹ thuật phân cụm dữ liệu. Trình bày một số thuật toán cơ bản dùng để phân cụm dữ liệu.
- Nghiên cứu và trình bày phương pháp phân cụm tích lũy dựa trên một số phương pháp truyền thống. Phương pháp phân cụm tích lũy dựa trên phương pháp k-means được khảo sát sâu nhằm áp dụng vào bài toán ứng dụng.
- Xây dựng bài toán khai phá thông tin khách hàng tại Ngân hàng, sử dụng phương pháp phân cụm tích lũy dựa trên k –means để giải quyết bài toán.
- Xây dựng và thực nghiệm ứng dụng xây dựng dựa trên thuật toán phân cụm tích lũy k-means, với đầu vào là tập khách hàng của Ngân hàng, và đầu ra là kết quả dự đoán. Một số kết quả quan trọng khác cũng đưa ra như độ chính xác của phương pháp phân cụm hành vi khách hàng.
2. Tuy nhiên do một số điều kiện khách quan nên việc nghiên cứu thuật toán mới chỉ dừng lại ở việc áp dụng cho một phạm vi hẹp khách hàng, chưa mở rộng việc phân cụm tích lũy dựa trên nhiều thuật toán phân cụm khác. Trong thời gian tới, hướng mở rộng này sẽ được khắc phục để có thể hoàn chỉnh ứng dụng để đưa vào sử dụng.
TÀI LIỆU THAM KHẢO Tiếng Anh
1. Jiawei Han and Micheline Kamber (2000) Data Mining: Concepts and Techniques, Simon Fraser University.
2. Mario A.T. Figueiredo, Anil K. Jain (2002), Unsupervised Learning of Finite Miture Models
3. Ana L. N. Fred, Anil K. Jain (2002). Data Clustering Using Evidence Accumulation,ICPR (4) 2002: 276-280.
4. Ana L. N. Fred (2001). Finding Consistent Clusters in Data Partitions. Multiple
Classifier Systems 2001: 309-318
5. Rạjanish Dass . Indian Institute of Management Ahmedabad (2009). DataMining in banking and finance
6. Daniel Ramage, Paul Heymann, Christopher D. Manning, Hector Garcia-Molina (2009). Clustering the tagged web, WSDM 2009: 54-63
7. Brian Kulis, Sugato Basu, Inderjit S. Dhillon, Raymond J. Mooney (2009). Semi- supervised graph clustering: a kernel approach, Machine Learning 74(1): 1-22 (2009) 8. Antonello Panuccio, Manuele Bicego, Vittorio Murino (2002). A Hidden Markov