Tải bản đầy đủ (.pdf) (56 trang)

PHÂN LOẠI HÀNH VI MUA SẮM CỦA KHÁCH HÀNG BẰNG MÔ HÌNH SVM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.98 MB, 56 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
···🙞🙜🕮🙞🙜···

ĐỒ ÁN CHUYÊN NGÀNH
NGÀNH: KHOA HỌC MÁY TÍNH
ĐỀ TÀI: PHÂN LOẠI HÀNH VI MUA SẮM CỦA KHÁCH HÀNG BẰNG MƠ
HÌNH SVM

GVHD

:

TS. Nguyễn Mạnh Cường

Sinh viên

:

Nguyễn Sơn Tùng - 2020604853
Nguyễn Duy Việt – 2020606223
Nguyễn Quang Thiện - 2020604945

Mã lớp

:

20231IT6052002

Hà Nội – 2023


1


MỤC LỤC
DANH MỤC HÌNH ẢNH ........................................................................................................ 3
LỜI NĨI ĐẦU .......................................................................................................................... 5
LỜI CẢM ƠN ........................................................................................................................... 7
CHƯƠNG I. Giới thiệu bài toán ............................................................................................... 8
1.1

Tổng quan về khai phá dữ liệu .................................................................................... 8

1.1.1 Khái niệm về khai phá dữ liệu: .............................................................................. 8
1.1.2

Các phương pháp trong khai phá dữ liệu: ............................................................ 8

1.2 Bài toán phân loại hành vi mua sắm của khách hàng ..................................................... 9
1.2.1 Bài toán .................................................................................................................... 9
1.2.2 Giải quyết bài toán ................................................................................................... 9
1.2.3 Các phương pháp chuẩn hóa dữ liệu ...................................................................... 10
1.2.4 Chuẩn hóa dữ liệu .................................................................................................. 13
1.3 Đầu vào, đầu ra và kỳ vọng của bài toán ...................................................................... 16
1.4 Ứng dụng thực tế của bài tốn ...................................................................................... 18
1.5 Khó khăn, thách thức của bài toán phân loại hành vi mua sắm khách hàng ................ 19
CHƯƠNG II. Một số kỹ thuật được sử dụng ......................................................................... 21
2.1 Tiền xử lý dữ liệu .......................................................................................................... 21
2.1.1 Data cleaning ......................................................................................................... 21
2.1.2 Label Encoding ...................................................................................................... 24
2.1.3 One – Hot Encoding .............................................................................................. 25

2.2 PCA - Principal Component Analysis .......................................................................... 27
2.3 Các kỹ thuật phân nhóm phân cụm ............................................................................... 31
2.3.1 K – means .............................................................................................................. 31
2.3.2 SVM - Support Vector Machine ............................................................................ 32
CHƯƠNG III: THỰC NGHIỆM ............................................................................................ 35
3.1 Dữ liệu thực nghiệm ..................................................................................................... 35
3.2 Khai phá và trực quan hóa dữ liệu ................................................................................ 36
3.2.1 Khai phá dữ liệu ..................................................................................................... 36
3.2.2 Trực quan hóa dữ liệu ............................................................................................ 38
3.3 Sử dụng các mơ hình phân lớp, phân cụm .................................................................... 43

1


3.3.1 K means clustering................................................................................................. 43
3.3.2 Phân lớp các cụm bằng Support Vector Machine .................................................. 49
3.3.3 Các kết quả thực nghiệm........................................................................................ 51
KẾT LUẬN ............................................................................................................................. 53
Tài liệu tham khảo .................................................................................................................. 55

2


DANH MỤC HÌNH ẢNH

Hình 1.1: Min-max scaling ..................................................................................................... 10
Hình 1.2: Standardization - Z-Score ....................................................................................... 11
Hình 1.3: Max abs scaling ...................................................................................................... 13
Hình 2.1: Sử dụng Pandas ....................................................................................................... 23
Hình 2.2: Sử dụng one – hot coding ....................................................................................... 26

Hình 2.3: Ma trận hiệp phương sai ......................................................................................... 28
Hình 2.4: Tìm giá trị riêng ...................................................................................................... 28
Hình 2.5: Tìm vector riêng...................................................................................................... 29
Hình 3.1: Bộ dữ liệ .................................................................................................................. 35
Hình 3.2: Đọc dữ liêu.............................................................................................................. 36
Hình 3.3: Bảng mơ tả thuộc tính ............................................................................................. 37
Hình 3.4: Kiểm tra các thuộc tính có null ............................................................................... 37
Hình 3.5: Vẽ biểu đồ histogram .............................................................................................. 38
Hình 3.6: Biểu đồ histogram ................................................................................................... 39
Hình 3.7: Biểu dồ bar chart ..................................................................................................... 39
Hình 3.8: code biểu diễn biểu đồ tương quan ......................................................................... 40
Hình 3.9: Biểu đồ tương quan 1 (Heatmap) ........................................................................... 40
Hình 3.10: Biểu đồ tương quan 2 (Heatmap) ......................................................................... 41
Hình 3.11: Code trực quan hóa dữ liệu với biểu đồ scatter .................................................... 41
Hình 3.12: Biểu đồ scatter ...................................................................................................... 42
Hình 3.13: Code Annual Income và Spending Score ............................................................. 42
Hình 3.14: Biểu đồ Annual Income và Spending Score ......................................................... 42
Hình 3.15: Kiểm tra độ tương quan của dữ liệu ..................................................................... 43
Hình 3.16: Chuẩn hóa và đưa dữ liệu vào mơ hình k-means.................................................. 45
Hình 3.17: Thử với 2 cụm và kiểm tra .................................................................................... 45
Hình 3.18: Giải thích và trực quan hóa các cụm .................................................................... 47
Hình 3.19: Cluster 0 ................................................................................................................ 48
Hình 3.20: Cluster 1 ................................................................................................................ 49
Hình 3.21: Code phân lớp ....................................................................................................... 49
Hình 3.22: tạo train và tập test ................................................................................................ 50
Hình 3.23: kiểm tra bằng Dumny classifier ............................................................................ 50
Hình 3.24: Kiểm tra tính chính xác của Logistic Regression ................................................. 50
Hình 3.25: Sử dụng Linear Support Vector Machine ............................................................. 51
Hình 3.26: Kiểm tra sử dụng Kernel có cải thiện độ chính xác hay khơng ............................ 51
Hình 3.27: sử dụng Dummy Classification ............................................................................ 51

Hình 3.28: sử dụng Logistic Regression ................................................................................. 52
Hình 3.29: sử dụng Linear Support Vector Machine.............................................................. 52

3


Hình 3.30: sử dụng thủ thuật kernel........................................................................................ 52

4


LỜI NĨI ĐẦU
Trong lĩnh vực kinh doanh thời đại cơng nghệ tiên tiến, các doanh nghiệp luôn
hướng đến cách làm sao để đạt được sự hài lòng cao của khách hàng, đạt được chỉ số
doanh thu, lợi nhuận cao, từ đó, quyết định được sự thành cơng của doanh nghiệp. Để
đạt được những điều như thế, một việc làm mà các doanh nghiệp khơng thể thiếu đó
chính là: Từ những dữ liệu đã thu thập được, doanh nghiệp phải đưa ra được những
phân tích, phân loại về hành vi mua hàng của các khách hàng, để có thể đưa ra được
những phương pháp tối ưu, để có thể làm hài lịng khách mua hàng cũng như tối đa hố
được doanh thu và lợi nhuận của cơng ty.
Và chính thế, đã có một bài tốn được đặt ra cho phía doanh nghiệp, chính là:
Dựa trên các hành vi mua hàng của khách hàng trước đó, phân loại ra được các hành vi
mua sắm của khách hàng. Để giải quyết một bài tốn có dữ liệu lớn như vậy, chúng ta
khơng thể khơng áp dụng những thuật tốn, phương pháp học máy vào trong việc xử lý
dữ liệu. Và một trong những mơ hình thuật tốn hiệu quả để làm được việc đó chính là:
Mơ hình SVM (Support Vector Machine).
Cùng với sự phát triển của ngành khoa học dữ liệu và các cơng cụ phân tích dữ
liệu lớn, các doanh nghiệp đã có thể giải quyết, sử dụng triệt để được nguồn dữ liệu
khổng lồ đã thu thập được từ hành vi mua sắm của khách hàng dễ hơn bao giờ hết. Từ
đó, các doanh nghiệp có thể áp dụng các mơ hình để phân tích dữ liệu, tạo ra sự thấu

hiểu hơn với người mua sắm của mình.
Vậy, trong quyển Đồ án chuyên ngành này, với để tài chính là: PHÂN LOẠI
HÀNH VI MUA HÀNG CỦA KHÁCH HÀNG BẰNG MƠ HÌNH SVM. Sẽ khám phá
và làm rõ chi tiết cách áp dụng mơ hình thuật tốn SVM để phân loại hành vi mua sắm
của khách hàng dựa trên các thuộc tính, đặc điểm cụ thể.
Mục đích nghiên cứu: Tìm hiểu thuật toán và ứng dụng.

5


Phạm vi: Thử nghiệm trên bộ data Consumer Behavior
Đối tượng nghiên cứu: Mơ hình SVM và bộ dataset Consumer Behavior
Nội dung nghiên cứu: Sử dụng kỹ thuật phân tích dữ liệu với mơ hình SVM, sử
dụng bộ dữ liệu vào thử nghiệm và đánh giá.
Bài báo cáo này được chia thành 4 phần cụ thể:
Phần 1: Giới thiệu bài toán.
Phần 2: Tìm hiểu kỹ thuật, mơ hình và áp dụng vào bài toán.
Phần 3: Thực nghiệm và kết quả thực nghiệm.
Phần 4: Tổng kết.
Đồ án này sẽ giúp mọi người hiểu rõ hơn về mơ hình SVM, các hạn chế của nó
và cũng như cách sử dụng nó trong việc phân loại hành vi mua sắm của khách hàng, để
rồi chúng ta có thể áp dụng kiến thức này vào thế giới thực tế trong mảng kinh doanh
và tiếp thị.

6


LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép chúng em được gửi
lời cảm ơn đến quý thầy cô của trường Đại Học Công Nghiệp Hà Nội đã tạo cho em

môi trường học tập tốt để em có thể bổ sung các kiến thức mà bản thân còn thiếu trước
khi tham gia vào các dự án lớn nhỏ. Và em đặc biệt gửi lời cảm ơn chân thành nhất tới
thầy giáo Tiến Sĩ Nguyễn Mạnh Cường – người đã tận tâm hướng dẫn chúng em qua
từng buổi nói chuyện trong và ngồi buổi học để giải đáp các vướng mắc trong đề tài
mà chúng em thực hiện.
Trong quá trình làm đồ án, cũng như là trong q trình làm báo cáo, khó tránh
khỏi được sai sót. Em rất mong nhận được ý kiến đóng góp của thầy để học tập thêm
được kinh nghiệm để hoàn thành tốt hơn các bài báo cáo sau này.
Chúng em xin chúc thầy luôn dồi dào sức khỏe, luôn vui vẻ và thành công trong
những nghiên cứu sắp tới của thầy.
Chúng em xin trân trọng cảm ơn!
Nhóm sinh viên thực hiện
Nguyễn Quang Thiện
Nguyễn Sơn Tùng
Nguyễn Duy Việt

7


CHƯƠNG I. Giới thiệu bài toán
1.1 Tổng quan về khai phá dữ liệu
1.1.1 Khái niệm về khai phá dữ liệu:
Khai phá dữ liệu là quá trình tự động hoặc bán tự động phân tích dữ liệu lớn để
khám phá thơng tin ẩn, mơ hình, mẫu và mối quan hệ tiềm ẩn trong dữ liệu. Mục
tiêu của khai phá dữ liệu là tìm ra tri thức, thơng tin hữu ích và giá trị từ các nguồn
phức tạp.
Quá trình này thường bao gồm sự kết hợp của các phương pháp học máy, thống
kê, trí tuệ nhân tạo và các kỹ thuật khác để có thể:
Tìm kiếm mẫu và cấu trúc: Từ dữ liệu lớn, phân tích nó để tìm ra các mẫu, cấu
trúc hoặc điểm quan trọng trong dữ liệu, giúp hiểu rõ hơn về bộ dữ liệu và mối quan

hệ giữa các yếu tố
Dự đốn và phân loại: Xây dựng mơ hình để dự đốn hoặc phân loại dữ liệu trong
tương lai dựa trên những gì đã học được từ các dữ liệu đã có.
Phát hiện thơng tin ẩn: Tìm kiếm thông tin, xu hướng hoặc mối quan hệ mà không
thể dễ dàng nhận biết từ bên ngoài dữ liệu.
Tối ưu hóa q trình: Áp dụng tri thức từ dữ liệu để tối ưu hóa các quy trình, từ
quản lý tồn kho đến marketing và dự đốn kì vọng của khách hàng.

1.1.2 Các phương pháp trong khai phá dữ liệu:
Phân cụm (Clustering): Từ dữ liệu cho trước, nhóm cácdữ liệu giống nhau
thành 1 cụm để phân loại.
Phân tích chuỗi thời gian (Time Series Analysis): Phân tích dữ liệu theo
thời gian để để dữ đoán xu hướng của tương lai.

8


Học máy (Machine learning): Sử dụng các mơ hình máy học để dự đốn
hoặc phân loại dữ liệu.
Phân tích văn bản (Text Analysis): Phân tích và rút trích thơng tin từ các
dữ liệu kiểu văn bản (TEXT).
Khai phá đồ thị (Graph mining): Phân tích các mỗi quan hệ giữa các yếu
tố trong dữ liệu được biểu diễn dưới dạng đồ thị.

1.2 Bài toán phân loại hành vi mua sắm của khách hàng
1.2.1 Bài toán
Bài toán phân loại hành vi mua sắm của khách hàng là một phần quan trọng của
lĩnh vực tiếp thị và phân tích dữ liệu. Mục tiêu của bài toán này là xác định các đặc
điểm hoặc nhóm đặc điểm dựa trên dữ liệu khách hàng để hiểu hành vi mua sắm
của họ. Dựa trên thông tin này, bạn có thể tối ưu hóa chiến lược tiếp thị, tùy chỉnh

trải nghiệm của khách hàng, và nâng cao hiệu suất kinh doanh.

1.2.2 Giải quyết bài toán
Để giải quyết bài tốn, ta có các phương pháp sau:
Thu thập dữ liệu: Để có thể phân loại hành vi mua sắm của khách hàng, ta
cần phải có nguồn dữ liệu đủ lớn để làm điều đó. Các dữ liệu có thể thu thập được
từ các nguồn khác nhau các giao dịch từ các của hàng tiện lợi, các siêu thị lớn nhỏ
để thu được các thông tin cần thiết như: Lịch sử mua hàng, số lượng hàng hóa, giá
trị hóa đơn, thời gian mua hàng, loại sản phẩm, cũng như các thông tin đăng ký từ
khách hàng như độ tuổi, giới tính, sở thích hay số điện thoại cùng nhiều các dữ liệu
khác nhau để có thể thực hiện phân tích đầy đủ các hành vi mua hàng của nhiều
khách hàng khác nhau.

9


Tiền xử lý dữ liệu: Các nguồn dữ liệu hiện nay rất đa dạng, phong phú, có
thể tiếp cận một cách dễ dàng thông qua báo mạng, internet nhưng chúng thường
chưa đưa về các dạng mà bài toán hay thuật tốn để có thể sử dụng các dữ liệu đó.
Do đó, khi thu thập các nguồn dữ liệu lớn, trước khi sử dụng phải tiền xử lý, chuẩn
hóa nó để phù hợp với bài toán, thuật toán ta đang sử dụng.

1.2.3 Các phương pháp chuẩn hóa dữ liệu
Chuẩn hóa Min-Max (Min-Max Scaling): Trên các dữ liệu kiểu số như
kiểu số học, dữ liệu liên tục hoặc rời rạc biểu thị các giá trị số (như tuổi, năm, doanh
số bán hàng …) để biến đổi dữ liệu đó cho các giá trị nằm trong một phạm vi cố
định. Trong các bài tốn, min-max scaling thường chuẩn hóa dữ liệu về dạng 0 đến
1 hoặc từ 1 đến -1 với công thức của nó là:

Hình 1.1: Min-max scaling


Min-max scaling thường được sử dụng trong các trường hợp:
Cần đưa về phạm vi cụ thể: Đôi khi, muốn đưa giá trị dữ liệu về một phạm
vi nhất định như 0 đến 1 hoặc -1 đến 1, Min-max scaling là một trong nhiều cách
chuẩn hóa dữ liệu phổ biến.

10


Mơ hình hóa dựa trên khoảng giá trị cụ thể: Một số mơ hình hoặc có
thuật tốn u cầu hoặc hoạt động hiệu quả hơn khi dữ liệu được đưa về phạm vi
nhất dịnh.
Khơng có giá trị ngoại lai lớn: Min-max scaling có thể bị ảnh hưởng nếu
dữ liệu có giá trị ngoại lai lớn, vì nó có thể làm mất đi sự phân phối của dữ liệu.
Dữ liệu không có giá trị âm q lớn: Vì min-max Scaling chuyển đổi dữ
liệu về phạm vi từ 0 đến 1, nó khơng phù hợp nếu dữ liệu có chứa dữ liệu âm quá
lớn.
Chuẩn hóa Z-scores (Standardization - Z-Score): Tương tự với min-max
scaling, Z-scores cũng dùng để chuẩn hóa các dạng kiểu số. Nhưng với z-scores sẽ
biến đổi dữ liệu. làm sao cho các giá trị trung bình bằng 0 và độ lệch chuẩn bằng 1.
Để biến đổi dữ liệu, z-cores sử dụng cơng thực sau:

Hình 1.2: Standardization - Z-Score

11


Khi chuẩn hóa dữ liệu bằng Standardization – Z-scores, ta có một số điểm
quan trong:
Trung bình bằng 0: Chuẩn hóa z-scores biến đối dữ liệu sao cho giá trị trung

bình của tập dữ liệu bằng 0
Độ lệch chuẩn bằng 1: Chuẩn hóa z-scores cũng giữ cho độ lệch chuẩn của
dữ liệu bằng 1, giúp dữ liệu trở lên dễ dàng để so sánh và dễ hiểu hơn.
Phù hợp với phân phối chuẩn: Chuẩn hóa z-scores giả định rằng dữ liệu tuân
theo phân phối chuẩn. Tuy nhiên, nó vẫn có thể sử dụng dữ liệu không tuân theo.
Phân phối chuẩn một cách hiệu quả, đặc biệt là khi khơng có giá trị ngoại lai lớn.
Khơng giới hạn phạm vi: Chuần hóa Z-scores sẽ khơng giới hạn phạm vi dữ
liệu. có thể có các giá trị z-scores lớn hoặc nhỏ vơ hạn tùy theo dữ liệu gốc.
Z-scores thường được sử dụng nhiều trong các mơ hình học máy, đặc biệt các
kĩ thuật, thuật tốn u cầu dữ liệu được chuẩn hóa để hoạt động hiệu quả. Tuy
nhiên, cũng cần lưu ý rằng việc áp dụng chuẩn hóa z-scores cần phải cân nhắc với
từng tình huống cụ thể của dữ liệu
Chuẩn hóa Max Abs (Max Abs Scaling): Max Abs scaling là một phương
pháp chuẩn hóa dữ liệu thường được sử dụng để đưa các giá trị trong tập dữ liệu về
một phạm vi cụ thể, thường là từ -1 đến 1, dựa trên giá trị tuyệt đối lớn của mỗi
feature.
Để thực hiện chuẩn hóa dữ liệu bằng Max Abs scaing, ta có cơng thức:

12


Hình 1.3: Max abs scaling

Trong cơng thức trên, x là giá trị điểm giá trị. Max(x) là giá trị tuyệt đối lớn
nhất trong feature đó.
Max abs scaling thường được ưa chuộng trong các trường hợp:
Dữ liệu khơng có giá trị âm quá lớn: vì phép chia cho giá trị tuyệt đối lớn
nhất, nếu có giá trị âm quá lớn, việc chuẩn hóa có thể làm mất thơng tin.
Dữ liệu khơng có giá trị ngoại lai lớn: Tương tự min-max scaling, nếu có giá
trị ngoại lai quá lớn, việc chuẩn hóa này có thể làm mất đi sự phân phối của dữ liệu.

Cần đưa về giá trị về phạm cụ thể: Nếu cần đưa dữ liệu về một phạm vi cụ
thể, như -1 đến 0 hoặc 0 đến 1, max abs scaling có thể thực hiện điều này.
Việc sử dụng Max abs scaling cũng đòi hỏi sự cân nhắc cẩn thận, đặc biệt là
khi dữ liệu chứa giá trị ngoại lai lớn hoặc giá trị phân phối không đồng đều.

1.2.4 Chuẩn hóa dữ liệu
Ở phần trên là một vài ví dụ về chuẩn hóa dữ liệu. Để chuẩn hóa dữ liệu, ta
có rất nhiều phương pháp khác nhau. Do đó, phụ thuộc vào dữ liệu đã cho, yêu cầu
của bài toán, thuật tốn mà ta có thể lựa chọn các cách khác nhau để có thể chuẩn
hóa dữ liệu.
Chọn mơ hình phân loại: Có nhiều loại mơ hình có thể được áp dụng vào bài
tốn hành vi phân loại. Mỗi mơ hình sẽ có ưu và nhược điểm riêng. Do đóm, việc

13


chọn mơ hình cho bài tốn phân loại khách hàng địi hỏi sự cân nhắc và thử nghiệm
để có thể đưa ra mơ hình phù hợp cho bộ dữ liệu và thuật tốn.
Bài tốn phân loại thơng thường sẽ sử dụng các mơ hình như:
Logistic Regression: Phù hợp cho bài tốn phân loại nhị phân. Dễ hiểu, ít
phức tạp, cần ít tài nguyên tính toán. Thích hợp khi muốn hiểu các tác động của mỗi
biến độc lập đến xác suất xảy ra của sự kiện mua hàng.
Decision Trees và Random Forests: Tạo ra các quyết định dựa trên một
loại các luật quyết định hoặc cây quyết định. Random Forests là một tập hợp của
nhiều Decision Trees, giúp giảm overfitting và cải thiện hiệu suất.
Support Vecter Machines (SVM): phân loại bằng cách tạo ra một ranh giới
quyết định tốt nhất trong nhóm dữ liệu. Hiệu quả khi có một ranh giới rõ ràng giữa
các nhóm khách hàng.
K-Nearest Neighbors (KNN): Phân loại dựa trên khoảng cách với các điểm
dữ liệu lân cận nhất. Dễ triển khai nhưng có thể khơng phù hợp với nhiều loại dữ

liệu lớn.
Clustering Algorithms (K-means, Hirachical Clustering): Các thuật toán
này phân loại khách hàng dựa trên các điểm tương đồng. Thích hợp để tìm ra cấu
trúc ẩn trong dữ liệu mà không cần đến thông tin nhãn.
Neural Networks: Mạng nơ-ron có khả năng học cấu trúc phức tạp của dữ
liệu. Hiệu quả trong việc xử lý dữ liệu lớn và phức tạp, nhưng địi hỏi tài ngun
tính tốn và dữ liệu lớn để huấn luyện.
Gradient Boosting (XGBoost, LightGBM): là một loại các thuật toán cải
thiện từ Decision Trees, tạo ra mơ hình mạnh mẽ và có hiệu suất cao trên các tập
dữ liệu lớn.

14


Dựa trên đặc điểm của dữ liệu, thông qua các thử nghiệm, đánh giá và yêu cầu
bài toán để tối ưu hóa hiệu suất của các mơ hình từ đó rút ra được mơ hình phù hợp
và có hiểu quả nhất đối với bài tốn.
Đánh giá và tinh chỉnh mơ hình:
Đánh giá và tinh chỉnh mơ hình phân loại là q trình quan trọng để đảm
bảo rằng mơ hình có hoạt động tốt trên dữ liệu thực tế hay không. Để thực hiện điều
đó ta sẽ thường sử dụng các bước sau:
Đánh giá mơ hình:
Phân chia dữ liệu: Chia dữ liệu thành tập huấn luyện và tập kiểm tra (Train/
Test split) hoặc sử dụng kỹ thuật Cross – validation.
Lựa chọn các phương pháp đánh giá: Sử dụng các phương pháp đánh giá
phù hợp như accuracy, precision, F1-score, ROC – AUC (Area Under the Receiver
Operating Characteristic Curve) để đánh giá hiệu suất của mơ hình.
Hiệu suất của mơ hình: Xác định mơ hình nào hoạt động tốt nhất dựa trên
các tiêu chí đánh giá. Ví dụ, nếu cần độ chính xác cao nhất, ta có thể chọn những
bộ mơ hình có accuracy lớn nhất.

Tinh chỉnh mơ hình:
Thử nghiệm các tham số: Đối với các loại mơ hình, có thể có các tham số có
thể điều chỉnh để cải thiện hiệu suất. Sử dụng Grid Search hoặc Random Search để
thử nghiệm các giá trị tham số khác nhau.
Tinh chỉnh thông qua Cross – Validation: Sử dụng kỹ thuật cross – validation
để tinh chỉnh tham số trên tập huấn luyện và đánh giá hiệu suất kiểm tra.

15


Sử dụng Esemble hoặc Stacking: Kết hợp nhiều mơ hình lại với nhau
(Esemble) hoặc sử dụng mơ hình meta để kết hợp nhiều loại mơ hình phân loại khác
nhau (Stacking) để cái thiện hiệu suất dự đoán.
Kiểm tra Overfitting và Underfiting: Đảm bảo răng mơ hình khơng q khớp
dữ liệu huấn luyện (Overfiting) hoặc không đủ linh hoạt để dự đoán trên dữ liệu
mới (Underfiting). Điều chỉnh tham số để cân bằng giữa hai vấn đề này.
Đánh giá lại mô hình tinh chỉnh: Sau khi thực hiện tinh chỉnh, đánh giá mơ
hình trên tập kiểm tra để đảm bảo mơ hình được cải thiện.
Việc tinh chỉnh mơ hình là một quá trình lặp lại, yêu cầu thử nghiệm, điều
chỉnh tham số và đánh giá liên tục để tìm ra mơ hình tốt nhất cho bài tốn phân loại.

1.3 Đầu vào, đầu ra và kỳ vọng của bài toán
Đầu vào (Inputs):
- Dữ liệu khách hàng: Dữ liệu về khách hàng bao gồm thơng tin như tuổi, giới
tính, địa chỉ, lịch sử mua sắm trước đây, loại sản phẩm mà họ đã mua, thời gian
mua sắm, vị trí mua sắm (trong cửa hàng hoặc trực tuyến), tần suất mua sắm,
và các thông tin liên quan khác.
- Dữ liệu sản phẩm/dịch vụ: Thông tin về các sản phẩm hoặc dịch vụ mà khách
hàng đã mua hoặc đã xem xét, bao gồm loại sản phẩm, giá cả, chất lượng, đánh
giá, và các đặc điểm khác liên quan đến sản phẩm hoặc dịch vụ.

- Dữ liệu thời gian: Thời gian mua sắm, thời gian truy cập trang web hoặc cửa
hàng, và các yếu tố thời gian khác có thể quan trọng để phân tích hành vi mua
sắm.
- Dữ liệu khác: Các yếu tố khác có thể ảnh hưởng đến hành vi mua sắm của
khách hàng như sự kiện đặc biệt, chiến dịch tiếp thị, v.v.

16


Đầu ra (Outputs):
- Phân loại hành vi khách hàng: Đây là kết quả chính của bài tốn. Dựa trên thơng
tin đầu vào, mơ hình phân loại sẽ đưa ra các phân loại khác nhau về hành vi
mua sắm của khách hàng. Ví dụ: có thể phân thành các nhóm như "khách hàng
trung thành," "khách hàng mới," "khách hàng tiềm năng," hoặc "khách hàng
khơng trung thành."
- Xác suất dự đốn: Ngồi việc phân loại, mơ hình cũng có thể đưa ra xác suất
rằng một khách hàng thuộc vào từng phân loại. Điều này có thể giúp trong việc
đưa ra quyết định dựa trên mức độ chắc chắn của dự đoán.

Kỳ vọng (Expectations):
- Tối ưu hóa chiến lược tiếp thị: Kỳ vọng chính của bài tốn này là giúp doanh
nghiệp hiểu rõ hơn về hành vi mua sắm của khách hàng và từ đó tối ưu hóa
chiến lược tiếp thị. Điều này bao gồm việc tăng cường việc tùy chỉnh thông điệp
tiếp thị, sản phẩm, hoặc dịch vụ dựa trên nhu cầu và mong muốn của từng nhóm
khách hàng.
- Tăng cường trải nghiệm khách hàng: Mục tiêu khác là nâng cao trải nghiệm của
khách hàng bằng cách cung cấp cho họ các sản phẩm hoặc dịch vụ mà họ mong
muốn và cải thiện dịch vụ khách hàng.
- Tối ưu hóa lợi nhuận và doanh số bán hàng: Bằng cách phân loại và hiểu rõ
hành vi mua sắm của khách hàng, doanh nghiệp có thể tối ưu hóa lợi nhuận

bằng cách tập trung vào các nhóm khách hàng có tiềm năng lớn hơn, cải thiện
doanh số bán hàng và tiết kiệm chi phí tiếp thị không cần thiết.

17


Tóm lại, bài tốn phân loại hành vi khách hàng có thể giúp doanh nghiệp
hiểu rõ và phản ứng theo cách tốt nhất với hành vi mua sắm của khách hàng để
tối ưu hóa kết quả kinh doanh.

1.4 Ứng dụng thực tế của bài toán
Bài toán phân loại hành vi mua sắm của khách hàng có nhiều ứng dụng thực tế
quan trọng trong lĩnh vực tiếp thị và quản lý khách hàng. Dưới đây là một số ví dụ
về cách nó có thể được áp dụng:
- Tiếp thị cá nhân: Doanh nghiệp có thể sử dụng phân loại hành vi mua sắm để cá
nhân hóa chiến dịch tiếp thị. Dựa trên dự đốn, họ có thể gửi các ưu đãi, khuyến
mãi hoặc nội dung quảng cáo riêng cho từng loại khách hàng.
- Tối ưu hóa tồn kho: Những cửa hàng bán lẻ có thể sử dụng thơng tin về hành vi
mua sắm để quản lý tồn kho hiệu quả hơn. Họ có thể dự đốn các sản phẩm nào
sẽ được mua nhiều hơn và điều chỉnh tồn kho một cách thích hợp.
- Dự đốn churning của khách hàng: Phân loại hành vi mua sắm có thể giúp doanh
nghiệp dự đốn khách hàng có nguy cơ chuyển đổi (churning) ra khỏi dịch vụ
hoặc sản phẩm của họ. Điều này cho phép họ thực hiện các biện pháp để giữ chân
khách hàng, chẳng hạn như cung cấp dịch vụ khách hàng tốt hơn hoặc ưu đãi đặc
biệt.
- Tạo lập chiến lược phát triển sản phẩm: Dựa trên phân loại hành vi mua sắm,
doanh nghiệp có thể hiểu rõ hơn về nhu cầu và mong muốn của khách hàng và
phát triển sản phẩm mới hoặc cải tiến sản phẩm hiện có.
- Quản lý dịch vụ khách hàng: Các tổ chức có thể sử dụng thông tin về hành vi
mua sắm để tối ưu hóa dịch vụ khách hàng và phản hồi nhanh chóng cho phản

hồi của khách hàng.

18


- Quản lý rủi ro tín dụng: Ngân hàng và cơng ty tín dụng có thể sử dụng phân loại
hành vi mua sắm để đánh giá rủi ro tín dụng của khách hàng và quyết định việc
cấp tín dụng hoặc giới hạn tín dụng.
- Dự đốn xu hướng thị trường: Phân loại hành vi mua sắm cũng có thể được sử
dụng để dự đoán xu hướng thị trường và thay đổi trong ưu tiên của khách hàng,
giúp doanh nghiệp điều chỉnh chiến lược kinh doanh.

Tổng cộng, bài toán phân loại hành vi mua sắm của khách hàng có thể giúp doanh
nghiệp tối ưu hóa việc quản lý khách hàng, tăng cường trải nghiệm của họ và cải
thiện hiệu suất kinh doanh.

1.5 Khó khăn, thách thức của bài tốn phân loại hành vi mua sắm khách hàng
Bài toán phân loại hành vi mua sắm của khách hàng đối mặt với nhiều khó khăn và
thách thức, bao gồm:
- Dữ liệu khơng cấu trúc và lớn: Dữ liệu về hành vi mua sắm thường khơng có cấu
trúc và lớn. Điều này có nghĩa là phải xử lý và phân tích một lượng lớn thông tin từ
nhiều nguồn khác nhau, bao gồm dữ liệu giao dịch, dữ liệu xã hội và nhiều thông tin
khác.
- Rò rỉ dữ liệu: Rò rỉ dữ liệu xảy ra khi dữ liệu được sử dụng để huấn luyện mô hình
có thể chứa thơng tin nhạy cảm của khách hàng, chẳng hạn như thông tin cá nhân
hoặc giao dịch tài chính. Bảo vệ thơng tin cá nhân của khách hàng là một thách thức
quan trọng trong việc xử lý dữ liệu hành vi mua sắm.
- Sự biến đổi của hành vi mua sắm: Hành vi mua sắm của khách hàng có thể thay đổi
theo thời gian. Một người có thể chuyển từ một loại khách hàng sang một loại khác


19


theo thời gian, dựa trên các yếu tố như thay đổi thu nhập, thay đổi nhu cầu hoặc sự
thay đổi trong cuộc sống.
- Sự không đồng đều trong dữ liệu: Dữ liệu về hành vi mua sắm thường không đồng
đều, có nghĩa là có ít người mua sắm nhiều hơn so với nhiều người mua sắm ít. Điều
này tạo ra sự khơng cân bằng trong dữ liệu và có thể ảnh hưởng đến hiệu suất của
các mơ hình phân loại.
- Biểu đồ dữ liệu phức tạp: Dữ liệu hành vi mua sắm có thể bao gồm nhiều biến số
phức tạp và có mối quan hệ phức tạp giữa chúng. Điều này làm cho việc xây dựng
mơ hình dự đốn trở nên phức tạp hơn.
- Tính mù quáng của dữ liệu: Dữ liệu hành vi mua sắm có thể bị ảnh hưởng bởi bias
và mất cân bằng. Điều này có thể dẫn đến mơ hình phân loại khơng cơng bằng và
khơng chính xác.
- Thách thức trong việc hiểu và giải thích mơ hình: Các mơ hình phân loại phức tạp có
thể khó để giải thích, và việc hiểu rõ cơ chế hoạt động của mơ hình có thể khó khăn.

Tóm lại, bài toán phân loại hành vi mua sắm của khách hàng đối diện với nhiều thách
thức phức tạp và đòi hỏi sự kết hợp của nhiều kỹ thuật và chiến lược phân tích dữ liệu
để đảm bảo kết quả chính xác và hữu ích cho doanh nghiệp.

20


CHƯƠNG II. Một số kỹ thuật được sử dụng
2.1 Tiền xử lý dữ liệu
2.1.1 Data cleaning
Data cleaning hay tiền xử lý dữ liệu, là quá trình tiền xử lý các tập dữ liệu để
loại bỏ các lỗi, nhiễu hoặc thông tin khơng chính xác, từ đó tạo ra một tập dữ liệu

sách sẽ, chuẩn xác và thích hợp để sử dụng phân tích hoặc mơ hình hóa. Với dữ liệu
đã thu thập cho bài toán phân loại khách hàng, ta sẽ có các bước để làm sạch dữ liệu
như:
Xác định vấn đề và khám phá dữ liệu (Data exploration):
- Xác định vấn đề:
▪ Đây là bước đầu tiên và quan trọng nhất. Cần phải hiểu rõ vấn đề mà bạn cần
phải giải quyết và đạt được thông qua dữ liệu.
▪ Điều này có thể bao gồm việc xác định các biến quan trọng, dự đoán, phân loại,
hoặc hiểu rõ hơn về mối quan hệ trong dữ liệu.
- Khám phá dữ liệu (Data exploration):
▪ Quá trình này giúp hiểu rõ về dữ liệu hơn trước khi tiền xử lý dữ liệu.
▪ Các hoạt động có thể bao gồm thống kê mơ tả, biểu đồ, đồ thị để xem phân phối,
quan hệ giữa các biến, phát hiện các mẫu có trong dữ liệu.
▪ Phân tích độ tương quan của cá biến, phát hiện các giá trị ngoại lệ, và xác định
mối quan hệ giữa các yếu tố trong dữ liệu.
Loại bỏ dữ liệu nhiễu:
Dữ liệu nhiễu:
Dữ liệu nhiễu (noise) là thông tin không mong muốn, không cần thiết hoặc không
đáng tin cậy có thể gây ra sự mất mát hoặc biến đổi trong quá trình xử lý và phân

21


tích dữ liệu. Dữ liệu nhiễu có thể xuất hiện dưới các dạng khác nhau và có thể
ảnh hưởng tới q trình rát ra thơng tin hoặc đưa ra quyết định từ dữ liệu. Trong
tập dữ liệu mà nhóm thu thập được, có chứa nhiều cột dữ liệu nhiễu gây ảnh
hưởng tới việc xử lý thông tin, nhận dạng cho khác hàng, do đó, cần loại bỏ các
cột dữ liệu nhiều này.
Cách xử lý dữ liệu nhiễu:
Để phân tích bài toán nhận dạng một cách hiệu quả, dữ liệu đầu vào cho bài

toán là thứ tất yếu, hạn chế những sai lệch, nhiễu thơng tin để cho bài tốn có thể
đưa ra các kết quả có độ chính xác cao nhất có thể. Do đó việc xử lý các dữ liệu
nhiễu, ta có các cách thức sau như:
- Xử lý dữ liệu: Dữ liệu của cột nhiễu thường là các dữ liệu khuyết thiếu, dữ
liệu ngoại lai khơng có liên quan đến bài toán. gây ảnh hưởng đến tốc độ xử
lý và giảm độ chính xác của mơ hình xuống. Nếu cột dữ liệu thiếu, có thể điền
dữ liệu một cách hợp lý, ví dụ như sử dụng giá trị trung bình, trung vị… Cịn
khi dữ liệu chứa các ngoại lai (outliers), có thể xem xét loại bỏ các dịng, cột
hoặc điều chỉnh các giá trị ngoại lai sao cho các giá trị ngoại lai không ảnh
hưởng quá nhiều đến q trình phân tích.
- Chuẩn hóa dữ liệu: Giá trị nhiễu ngồi các giá trị khuyết thiếu, ngoại lai thì
việc sai lệch các kiểu dữ liệu cũng gây nhiễu nghiên trọng khi bài toán đưa vào
xử lý. Để tránh điều đó, ta cần đưa các cột có giá trị đo lường khác nhau hoặc
đưa chúng về cùng phạm vi với các kiểu dữ liệu, giá trị đo lường tương ứng
để giúp cho q trình phân tích và mơ hình hóa trở nên dễ dàng hơn.
- Phân tích tương quan và loại bỏ cộng tuyến (multicollinearity): Nếu các cột có
độ tương quan cao, ta có thể xem xét một vài cột trong các cột để chúng trành
trường hợp hiện tượng đa cộng tuyến.

22


- Phân tích lựa chọn đặc trưng (Feature Selection): Sử dụng các phương pháp
phân tích để lựa chọn các đặc trưng quan trọng và loại bỏ các cột ít quan trọng
hoặc ảnh hưởng nhiều đến bài toán đưa ra.
- Xác định và loại bỏ cột nhiễu: Đây là phương pháp cuối cùng cũng như là
phương pháp xử lý dữ liệu nhiễu một cách đơn giản nhất. Do đó, dữ liệu của
nhóm sẽ xử lý dữ liệu nhiễu bằng cách xóa bỏ các cột đó. Để xóa bỏ các cột
đó, ta có hai cách sau:
▪ Xóa dữ liệu cách thủ cơng: là cách xóa cũng như xử lý dữ liệu bằng các cơng

cụ có sẵn như excel, text bằng cách nhập tay và thao tác trực tiếp với các cột
nhiễu đó và cụ thể ở đây là loại bỏ trực tiếp các cột gây nhiễu.
▪ Xóa dữ liệu tự động: là phương pháp thơng qua các đoạn code, thư viện có sẵn
để loại bỏ các dữ liệu nhiễu. Ví dụ như:
o Sử dụng Pandas:

Hình 2.1: Sử dụng Pandas

23


Trong ví dụ trên, ‘Missing_threshold” là ngưỡng tỷ lệ dữ liệu thiếu được chọn
để loại bỏ các cột có tỷ lệ thiếu lớn hơn ngưỡng này. Ta cũng có thể thay đổi
cũng như các tiêu chí loại bỏ dữ trên kiến thức mình dữ liệu.
Ngồi Pandas cịn vơ vàn các thư viện hỗ trợ cho việc loại bỏ các dữ liệu nhiễu
gây ảnh hưởng đến mơ hình, bài tốn.
Q trình loại bỏ cột nhiễu đòi hỏi sự cân nhắc kỹ lưỡng để không làm mất đi
thông tin quan trọng và khơng ảnh hưởng đến tính chính xác của dữ liệu. Bằng
cách kết hợp các kỹ thuật khám phá dữ liệu và lựa chọn đặc trưng, mà có thể xác
định và loại bỏ các cột không cần thiết một cách hiệu quả.

2.1.2 Label Encoding
Label encoding là phương pháp biến đổi các biến hạng mục thành các số nguyên.
Điều này thường được áp dụng cho các thuật tốn học máy hoặc mơ hình hóa dữ
liệu u cầu đầu vào dữ liệu số cụ thể với bài tốn này là mơ hình học máy Suport
Vector Machine – SVM.
Cách thức hoạt động của label encoding là ánh xạ các giá trị hạng mục thành số
nguyên. Mỗi giá trị hạng mục sẽ được ánh xạ sang một số ngun duy nhất. Ví dụ
như “Bóng bàn” có thể ánh xạ sang 0, “Bóng đa” ánh xạ sang 1 và cứ tiếp tục ánh
xạ như vậy.

Sử dụng LabelEncoder trong Python:
- Trong Python, thư viện Scikit-learn cung cấp ‘LabelEncoder’ để thực hiện
quá trình này.
- Khởi tạo một đối tượng ‘LabelEncoder’, sau đó sử dụng phương thức
(method) ‘fit_transform’ để áp dụng Label Encoding cho dữ liệu hạng mục.

24


×