Ngày nay, việc thấu hiểu và phục vụ khách hàng một cách tốt nhất không chỉ là một mục tiêu mà còn là một yếu tố quyết định thành công cho hầu hết các doanh nghiệp. Để đạt được điều này, việc phân loại khách hàng đã trở thành một phần không thể thiếu lĩnh vực tiếp thị và phân tích dữ liệu. Tuy nhiên, để phân loại khách hàng một cách hiệu quả, nhà quản trị cần áp dụng các phương pháp và thuật toán phù hợp. Một trong những thuật toán quan trọng và mạnh mẽ nhất được sử dụng trong việc phân loại khách hàng là thuật toán KMeans. Với sự phát triển nhanh chóng của khoa học dữ liệu và các công cụ phân tích dữ liệu, việc tận dụng nguồn dữ liệu khổng lồ từ hành vi mua hàng và nhân khẩu học của khách hàng đã trở nên dễ dàng hơn bao giờ hết. Chúng ta có khả năng áp dụng các thuật toán và mô hình để phân tích dữ liệu này và tạo ra sự thấu hiểu sâu hơn về khách hàng của mình. Trong bài tập lớn này, chúng ta sẽ khám phá chi tiết về thuật toán KMeans và cách áp dụng nó cho bài toán phân loại khách hàng. Chúng ta sẽ tìm hiểu cách sử dụng KMeans để xác định và phân loại khách hàng thành các nhóm dựa trên các đặc điểm, hành vi hoặc thuộc tính cụ thể. Bằng cách này, chúng ta có thể tối ưu hóa chiến lược tiếp thị, nâng cao trải nghiệm cá nhân của khách hàng và tránh lãng phí tài nguyên. Nội dung quyển báo cáo sẽ bao gồm các chương như sau:
Trang 11
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
···🙞🙞🙞🙞🙞···
ĐỒ ÁN CHUYÊN NGÀNH NGÀNH: KHOA HỌC MÁY TÍNH
ĐỀ TÀI: PHÂN NHÓM DỮ LIỆU KHÁCH HÀNG SỬ DỤNG
THUẬT TOÁN K-MEANS
GVHD : TS Nguyễn Mạnh Cường Sinh viên : Phạm Việt Anh - 2020605676
Nguyễn Trọng Thành - 2020603700
Hà Nội – 2023
Trang 22
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
···🙞🙞🙞🙞🙞···
ĐỒ ÁN CHUYÊN NGÀNH NGÀNH: KHOA HỌC MÁY TÍNH
ĐỀ TÀI: PHÂN NHÓM DỮ LIỆU KHÁCH HÀNG SỬ DỤNG
THUẬT TOÁN K-MEANS
GVHD : TS Nguyễn Mạnh Cường Sinh viên : Phạm Việt Anh - 2020605676
Nguyễn Trọng Thành - 2020603700
Hà Nội – 2023
Trang 3KẾ HOẠCH THỰC HIỆN TIỂU LUẬN, BÀI TẬP LỚN, ĐỒ ÁN
Tên Lớp: 20231IT6052002 Khóa: 15
Tên Nhóm: Nhóm 15
Tên chủ đề: Phân nhóm dữ liệu khách hàng sử dụng thuật toán K-means
Tuần Người thực hiện Nội dung công việc Kết quả đạt
được Phương pháp thực hiện
1 Cả nhóm Chọn đề tài nghiên cứu
và phân công công việc trong tuần tiếp theo
Xác định được đề tài nghiên cứu và chuẩn bị cho công việc tuần tới
Tổng hợp và đánh giá
2 Cả nhóm Tìm hiểu bài toán, thu
thập dữ liệu, tiền xử lý
dữ liệu, cài đạt môi trường
Đã hoàn thành các công việc đã được đạt ra
Sưu tầm dữ liệu, nghiên cứu tài liệu
và tổng hợp
3 Nguyễn Trọng Thành Hoàn thiện chương 1
của bài tập lớn
Đã hoàn thành viết chương 1 của bài tập lớn
Thực nhiệm và tổng hợp
4,5 Cả nhóm Tìm hiểu về các kỹ
thuật sử dụng trong bài toán và tìm hiểu chi tiết
kỹ thuật chính sử dụng trong bài toán
Hiểu rõ về các kỹ thuật hiện có và
kỹ thuật chính sẽ
sử dụng trong bài toán
Sưu tầm dữ liệu, nghiên cứu tài liệu
và tổng hợp
6 Phạm Việt Anh Hoàn thiện chương 2 Đã hoàn thành
viết báo cáo chương 2
Tổng hợp và thực nghiệm
7 Cả nhóm Viết code và chạy thử
chương trình demo
Hoàn thành được sản phầm demo
Thực Nghiệm
8 Cả nhóm Tổng hợp và đánh giá,
so sánh kết quả nhận được sản phẩm demo Hoàn thiện xây dựng chương trình
Hoàn thành chương trình mà bài toán đặt ra
Thực nghiệm, tổng hợp, đánh giá
9 Cả nhóm Hoàn thiện phần còn lại
của báo cáo bài tập lớp
Hoàn thành báo cáo bài tập lớp
Tổng hợp và thực nghiện
Ngày 3 Tháng 1 Năm 2024
XÁC NHẬN CỦA GIẢNG VIÊN
(Kí ghi rõ họ tên) Nguyễn Mạnh Cường
Trang 4BÁO CÁO HỌC TẬP CÁ NHÂN/NHÓM
Tên Lớp: 20231IT6052002 Khóa: 15
Tên Nhóm: Nhóm 15
Tên chủ đề: Phân nhóm dữ liệu khách hàng sử dụng thuật toán K-means
Tuần Người thực hiện Nội dung công việc Kết quả đạt được Kiến nghị với
giảng viên hướng dẫn
1 Cả nhóm Chọn đề tài nghiên
cứu và phân công công việc trong tuần tiếp theo
Xác định được đề tài nghiên cứu và chuẩn
bị cho công việc tuần tới
2 Cả nhóm Tìm hiểu bài toán,
thu thập dữ liệu, tiền
xử lý dữ liệu, cài đạt môi trường
Đã hoàn thành các công việc đã được đạt
thuật sử dụng trong bài toán và tìm hiểu chi tiết kỹ thuật chính
sử dụng trong bài toán
Hiểu rõ về các kỹ thuật hiện có và kỹ thuật chính sẽ sử dụng trong bài toán
6 Phạm Việt Anh Hoàn thiện chương 2 Đã hoàn thành viết
báo cáo chương 2
7 Cả nhóm Viết code và chạy thử
chương trình demo Hoàn thành được sản phầm demo
8 Cả nhóm Tổng hợp và đánh
giá, so sánh kết quả nhận được sản phẩm demo
Hoàn thiện xây dựng chương trình
Hoàn thành chương trình mà bài toán đặt
Trang 5LỜI CẢM ƠN
Trước khi báo cáo được trình bày, chúng em xin được gửi lời cảm ơn chân thành đến thầy Nguyễn Mạnh Cường - giảng viên khoa Công nghệ Thông tin, Trường Đại học Công nghiệp Hà Nội
Thầy đã hướng dẫn chúng em trong quá trình thực hiện bài tập lớn môn học Đồ án chuyên ngành với chủ đề “Phân nhóm dữ liệu khách hàng sử dụng thuật toán K-means” Thầy đã truyền đạt cho chúng em những kiến thức về môn học cũng như các kiến thức xoay quanh
Thầy cũng luôn sẵn sàng trả lời các thắc mắc của chúng em, hỗ trợ chúng em trong việc giải quyết các vấn đề phát sinh trong quá trình thực hiện bài tập lớn Nhờ có sự hướng dẫn và hỗ trợ tận tình của thầy, chúng em đã hiểu sâu hơn về quy trình kiểm thử phần mềm
và có thể áp dụng kiến thức đó vào thực tiễn trong tương lai
Chúng em xin chân thành cảm ơn thầy đã tận tình hướng dẫn và giúp đỡ chúng em trong quá trình học tập và hy vọng sẽ có cơ hội được học tập và nghiên cứu thêm từ thầy trong tương lai Chúng em hiểu rằng trong quá trình hoàn thành bài báo cáo môn học,
không tránh khỏi thiếu sót và chúng em sẵn sàng chấp nhận mọi góp ý, phản hồi từ thầy để hoàn thiện bài báo cáo của mình
Kính chúc thầy sức khỏe, hạnh phúc và thành công trong sự nghiệp truyền đạt kiến thức cho thế hệ trẻ!
Trang 6MỤC LỤC
LỜI CẢM ƠN 2
DANH MỤC HÌNH ẢNH 4
DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT 6
LỜI NÓI ĐẦU 7
CHƯƠNG I TỔNG QUAN VỀ ĐỀ TÀI 9
1.1 Tổng quan về học máy và phân cụm dữ liệu 9
1.2 Bài toán phân loại khách hàng 12
1.3 Phát biểu bài toán 17
1.4 Ứng dụng thực tế của bài toán 19
1.5 Khó khăn, thách thức của bài toán phân loại khách hàng 19
Kết luận chương 1 20
CHƯƠNG II CÁC KỸ THUẬT GIẢI QUYẾT BÀI TOÁN 21
2.1 Phương hướng tiếp cận bài toán 21
2.2 Một số kỹ thuật giải quyết bài toán 21
2.3 Hồi quy logistic (Logistic Regression) 22
2.4 Máy vector hỗ trợ (Support Vector Machines) 23
2.5 Cây quyết định (Decision Trees) 25
2.6 Random Forests và Gradient Boosting 26
2.7 Phân cụm (Clustering) 27
2.8 Phân tích chuỗi thời gian (Time Series Analysis) 29
2.9 Mạng nơ-ron sâu (Deep Neural Networks) 30
2.10 Phân loại dựa trên văn bản (Text Classification) 31
2.11 Phân tích cảm xúc (Sentiment Analysis) 32
2.12 Lựa chọn thuật toán 33
Kết luận chương 2 33
CHƯƠNG III: THỰC NGHIỆM 34
3.1 Dữ liệu thực nghiệm 34
3.2 Quy trình thực nghiệm 35
Tổng kết chương 3 50
Kết luận 52
TÀI LIỆU THAM KHẢO 54
Trang 7DANH MỤC HÌNH ẢNH
Hình 1.1: Tổng quan về học máy 9
Hình 1.2: Dữ liệu trong lĩnh vực học máy 10
Hình 1.3: Mô hình học máy 10
Hình 1.4: Các loại mô hình học máy 11
Hình 1.5: Mô hình hồi quy (Regression) 11
Hình 1.6: Phân cụm dữ liệu 12
Hình 1.7: Phân nhóm khách hàng 13
Hình 1.8: Các phương thức thu thập dữ liệu 14
Hình 1.9: Tiền xử lý dữ liệu 14
Hình 1.10: Thuật toán phân nhóm 15
Hình 1.11: Các thông số đánh giá hiueje suất của mô hình 16
Hình 1.12: Áp dụng mô hình để phân nhóm khách hàng 16
Hình 1.13: Một mẫu dữ liệu 17
Hình 1.14: Đầu ra của bài toán phân nhóm 18
Hình 2.1: Mô hình hồi quy (Regression) 22
Hình 2.2: Mô hình SVM 24
Hình 2.3: Mô hình cây quyết định 25
Hình 2.4: Mô hình Random Forests và Gradient Boosting 26
Hình 2.5: Mô hình phân cụm (Clustering) 28
Hình 2.6: Mô hình phân tích chuỗi thời gian (Time Series Analysis) 29
Hình 2.7: Mô hình mạng nơ-ron sâu (Deep Neural Networks) 30
Hình 2.8: Mô hình phân loại dựa trên văn bản (Text Classification) 31
Hình 2.9: Mô hình phân tích cảm xúc (Sentiment Analysis) 32
Hình 3.1: Đầu vào của bước tiền xử lý 35
Hình 3.2: Đầu ra của bước tiền xử lý 36
Hình 3.3: Kiểm tra dữ liệu khuyết 36
Hình 3.4: Kết quả kiểm tra dữ liệu khuyết 37
Hình 3.5: Số dữ liệu khuyết trong bộ dữ liệu 37
Hình 3.6: Xóa đi các hàng có chứa dữ liệu khuyết 37
Hình 3.7: Kiểm tra lại xem còn dữ liệu khuyết không 37
Hình 3.8: Thống kê dữ liệu 38
Hình 3.9: Bảng thống kê dữ liệu 38
Hình 3.10: Hàm hiển thị ma trận tương quan trên biểu đồ Heatmap 39
Hình 3.11: Biểu đồ heatmap biểu thị ma trận tương quan 40
Hình 3.12: Hàm vẽ biểu đồ Histogram 41
Hình 3.13: Biểu đồ histogram cho các thông số: Age, Annual Income và Spending Score 41
Hình 3.14: Hàm tạo biểu đồ tương quan giữa các thuộc tính 42
Hình 3.15: Biểu đồ tương quan giữa các thuộc tính 42
Hình 3 16: Hàm chọn cột giá trị cho thuật toán K-means 42
Hình 3.17: Giá trị của X 43
Hình 3.18: Tính chỉ số WCSS cho từng điểm dữ liệu 44
Hình 3.19: Hàm vẽ biểu đồ Elbow 44
Hình 3.20: Biểu đồ Elbow 45
Hình 3.21: Áp dụng thuật toán K-means 46
Trang 8Hình 3.22: Đầu ra sau khi áp dụng thuật toán K-means 46
Hình 3.23: File mới chứa kết quả sau khi chạy thuật toán được sinh ra 47
Hình 3.24: Trả về cột CustomerID và nhãn tương ứng 47
Hình 3.25: Hàm vẽ biểu đồ trực quan hóa kết quả 48
Hình 3.26: Biểu đồ hiển thị kết quả sau khi chạy K-means 49
Trang 9DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT
Ký hiệu và từ viết tắt Từ viết đầu đủ
NLP Natural Language Processing
SVM Support Vector Machines
DNN Deep Neural Network
WCCS Within-Cluster Sum of Squares
Trang 10LỜI NÓI ĐẦU
Ngày nay, việc thấu hiểu và phục vụ khách hàng một cách tốt nhất không chỉ là một mục tiêu mà còn là một yếu tố quyết định thành công cho hầu hết các doanh nghiệp Để đạt được điều này, việc phân loại khách hàng đã trở thành một phần không thể thiếu lĩnh vực tiếp thị và phân tích dữ liệu Tuy nhiên, để phân loại khách hàng một cách hiệu quả, nhà quản trị cần áp dụng các phương pháp và thuật toán phù hợp Một trong những thuật toán quan trọng và mạnh mẽ nhất được sử dụng trong việc phân loại khách hàng là thuật toán K-Means
Với sự phát triển nhanh chóng của khoa học dữ liệu và các công cụ phân tích dữ liệu, việc tận dụng nguồn dữ liệu khổng lồ từ hành vi mua hàng và nhân khẩu học của khách hàng đã trở nên dễ dàng hơn bao giờ hết Chúng ta có khả năng áp dụng các thuật toán và mô hình để phân tích dữ liệu này và tạo ra sự thấu hiểu sâu hơn về khách hàng của mình
Trong bài tập lớn này, chúng ta sẽ khám phá chi tiết về thuật toán K-Means và cách
áp dụng nó cho bài toán phân loại khách hàng Chúng ta sẽ tìm hiểu cách sử dụng K-Means
để xác định và phân loại khách hàng thành các nhóm dựa trên các đặc điểm, hành vi hoặc thuộc tính cụ thể Bằng cách này, chúng ta có thể tối ưu hóa chiến lược tiếp thị, nâng cao trải nghiệm cá nhân của khách hàng và tránh lãng phí tài nguyên
Nội dung quyển báo cáo sẽ bao gồm các chương như sau:
Chương 1: Tổng quan về đề tài
Trong chương 1, chúng em trình bày sơ qua về chuyên ngành học máy, các loại học máy, một số thuật toán phổ biến trong học máy và ứng dụng của nó trong thực tế Sau đó, chúng em trình bày về bài toán đã được đặt ra là phân loại khách hàng, ứng dụng của bài toán và các khó khăn, thách thức
Chương 2: Các kỹ thuật giải quyết bài toán
Sau khi đã phát biểu và xác định rõ ràng được yêu cầu của bài toán, chúng em trình bày các kỹ thuật giải quyết bài toán hiện có, ưu nhược điểm của chúng Từ đó, chúng em đưa ra giải pháp để xử lý bài toán đã được đặt ra
Chương 3: Thực nghiệm
Trong chương này, chúng em sẽ trình bày các bước để giải quyết bài toán, như là: tiền xử lý dữ liệu, phân tích mô tả dữ liệu và phần chương trình để xử lý bài toán
Trang 12CHƯƠNG I TỔNG QUAN VỀ ĐỀ TÀI
1.1 Tổng quan về học máy và phân cụm dữ liệu
Học máy (Machine Learning) là một lĩnh vực của trí tuệ nhân tạo (AI) mà nó tập trung vào việc phát triển các thuật toán và mô hình có khả năng học từ dữ liệu và cải thiện hiệu suất mà không cần phải được lập trình cụ thể cho mỗi nhiệm vụ Mục tiêu chính của học máy
là tạo ra các mô hình dự đoán hoặc quyết định một cách tự động thông qua việc tiếp cận và phân tích dữ liệu
Hình 1.1: Tổng quan về học máy
Một số khái niệm quan trọng trong lĩnh vực Học Máy
Dữ liệu: Là nguồn thông tin chính cho học máy Dữ liệu được sử dụng để huấn luyện mô hình và kiểm thử hiệu suất của nó
Trang 13Hình 1.2: Dữ liệu trong lĩnh vực học máy
Mô hình học máy: Là một hệ thống toán học được thiết kế để học từ dữ liệu Các
mô hình này có thể được sử dụng để dự đoán, phân loại hoặc nhận diện mẫu trong
dữ liệu mới
Hình 1.3: Mô hình học máy
Thuật toán học máy: Là các phương pháp toán học được áp dụng để huấn luyện
mô hình từ dữ liệu Các thuật toán này có thể thuộc loại học giám sát (supervised learning), học không giám sát (unsupervised learning), hoặc kết hợp cả hai
Trang 14Hình 1.4: Các loại mô hình học máy
Học giám sát (Supervised learning): Trong loại học này, mô hình được huấn luyện trên một tập dữ liệu có chứa các cặp đầu vào và đầu ra mong muốn
Học không giám sát (Unsupervised learning): Trái ngược với học giám sát, trong học không giám sát, mô hình phải học từ dữ liệu mà không có đầu ra mong muốn
Phân loại (Classification): Là một loại nhiệm vụ học máy trong đó mô hình được huấn luyện để dự đoán lớp hoặc nhãn của một đối tượng dựa trên đặc trưng của
Trang 15Phân cụm dữ liệu (clustering) là một phương pháp trong học máy và thống kê, nơi mà mục tiêu là chia dữ liệu thành các nhóm, cụm hoặc phân khúc dựa trên sự tương đồng giữa các điểm dữ liệu Mục đích chính của phân cụm là tìm ra cấu trúc ẩn trong dữ liệu mà không yêu cầu sự giám sát (không cần nhãn cho dữ liệu)
Hình 1.6: Phân cụm dữ liệu
Với mục tiêu là phân cụm dữ liệu giúp nhận biết và phân loại các nhóm tự nhiên trong
dữ liệu mà không cần biết trước thông tin về nhãn Điều này có thể giúp hiểu rõ hơn về cấu trúc của dữ liệu và tạo ra các nhóm có ý nghĩa Thuật toán đặc biệt phổ biến và hiệu quả khi phân chia dữ liệu thành các cụm dựa trên sự tương đồng giữa các điểm dữ liệu
1.2 Bài toán phân loại khách hàng
Bài toán phân loại khách hàng là một bài toán quan trọng trong lĩnh vực khai thác dữ liệu
và machine learning Mục tiêu của bài toán là xác định và phân loại khách hàng vào các nhóm dựa trên các đặc trưng và thông tin khách hàng có sẵn Điều này giúp các doanh nghiệp hiểu
rõ hơn về khách hàng của mình, tạo ra các chiến lược tiếp thị và dịch vụ phù hợp để tối ưu hóa kinh doanh
Trang 16Hình 1.7: Phân nhóm khách hàng
Ví dụ về quy trình phân loại khách hàng:
1 Thu thập dữ liệu: Thu thập các dữ liệu liên quan đến khách hàng, bao gồm thông tin cá nhân (tuổi, giới tính, địa chỉ, nghề nghiệp), hành vi mua hàng trước đây, thông tin giao dịch, tương tác với sản phẩm hoặc dịch vụ, phản hồi từ khách hàng,
vv
Trang 17Hình 1.8: Các phương thức thu thập dữ liệu
2 Chuẩn bị dữ liệu: Tiền xử lý dữ liệu bằng cách loại bỏ các dữ liệu thiếu, điều chỉnh định dạng dữ liệu và thực hiện các biến đổi cần thiết cho phân loại Đồng thời, chuyển đổi các đặc trưng phi số thành dạng số học nếu cần thiết
Hình 1.9: Tiền xử lý dữ liệu
Trang 183 Xây dựng mô hình phân loại: Chọn một thuật toán phân loại phù hợp như học máy, mạng neural, hoặc các thuật toán phân loại khác Sử dụng tập dữ liệu đã chuẩn bị
để huấn luyện mô hình phân loại, điều chỉnh các siêu tham số và đánh giá hiệu suất mô hình
Hình 1.10: Thuật toán phân nhóm
4 Đánh giá và tinh chỉnh: Đánh giá hiệu suất của mô hình sử dụng các phương pháp đánh giá như độ chính xác, độ phủ, F1-score Tinh chỉnh mô hình bằng cách thay đổi siêu tham số hoặc sử dụng kỹ thuật tối ưu hóa
Trang 19Hình 1.11: Các thông số đánh giá hiueje suất của mô hình
5 Áp dụng mô hình: Sử dụng mô hình đã huấn luyện để phân loại khách hàng mới dựa trên đặc trưng và thông tin có sẵn Cung cấp dự đoán về nhóm hoặc loại khách hàng mà khách hàng thuộc về
Hình 1.12: Áp dụng mô hình để phân nhóm khách hàng
Trang 206 Theo dõi và cải thiện: Theo dõi hiệu suất và phản hồi từ mô hình phân loại Đánh giá và cải thiện mô hình theo thời gian để đảm bảo tính chính xác và hiệu quả của quá trình phân loại khách hàng
Quá trình phân loại khách hàng có thể sử dụng nhiều phương pháp và thuật toán khác nhau tùy thuộc vào yêu cầu cụ thể của doanh nghiệp và dữ liệu có sẵn
1.3 Phát biểu bài toán
Đầu vào của bài toán: Một tập hợp các mẫu dữ liệu, mỗi mẫu dữ liệu thể hiện thông tin
về một khách hàng Thông tin này bao gồm các đặc trưng như là: giới tính, tuổi tác, thu nhập thường niên, mức độ chi tiêu của khách hàng hoặc dữ liệu vị trí địa lý
Hình 1.13: Một mẫu dữ liệu
Bằng cách kết hợp và phân tích các đặc trưng này, mô hình phân loại có thể học cách phân biệt giữa các loại khách hàng khác nhau Điều này có thể hỗ trợ các doanh nghiệp trong việc tùy chỉnh chiến lược tiếp thị, dịch vụ khách hàng, và quản lý mối quan hệ với khách hàng để tối ưu hóa trải nghiệm của họ
Đầu ra của bài toán: Đầu ra của bài toán là việc phân loại khách hàng thành các nhóm dựa trên sự tương đồng giữa các mẫu dữ liệu Mỗi khách hàng sẽ thuộc vào một nhóm cụ thể Điều này có nghĩa là chúng ta sẽ biết được rằng khách hàng nằm trong nhóm nào, giúp hiểu hơn về khách hàng của mình và phục vụ họ một cách tốt hơn Đầu ra có thể bao gồm:
Nhãn lớp: Mỗi khách hàng được gán một nhãn hoặc mã số để đại diện cho loại khách hàng tương ứng
Xác suất hoặc điểm số: Thay vì chỉ cung cấp một nhãn duy nhất, mô hình cũng có thể xuất ra xác suất hoặc điểm số cho mỗi khách hàng thuộc vào từng loại Điều
Trang 21này có thể hữu ích khi muốn đánh giá mức độ chắc chắn của mô hình về dự đoán của nó
Phân phối xác suất: Đối với bài toán phân loại có nhiều hơn hai nhóm, đầu ra có thể là một phân phối xác suất cho mỗi khách hàng trên tất cả các lớp
Mã số khách hàng: Đôi khi, thay vì chỉ là nhãn lớp, đầu ra có thể là một mã số duy nhất đại diện cho mỗi khách hàng Mã số này có thể tương ứng với một trong các phân khúc khách hàng cụ thể
Dự đoán khác
Hình 1.14: Đầu ra của bài toán phân nhóm
Kỳ vọng của bài toán: Kỳ vọng chính trong bài toán phân loại khách hàng là tạo ra các nhóm khách hàng có sự tương đồng dựa trên các đặc trưng cụ thể Các nhóm này không được xác định trước, mà được hình thành dựa trên sự gom nhóm tự động của thuật toán Kết quả của bài toán sẽ giúp hiểu rõ hơn về đặc điểm và hành vi của từng nhóm khách hàng, từ đó có thể thực hiện các chiến lược tiếp thị hoặc phục vụ tùy chỉnh để tối ưu hóa dịch vụ hoặc sản phẩm
Trang 221.4 Ứng dụng thực tế của bài toán
Bài toán phân loại khách hàng là một trong những ứng dụng thực tế phổ biến của khai phá dữ liệu và machine learning Việc hiểu rõ về khách hàng của một doanh nghiệp và khả năng tối ưu hóa dịch vụ hoặc sản phẩm dựa trên thông tin này có thể mang lại lợi ích lớn cho doanh nghiệp và khách hàng Dưới đây là một số ứng dụng mà bài toán này có thể làm được:
Tối ưu hóa chiến lược tiếp thị: Khi phân loại khách hàng thành các nhóm dựa trên các đặc trưng như hành vi mua sắm, sở thích sản phẩm, hoặc độ tuổi, có thể tùy chỉnh chiến lược tiếp thị của mình cho từng nhóm Điều này giúp tối ưu hóa các chiến dịch tiếp thị, giảm phí quảng cáo không cần thiết, và tăng hiệu suất tiếp thị
Cải thiện dịch vụ khách hàng: Bằng cách hiểu rõ hơn về nhu cầu và mong muốn của từng nhóm khách hàng, có thể cải thiện dịch vụ của mình Ví dụ, có thể cung cấp các sản phẩm hoặc ưu đãi tùy chỉnh cho từng nhóm, cải thiện trải nghiệm khách hàng, và tạo ra một môi trường kinh doanh thuận lợi hơn
Phát triển sản phẩm mới: Khi biết rằng có các nhóm khách hàng có nhu cầu cụ thể,
có thể phát triển sản phẩm hoặc dịch vụ mới dựa trên các nhu cầu này Điều này giúp mở rộng thị trường của mình và tạo ra cơ hội kinh doanh mới
Dự đoán hành vi tương lai: Sau khi phân loại khách hàng, có thể sử dụng dữ liệu lịch sử để dự đoán hành vi tương lai của từng nhóm Ví dụ, có thể dự đoán khi nào
họ có thể mua sắm tiếp theo hoặc nâng cấp dịch vụ
Chăm sóc khách hàng cá nhân hóa: Thông qua phân loại khách hàng, có thể tạo ra các chiến lược chăm sóc khách hàng cá nhân hóa Bằng cách cung cấp nội dung hoặc ưu đãi phù hợp với từng nhóm, có thể tăng tính tương tác và trung thực của khách hàng
1.5 Khó khăn, thách thức của bài toán phân loại khách hàng
Bài toán phân loại khách hàng là một phần quan trọng trong lĩnh vực tiếp thị và phục
vụ khách hàng Dưới đây là một số khó khăn và thách thức phổ biến mà có thể gặp khi thực hiện bài toán này:
Dữ liệu không đồng nhất: Dữ liệu về khách hàng có thể đến từ nhiều nguồn khác nhau và không đồng nhất về định dạng và cấu trúc Điều này có thể làm cho việc tổng hợp và xử lý dữ liệu trở nên khó khăn
Số lượng biến đổi: Có nhiều yếu tố có thể được sử dụng để phân loại khách hàng, bao gồm độ tuổi, giới tính, hành vi mua sắm, tương tác trực tuyến và nhiều yếu tố khác Quản lý và xử lý nhiều biến đổi có thể là một thách thức
Trang 23 Dữ liệu thiếu và nhiễu: Dữ liệu thường bị thiếu thông tin hoặc chứa nhiễu Việc xử
lý dữ liệu bị thiếu hoặc nhiễu có thể ảnh hưởng đến hiệu suất của mô hình phân loại
Lựa chọn mô hình: Chọn mô hình phù hợp cho bài toán phân loại khách hàng là một quyết định quan trọng Không có mô hình duy nhất phù hợp cho mọi tình huống, và việc chọn sai mô hình có thể ảnh hưởng đến hiệu suất của bài toán
Hiệu suất mô hình: Đánh giá và cải thiện hiệu suất của mô hình là một thách thức Cần sử dụng các phương pháp đánh giá chính xác và kỹ thuật tinh chỉnh mô hình
để đảm bảo mô hình hoạt động hiệu quả
Tính riêng tư và bảo mật: Bảo vệ thông tin cá nhân của khách hàng là một ưu tiên quan trọng Việc xử lý dữ liệu khách hàng mà không vi phạm quy định về bảo mật
và quyền riêng tư có thể là một thách thức
Đối tượng cụ thể: Một số thách thức có thể phụ thuộc vào loại hình kinh doanh và mục tiêu cụ thể của việc phân loại khách hàng Ví dụ, việc phân loại khách hàng trong ngành thực phẩm có thể khác với việc phân loại khách hàng trong lĩnh vực tài chính
Thay đổi trong thời gian: Hành vi và nhu cầu của khách hàng có thể thay đổi theo thời gian Việc duy trì mô hình phân loại khách hàng có khả năng thích nghi với
sự biến đổi này là một thách thức
Để vượt qua những khó khăn và thách thức này, quan trọng là có chiến lược rõ ràng, quản
lý dữ liệu cẩn thận, sử dụng công nghệ và mô hình phù hợp, và thường xuyên cập nhật và cải thiện quy trình phân loại khách hàng
Kết luận chương 1
Trong chương 1, chúng em đã nêu tổng quan về học máy và bài toán phân cụm dữ liệu
Từ đó chúng em phát biểu bài toán đã lựa chọn, ứng dụng thực tế cũng như khó khăn và thách thức của bài toán
Trang 24CHƯƠNG II CÁC KỸ THUẬT GIẢI QUYẾT BÀI TOÁN
2.1 Phương hướng tiếp cận bài toán
Quá trình giải quyết bài toán phân loại khách hàng thường bao gồm việc thu thập dữ liệu phù hợp, tiền xử lý dữ liệu, xây dựng mô hình và đánh giá hiệu suất của mô hình Sự lựa chọn của kỹ thuật phụ thuộc vào loại dữ liệu, mục tiêu cụ thể và nguồn lực có sẵn của doanh nghiệp
2.2 Một số kỹ thuật giải quyết bài toán
Hiện tại, có rất nhiều các kỹ thuật được tạo ra để giải bài toán phân loại khách hàng Dù hiệu năng của từng cách giải, từng thuật toán có thể chênh lệch nhưng nhìn chung, vẫn là đưa
ra lời giải một cách chính xác nhất có thể cho bài toán Hiện nay có rất nhiều các kỹ thuật để giải bài toán, dưới đây là những cách giải phổ biến và cơ bản nhất:
Nhóm học máy (Machine Learning)
Hồi quy logistic (Logistic Regression): Sử dụng để phân loại khách hàng thành hai hoặc nhiều lớp dựa trên các biến độc lập
Máy vector hỗ trợ (Support Vector Machines): Phân loại dữ liệu bằng cách xác định các ranh giới quyết định tối ưu giữa các lớp khách hàng
Cây quyết định (Decision Trees): Xây dựng cây quyết định để phân loại khách hàng dựa trên các quyết định tương ứng với các đặc điểm khách hàng
Random Forests và Gradient Boosting: Sử dụng các kỹ thuật tập hợp nhiều cây quyết định để cải thiện độ chính xác của phân loại
Nhóm khai phá dữ liệu (Data Mining)
Phân cụm (Clustering): Sử dụng để phân chia khách hàng thành các nhóm dựa trên sự tương tự về các đặc điểm hoặc hành vi
Phân tích chuỗi thời gian (Time Series Analysis): Được sử dụng khi muốn phân loại khách hàng dựa trên thời gian hoặc xu hướng thời gian
Nhóm học sâu (Deep Learning)
Trang 25 Mạng nơ-ron sâu (Deep Neural Networks): ác mạng nơ-ron sâu có khả năng học các biểu đồ phức tạp và có thể được sử dụng để phân loại khách hàng dựa trên dữ liệu lớn và phức tạp
Hình 2.1: Mô hình hồi quy (Regression)
Trang 26 Nhạy cảm với nhiễu: Nếu dữ liệu chứa nhiễu hoặc outliers, mô hình hồi quy logistic có thể bị ảnh hưởng đáng kể
Phụ thuộc vào việc lựa chọn đặc điểm (feature selection): Hiệu suất của hồi quy logistic phụ thuộc mạnh vào việc chọn ra các đặc điểm quan trọng từ
dữ liệu ban đầu
Không thể xử lý dữ liệu không cân bằng: Khi số lượng mẫu thuộc các lớp khác nhau rất chênh lệch, hồi quy logistic có thể không đưa ra dự đoán tốt cho lớp thiểu số
2.4 Máy vector hỗ trợ (Support Vector Machines)
2.4.1 Mô tả
SVM tìm cách tạo ra một siêu phẳng (hyperplane) trong không gian đặc điểm (feature space) sao cho nó chia tách các điểm dữ liệu thuộc về các lớp khách hàng một cách tối đa Được xác định bằng cách tối ưu hóa khoảng cách (margin) giữa nó và các điểm dữ liệu gần nhất của các lớp khách hàng
SVM có khả năng xử lý cả dữ liệu tuyến tính và phi tuyến tính bằng cách
sử dụng các hàm kernel để ánh xạ dữ liệu vào không gian cao chiều hơn
Trang 27 Khá kháng nhiễu và overfitting: SVM thường khá kháng với nhiễu dữ liệu
và có khả năng tránh việc overfitting
Khả năng điều chỉnh độ phức tạp: SVM cho phép điều chỉnh độ phức tạp của mô hình bằng cách thay đổi các siêu tham số như C (tham số điều chuẩn) và loại hàm kernel
2.4.3 Nhược điểm
Khó điều chỉnh tham số: SVM có nhiều tham số quan trọng như hệ số điều chuẩn và kernel function, và việc lựa chọn tham số phù hợp có thể đòi hỏi kiến thức và thử nghiệm cẩn thận
Trang 28 Yêu cầu dữ liệu tách biệt tốt: SVM hoạt động tốt khi dữ liệu hai lớp là tách biệt tốt và không gây chồng lấn nhiều Trong trường hợp dữ liệu gần nhau quá, SVM có thể không hoạt động hiệu quả
Tốn thời gian huấn luyện với dữ liệu lớn: SVM có thể tốn thời gian đáng kể khi áp dụng trên tập dữ liệu lớn
2.5 Cây quyết định (Decision Trees)
Khả năng xử lý dữ liệu có tính không đồng nhất: Cây quyết định có khả năng xử lý dữ liệu không đồng nhất và dữ liệu có giá trị bị thiếu