Ð ôán mà nhóm em thực hiện nhằm mục đích áp dụng các kiến thức đã học được từ môn học để phân tích và dự đoán khách hàng VIP và khách hàng thường trong bộ dữ liệu BT Sales_ Data.xlsx lấy
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH (UEH) TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ
Lý Gia Thuận
KHOA HOC DU LIEU
Giang Vién: TS Huynh Van Duc
TP H 6Chi Minh, Ngay 29 thang 2 nam 2023
Trang 3Loi mo dW:
ính gửi th% Huỳnh Văn Đức và các bạn sinh viên,
MA ^
Em xin gửi đến th% và lớp bản tóm tắt đôán môn khoa học dữ liệu của nhóm
em “Dự đoán khách hàng VIP thường với bộ dữ liệu Sales_ Data.xlsx”
Trước hết, nhóm em xin gửi lời cảm ơn sâu sắc tới th# Huỳnh Văn Đức, giảng viên môn Khoa học Dữ liệu, đã giúp đỡ và hướng dẫn nhóm em trong quá trình học tập
và nghiên cứu Nhờ những kiến thức và kinh nghiệm mà th% đã chia sẻ, nhóm em đã
có cơ hội phát triển khả năng của mình và tiến bộ trong lĩnh vực Khoa học Dữ liệu
Ð ôán mà nhóm em thực hiện nhằm mục đích áp dụng các kiến thức đã học được
từ môn học để phân tích và dự đoán khách hàng VIP và khách hàng thường trong bộ dữ liệu BT Sales_ Data.xlsx lấy tử tập tin dữ liệu th cung cấp ở đầi môn học Đây là một
bộ dữ liệu v`êcác giao dịch mua sắm được thực hiện tại một cửa hàng với thông tin chỉ tiết v`ềkhách hàng, sản phẩm và số tỉ ân chỉ trả
Nhóm em sẽ sử dụng các kỹ thuật phân tích dữ liệu để khai thác thông tin từ bộ
dữ liệu này, tìm ra các mẫu chung, sự tương quan giữa các biến số để xây dựng mô hình
dự đoán Sau đó nhóm em sẽ sử dụng các thuật toán học máy để đưa ra dự đoán v`ề khách hàng VIP và khách hàng thưởng dựa trên các đặc trưng của họ như số lần mua hàng, tuổï, giới tính, chức vụ, Cuối cùng nhóm em sẽ so sánh, đánh giá các thông số (recall, precision, accuracy, ) giữa các mô hình tử đó đưa ra nhận xét, kết luận đâu là
mô hình phù hợp với bộ dữ liệu này nhất
Ds
Voi dé tai nay, nhóm em hy vọng có thể áp dụng thành công các kiến thức đã học, từ đó cải thiện kỹ năng phân tích dữ liệu, sử dụng các thuật toán học máy và đưa
ra những kết quả dự đoán chính xác v`êkhách hàng VIP và khách hàng thường Chúng
em rất mong nhận được sự hướng dẫn và đánh giá của th cùng các bạn trong quá trình thực hiện đ ôán
Xin chân thành cảm ơn th`%
Trang 4Tổng quan v bộ dữ liệu:
Bộ dữ liệu BT Sales_Data có sẵn trong tập dữ liệu thầy đã cung cấp g ân 500 dòng
dỡ liệu v`êthông tin khách hàng mua hàng tại một cửa hàng Bộ dữ liệu bao gần các thuộc tính như:
e Giới tính (Nam, Nu)
@ Gia tri don hàng (số nguyên)
e Bién muc tiéu : Loai khéch hang (VIP, thuong)
Bộ dữ liệu BT Sales_Data được cung cấp bởi th Huỳnh Văn Đức là một tập dữ
, được sử dụng để phân tích và dự đoán khách hàng VỊP và thường của một cửa hàng Mục đích của việc phân tích và dự đoán này là để tối
, nhằm thu hút thêm khách hàng mới(Thuong) và giữ chân khách hàng cũ (VIP) Vì vậy ta cần một mô hình có ti
Tuy nhiên, để sử dụng va xt ly bé dit liéu nay, c %h phải áp dụng các công cụ và kỹ thuật của khoa học dữ liệu như xử lý dữ liệu, phân tích dữ liệu, trực quan hóa dữ liệu, các phương pháp học máy và mô hình dự đoán
wos
Để có thể đạt được kết quả phân tích và dự đoán chính xác, cẦn có kiến thức chuyên ngành trong lĩnh vực kinh doanh để hiểu rõ hơn v`êcác đặc trưng nào có thể ảnh hưởng đến kết quả dự đoán của mô hình từ đó có những đi âi chỉnh hợp lý hơn Từ đó, chúng
ta có thể đưa ra các giải pháp và khuyến nghị nhằm tối ưu hóa hoạt động kinh doanh và nâng cao trải nghiệm của khách hàng
Trang 5Phân tích dữ liệu:
Thống kê mồ tả với widget Feature Statistic:
a widget Feature stafistic, ta có thể nhanh chóng có cái nhìn tổng quát v`ề phân bố của các đặc trưng, cũng như đánh giá tính đối xứng, tập trung, mịn màng và có nhiễu của các đặc trưng trong tập dữ liệu
@ Loại khách hang: (Thuong m
® Nhìn chung, phân bố của các biến độc lập đ'âi ảnh hưởng đến biến phụ thuộc dù ít hay nhi Ân
Phân tích sự tương quan giữa các biến giải thích với biến phụ thuộc bằng box
Trang 6@ Khach hang Thuong co TrinhDo tap trung nhi ti nhất
hàng Vip có TrinhDo tập trung nhi `âi nhất la CH
Trang 7e Khách hàng Thường phân bố đầi giữa Nam và Nữ, trong khi khách hàng VIP ph3n lớn là giới tính Nam
Trang 8œ_ Tỉ lệ của chức vụ Quản lý trong tổng số khách hàng thưởng là 52.I3%, thấp hon
so với tỉ lệ chức vụ Quản lý trong tổng số khách hàng VIP (66.67%)
Trang 9phương pháp khoa học dữ liệu:
Ti& xu ly:
® Import dữ liệu, sau đó sử dụng widget data table dé hién thi bang di liệu:
9 features 1 i 1¡ Nam 2 15 DH Nhan vì
eee ee 2 2 Nu 22 10 CD Nhan vi
No meta attributes 3 3 Nam 31 22 0H Nhan vì
les
® Widget data table hién thi bang di liéu khéng cé6 gia tri nao bj thiéu Tuy nhién,
để các mô hình học máy hoạt động chính xác hơn, ta cn chuẩn hóa dữ liệu số thành dạng chuẩn
Trang 10lệ trong dữ liệu là 5%
Cơ sở lý thuyết:
° nearest neighbor là một phương pháp học có giám sát dùng để dự đoán giá trị đầi ra của một điểm dữ liệu mới dựa trê t trong tap dữ liệu huấn luyện Khi huấn luyện, thuật toán này không học một đi âi gì từ dữ liệu huấn luyện (đây cũng là lý do thuật toán này được xếp vào loại
mọi tính toán sẽ được thực hiện khi nó c3n dự đoán kết quả của dữ liệu mới
®_ Thuật toán KNN dựa trên nguyên lý rằng những dữ liệu tương tự nhau sẽ t ồn tại gẦn nhau trong một không gian, từ đó công việc của chúng ta là sẽ
t Việc tìm khoảng cách giữa 2 điểm cũng có nhi`âi công thức có thể sử dụng, tùy trưởng hợp mà chúng ta lựa chọn cho phù hợp Đây là 3 cách cơ bản để tính khoảng cách 2 điểm dữ liệu x, y có k thuộc
Trang 11Áp dụng vào bài toán:
O Sử dụng widget “KNN” để xây dựng mô hình KNN trên tập dữ liệu huấn luyện, thiết lập giá trị K khác nhau (ví dụ: 5, 10, 15, 20, .), ở đây ta sử dụng phương pháp tính khoảng cách “Euclidean”
“4° KNN - Orange ? x
Name kNN Neighbors Number of neighbors: 1 Metric: Euclidean v Weight: Uniform Vv
? B | 23501- Gus
O Sau do danh gid hiéu suất mô hình trên tập dữ liệu huấn luyện với các giá trị K khác nhau và chọn ra giá trị K tốt nhất cho mô hình
Trang 12Logistic Regression (Hã quy Log
Cơ sở lý thuyết:
Logistic Regression là một phương pháp thống kê được sử dụng để dự đoán xác suất của một biến phụ thuộc rơi rạc (discrete) dựa trên các biến độc lập (independent variables) Phương pháp này thưởng được sử dụng để mô hình hóa quan hệ giữa biến độc lập và biến phụ thuộc trong các bài toán phân loại (classification) như dự đoán khả năng một khách hàng sẽ mua sản phẩm hay không, dự đoán xác suất một email là spam hay không, dự đoán xác suất một bệnh nhân mắc bệnh lý hay không, v.v
ogistic Regression sử dụng hàm logistic để tính toán xác suất của biến phụ thuộc dựa trên các biến độc lập Hàm logistic là một hàm phi tuyến được sử dụng để chuyển đổi giá trị liên tục thành giá trị rời rạc nằm trong khoảng [0, 1], thể hiện xác suất của
ột biến rời rạc Các tham số của hàm logistic được ước lượng thông qua quá trình tối
uu héa mét ham mat mat (loss function) dựa trên dữ liệu huấn luyện
Một trong những lợi ích ctla Logistic Regression là nó cho phép dự đoán xác suất của một biến phụ thuộc thay vì giá trị rởi rạc của nó, đi`âi này có ý nghĩa quan trọng trong nhi âi bài toán thực tế Ngoài ra, Logistic Regression cũng dễ hiểu, dễ triển khai
và cho kết quả khá ổn định trên dữ liệu có số lượng biến lớn và dữ liệu thiếu
Để sử dụng Logistic Regression, có thể thực hiện các bước sau:
e Thu thập và chuẩn bị dữ liệu: Thu thập dữ liệu và xác định các biến độc lập và biến phụ thuộc Sau đó, xử lý dữ liệu để đảm bảo chúng có chất lượng tốt, ví dụ như xử lý dữ liệu thiếu hoặc dữ liệu nhiễu
® dữ liệu: Chia dữ liệu thành tập huấn luyện và tập kiểm tra Tập huấn luyện được sử dụng để huấn luyện mô hình, trong khi tập kiểm tra được sử dụng
để đánh giá hiệu suất của mô hình
e© Tin xử lý dữ liệu: Tiền xử lý dữ liệu nhằm chuyển đổi dữ liệu thành dạng hợp để sử dụng với mô hình Logistic Regression, ví dụ như chuẩn hóa dữ liệu, chuyển đổi biến độc lập thành dạng số, loại bỏ biến không quan trọng
® Xây dựng mô hình: Tạo một mô hình Logistic Regression và huấn luyện mô hình trên tập huấn luyện Trong quá trình huấn luyện, các tham số của mô hình sẽ được đi`âi chỉnh để tối ưu hóa hàm mất mát
e_ Đánh giá mô hình: Đánh giá mô hình bằng cách sử dụng tập kiểm tra và các độ đo như độ chính xác, độ phủ, độ chính xác dự đoán của mô hình trên tập kiểm tra
® Sử dụng mô hình: Sau khi xây dựng và đánh giá mô hình, có thể sử dụng mô hình
để dự đoán xác suất của biến phụ thuộc cho các giá trị mới của các biến độc lập
® Tỉnh chỉnh mô hình: Nếu mô hình không cho kết quả tốt, có thể c3 tỉnh chỉnh mô hình bằng cách thay đổi các tham số của mô hình hoặc chọn các biến độc lập khác
để tạo ra một mô hình tốt hơn
Trang 13Áp dụng vào bài toán:
O Sử dụng widget “Logistic Regression” để xây dựng mô hình hỗ quy Logistic trên tập dữ liệu huấn luyện, thiết lập giá trị Strength(c) ác nhau (vi du: c=1,
10, 100, 0.1, 0/01, 0,001, ), ở đây ta sử dung Regularization type:
? B | 2)3501- GB i21019
O Sau do danh giá hiệu suất mô hình trên tập dữ liệu huấn luyện với các giá trị C khác nhau và chọn ra giá trị C tốt nhất cho mô hình
Trang 14Random Forest ( hay còn gọi là rừng ngẫu nhiên ) là một phương pháp phân lớp, một thuật toán trong phương pháp Machine Learning Random Forest sử dụng nhỉ `âi cây phân loại ( hoặc hổ quy ) trong để đưa ra quyết định trong | Dataset
sử dụng kỹ thuật đóng gói (bagging) cho phép lựa chọn một nhóm nhỏ các thuộc tính tại mỗi nút (node) của cây phân lớp để phân chia thành các mức tiếp theo
Cụ thể, đây là thuật toán phân lớp bao ø ầằn một tập các phân lớp có cấu trúc cây quyết định với những vectơ độc lập, tương tự nhau được phân bố một cách ngẫu nhiên
và mỗi cây sẽ “bỏ một phiếu b`ầi” cho lớp phổ biến nhất ở véctơ' đ`âi vào, làm cơ sở ra quyết định cho thuật toán Các phương pháp học nhóm kết hợp với các kết quả riêng lẻ của từng cây thưởng mang lại kết quả tốt hơn
Đặc điểm của thuật toán này bao ø Ẳn
Tối ưu hóa lựa chọn: Random Forest cn truy ân vào nhi `âi tham số để tỉnh chỉnh và cải thiện mô hình ML
Thích hợp cho bộ dữ liệu lớn
D Aira chi tiét
e® Điểm yếu:
ie)
ie)
Nguy cơ overft data ( quá khớp dữ liệu )
Không thể sử dụng cho h'ổ quy: Random Forest không thể dự đoán được kết quả ngoài vùng dữ liệu được train
Các tham số phức tạp: Ngoài các tham số thưởng gặp ( leaf, node, splitting, tree size, etc ) thi còn có các tham số nên được khái niệm hóa:
số cây trong mô hình (n_parameters), phương pháp xây dựng cây
Thiên vị biến với nhi `âi cấp: Khi bộ dữ liệu có các biến phân loại với các thuộc tính ở nhi `âi cấp độ khác nhau sẽ gây ra vấn đ`êvì mô hình Random Forest sẽ ưu tiên các giá trị đó và gây ra các rủi ro v`êdự đoán
Trang 15Mô tả thuật toán Random For
Chọn T là số lượng các cây thành ph ân sẽ được xây dựng
Chọn m là số lượng các thuộc tính được dùng để phân chia tại mỗi nút (node) của cây p là tổng số các thuộc tính m thưởng nhỏ hơn p rất nhi ồu Giá trị m được giữ không đổi trong suốt quá trình xây dựng cây
Dựng T cây quyết định Trong đó mỗi cây quyết định được hình thành như sau: (a) xây dựng tập mẫu khởi động (bootstrap) với n mẫu, hình thành từ việc hoán
vị tập các mẫu ban đi Mỗi cây sẽ được dựng từ tập khởi động này; (b) Khi xây dựng cây quyết định, tại mỗi nút (node) sẽ chọn ra m thuộc tính và sử dụng m thuộc tính này để tìm ra cách phân chia tốt nhất; (c) Mỗi cây quyết định được phát triển lớn nhất có thể và không bị cắt xén
Sau khi xây dựng được rừng ngẫu nhiên (Random Forest), để phân lớp cho đối tượng T, thu thập kết quả phân lớp đối tượng này trên tất cả các cây quyết định
và tính bình quân giá trị dự báo của các cây quyết định để làm kết quả cuối cùng của thuật toán Tỷ lệ lỗi của cây phụ thuộc vào độ mạnh của từng cây quyết định
nh phẦn và mối quan hệ qua lại giữa các cây đó
Các bước chính để thực hiện mô hình Random Forest:
Chuẩn bị dữ liệu: Chọn tập dữ liệu và ti xử lý dữ liệu bằng cách loại bỏ các giá trị nhiễu, sắp xếp lại các thuộc tính và xử lý các giá trị bị thiếu
Chọn thuộc tính: Chọn các thuộc tính có ảnh hưởng đến biến mục tiêu Xây dựng mô hình: Tạo một mô hình Random Forest và huấn luyện mô hình trên tập huấn luyện
Sử dụng mô hình: Sau khi xây dựng và đánh giá mô hình, có thể sử dụng mô hình để dự đoán kết quả của biến mục tiêu
Trang 16p dụng vào bài toán:
“* Random Forest - Orange ? x
L1 Number of attributes considered at each split: Số lượng thuộc tính sẽ được
sử dụng cho mỗi lần phân chia cây quyết định, ở đây ta chọn = 3 (thông thường, giá trị được khuyến nghị cho số lượng thuộc tính xem xét ở mỗi Lần phân chia là căn bậc hai của tổng số thuộc tính trong tập dữ liệu: 7)
O Replicable training : giúp đảm báo tính nhất quán và tái sản xuất trong quá trình huấn luyện mô hình Khi checkbox này được chọn, các giá trị được sử dụng để xác định các thuộc tính đại diện và phương pháp tạo ra các cấu hình dữ liệu con để huấn luyện các cây con trong Random Forest
sẽ được giữ nguyên ở các lần chạy khác nhau của quá trình huấn luyện
1 Do notsplit subsets smaller than: Thiết lập một ngưỡng tối thiểu cho kích thước tập con (subsets) được chia tại mỗi nút của cây quyết định Các tập con có kích thước nhỏ hơn ngưỡng này (=5) sẽ không được chia tiếp
Cơ sở lý thuyết:
Thuật toán cây quyết định (Decision Tree) là một phương pháp học có giám sát Machine Learning, thưởng được sử dụng để phân loại hoặc dự đoán giá trị của một biến mục tiêu dựa trên các thuộc tính của các quan sát Cây quyết định được xây dựng dựa trên cấu trúc cây, trong đó mỗi nút đại diện cho một thuộc tính, mỗi cạnh đại diện cho một giá trị của thuộc tính và mỗi lá đại diện cho một giá trị của biến mục tiêu