1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Project name build a decision tree model for customer churn , decision tree Đã Được sử dụng làm mô hình chính Để dự Đoán tỉ lệ rời bỏ của khách hàng

18 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Build A Decision Tree Model For Customer Churn
Tác giả Nguyen Hoang Nguyen Khoi, Tran Ngoc Khanh Van Huynh Minh Hai, Nguyen Hoang Phu, Pham Van Minh, Le Duc Loi, Nguyen Dao Minh Khoa
Người hướng dẫn MSc. Hồ Nhựt Minh
Trường học Trường Đại Học Khoa Học Tự Nhiên
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 18
Dung lượng 879,88 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong các lĩnh vực như truyền hình số, viễn thông và dịch vụ streaming, việc dự đoán chính xác khả năng khách hàng rời bỏ dịch vụ là yếu tố quan trọng giúp doanh nghiệp thực hiện các biệ

Trang 1

PROJECT NAME: Build A Decision Tree

Model For Customer Churn

Developed by:

Team members:

• Nguyen Hoang Nguyen Khoi

• Nguyen Hoang Phu

• Le Duc Loi

• Nguyen Dao Minh Khoa

Tran Ngoc Khanh Van Huynh Minh Hai Pham Van Minh

Lecturer: MSc Hồ Nhựt Minh

Trang 2

TABLE OF CONTENTS

PHẦN 1: GIỚI THIỆU CHUNG 1

1.1 Giới thiệu chung về dự án 1

1.2 Mục tiêu của dự án 1

1.3 Mô tả chi tiết dữ liệu 2

PHẦN 2: TECHNOLOGY REQUIREMENTS 3

2.1 Hardware 3

2.2 Software 3

PHẦN 3: MÔ HÌNH HỌC MÁY 4

3.1 Lựa chọn mô hình 4

3.2 Tổng quan về mô hình 4

PHẦN 4: TRIỂN KHAI DỰ ÁN 5

4.1 Import các thư viện cần thiết và đọc tập dữ liệu 5

4.2 Feature Engineering 5

4.2.1 Xử lí các dữ liệu bị thiếu 5

4.3 Model Building 5

4.3.1 Phân chia dữ liệu: 5

4.3.2 Xử lý mất cân bằng dữ liệu: 5

4.3.3 Xây dựng mô hình Cây Quyết Định: 6

4.4 Model Validation (predictions) 6

4.4.1 Đánh giá theo lớp 0.0 (khách hàng không rời bỏ): 7

4.4.2 Đánh giá theo lớp 1.0 (khách hàng rời bỏ): 7

4.4.3 Tổng quan mô hình: 8

4.4.4 Khu vực dưới đường cong (AUC): 8

4.4.5 Kết luận: 9

4.5 Feature Importance 10

PHẦN 5: TRIỂN KHAI THỰC TẾ 12

5.1 Mục đích 12

5.2 Các bước quan trọng 12

5.3 Thách thức và giải pháp 12

PHẦN 6: HƯỚNG DẪN SỬ DỤNG 13

6.1 Hướng Dẫn Cài Đặt và Chạy Phần Mềm: 13

6.2 Hướng Dẫn Sử Dụng: 13

PHẦN 7: CẢI THIỆN TRONG TƯƠNG LAI 15

Trang 3

7.1 Hạn Chế 15 7.2 Cải Tiến 15

Trang 4

1

PHẦN 1: GIỚI THIỆU CHUNG

1.1 Giới thiệu chung về dự án

Customer churn (tỷ lệ khách hàng rời bỏ) là một chỉ số quan trọng trong việc đánh giá sự trung thành của khách hàng cũng như tính hiệu quả của các chiến lược giữ chân Trong các lĩnh vực như truyền hình số, viễn thông và dịch vụ streaming, việc dự đoán chính xác khả năng khách hàng rời bỏ dịch vụ là yếu tố quan trọng giúp doanh nghiệp thực hiện các biện pháp kịp thời để giảm thiểu tổn thất

Dữ liệu được sử dụng trong dự án bao gồm các thông tin về hành vi và nhân khẩu học của khách hàng như năm đăng ký, thời gian xem hàng tuần, số video đã xem và số lần khách hàng liên

hệ với bộ phận hỗ trợ Bộ dữ liệu chứa 16 biến, trong đó có biến mục tiêu là churn, cùng với một

số giá trị thiếu ở các biến như giới tính, số ngày không hoạt động tối đa, và churn

Trong dự án này, Decision Tree đã được sử dụng làm mô hình chính để dự đoán tỉ lệ rời bỏ của khách hàng, nhờ vào khả năng khai thác tốt các mối quan hệ phức tạp giữa các biến đầu vào Ngoài ra, mô hình Logistic Regression được sử dụng để so sánh, làm nổi bật độ chính xác và tính

ưu việt của Decision Tree trong việc đưa ra dự đoán

1.2 Mục tiêu của dự án

Mục tiêu của dự án là xây dựng một mô hình Cây Quyết Định nhằm dự đoán khả năng rời

bỏ của khách hàng, giúp doanh nghiệp nhận diện những khách hàng có nguy cơ cao và thực hiện các biện pháp để giảm tỷ lệ rời bỏ Các mục tiêu chính bao gồm:

Xây dựng Mô hình Dự đoán: Sử dụng Cây Quyết Định để phân tích hành vi và dự đoán

việc rời bỏ của khách hàng

Xác định Yếu tố Quan trọng: Nêu bật các yếu tố như số ngày không hoạt động, các cuộc

gọi hỗ trợ và mức độ tương tác có ảnh hưởng lớn đến việc rời bỏ

Trang 5

2

Cải thiện Khả năng Giữ chân khách hàng: Hỗ trợ các chiến lược giữ chân khách hàng

có mục tiêu, tập trung vào những khách hàng có nguy cơ cao để giảm thiểu tỷ lệ churn

1.3 Mô tả chi tiết dữ liệu

Tập CSV bao gồm khoảng 2000 hàng và 16 cột Trong đó cột “Churn” là nhãn và các cột

còn lại là các đặc trưng (features):

1 Year – Năm thống kê

2 Customer_id - Mã khách hàng duy nhất

3 Phone_no - Số điện thoại của khách hàng

4 Gender - Giới tính (Nam/Nữ)

5 Age – Tuổi của khách hàng

6 No of days subscribed - Số ngày kể từ khi đăng ký

7 Multi-screen - Khách hàng có gói thuê bao một hay nhiều màn hình (thiết bị)

8 Mail subscription - Khách hàng có đăng kí nhận thông báo email hay không

9 Weekly mins watched - Số phút xem hàng tuần

10 Minimum daily mins - Số phút tối thiểu xem hàng ngày

11 Maximum daily mins - Số phút tối đa xem hàng ngày

12 Weekly nights max mins - Số phút xem vào ban đêm hàng tuần

13 Videos watched - Tổng số video đã xem

14 Maximum_days_inactive - Số ngày kể từ khi không hoạt động

15 Customer support calls - Số lần gọi hỗ trợ khách hàng

16 Churn ● 1- Khách hàng rời bỏ

● 0 – Khách hàng không rời bỏ

Dữ liệu chứa tổng cộng 82 dòng bị thiếu giá trị (một dòng có thể thiếu nhiều giá trị) Một

số giá trị bị thiếu trong các cột quan trọng, cụ thể là:

• Gender (Giới tính): Có 24 giá trị bị thiếu, tương ứng với 24 khách hàng không có thông

tin về giới tính

• Churn (Rời bỏ): Có 35 giá trị bị thiếu, điều này có thể ảnh hưởng đến việc đánh giá

chính xác khả năng rời bỏ của khách hàng

• Maximum_days_inactive (Số ngày không hoạt động tối đa): 28 giá trị bị thiếu, làm

giảm thông tin về hành vi không hoạt động của khách hàng

Trang 6

3

PHẦN 2: TECHNOLOGY REQUIREMENTS

2.1 Hardware

• Processor: Intel Core i5/i7 or equivalent

• RAM: 8 GB or higher

• Storage: SSD recommended for faster data processing

• Mouse

• Keyboard

2.2 Software

• Programming Language: Python (3.x)

• IDE: Jupyter Notebook, PyCharm, or VS Code

• Libraries - NumPy, pandas, matplotlib, sklearn, pickle, imblearn

Trang 7

4

PHẦN 3: MÔ HÌNH HỌC MÁY

3.1 Lựa chọn mô hình

Việc lựa chọn mô hình cho dự án dự đoán customer churn được cân nhắc dựa trên các yếu

tố quan trọng như tính đơn giản, khả năng giải thích và hiệu suất trên dữ liệu mất cân bằng

Cây Quyết Định (Decision Tree) được chọn làm mô hình chính vì các lý do sau:

Khả năng xử lý các đặc trưng phức tạp: Decision Tree có khả năng xử lý tốt cả dữ liệu định tính và định lượng, điều này rất phù hợp với tập dữ liệu churn, vốn bao gồm nhiều loại đặc trưng khác nhau (như tuổi, số ngày đăng ký, giới tính, số phút xem hàng tuần )

Tính dễ hiểu và trực quan: Cây Quyết Định có cấu trúc trực quan, dễ dàng biểu diễn và giải thích cho cả người không chuyên Điều này giúp hiểu rõ hơn cách mô hình đưa ra quyết định về việc khách hàng có khả năng rời bỏ hay không dựa trên các yếu tố cụ thể

Hiệu quả với dữ liệu mất cân bằng: Dữ liệu churn thường có sự mất cân bằng giữa hai lớp khách hàng rời bỏ và không rời bỏ Để giải quyết vấn đề này, kỹ thuật SMOTE (Synthetic Minority Oversampling Technique) được áp dụng SMOTE giúp tạo ra thêm các mẫu từ lớp thiểu số (khách hàng rời bỏ) để cân bằng với lớp đa số, từ đó cải thiện hiệu suất của mô hình Decision Tree

Linh hoạt trong quá trình huấn luyện: Với khả năng điều chỉnh các tham số như tiêu chuẩn phân tách ('entropy') và khả năng chống overfitting thông qua việc cắt tỉa cây, Decision Tree là một lựa chọn phù hợp để tìm ra cấu trúc mô hình tốt nhất cho bài toán này

3.2 Tổng quan về mô hình

Cây Quyết Định (Decision Tree) là một mô hình học có giám sát được sử dụng phổ biến

trong các bài toán phân loại và hồi quy Mô hình hoạt động bằng cách xây dựng một cấu trúc dạng cây, trong đó mỗi nút nội tại tương ứng với một câu hỏi dựa trên một đặc trưng của dữ liệu Mô hình tiếp tục chia nhỏ dữ liệu dựa trên các điều kiện này cho đến khi đạt đến các nút lá, nơi đưa ra các dự đoán cuối cùng

Các tham số của Decision Tree được sử dụng trong dự án:

• criterion='entropy':

Tham số này quy định cách thức chia tách các nút trong cây Với 'entropy', mỗi nút sẽ được chia sao cho giảm thiểu mức độ hỗn độn (entropy) của các nhánh con, dẫn đến việc mô hình sẽ tập trung vào những chia tách giúp tăng độ chính xác cho các dự đoán

• random_state=13:

Tham số này giúp đảm bảo quá trình huấn luyện mô hình luôn cho ra cùng một kết quả khi được chạy lại, bằng cách cố định seed cho bộ sinh số ngẫu nhiên

Trang 8

5

PHẦN 4: TRIỂN KHAI DỰ ÁN

4.1 Import các thư viện cần thiết và đọc tập dữ liệu

Thực hiện việc nhập các thư viện cần thiết như pandas, numpy, scikit-learn, và imbalanced-learn

Đọc tập dữ liệu từ file CSV vào một DataFrame

4.2 Feature Engineering

4.2.1 Xử lí các dữ liệu bị thiếu

Tổng số dòng chứa dữ liệu bị thiếu khá nhỏ, có thể sẽ không ảnh hưởng tới kết quả nên các dòng với dữ liệu bị thiếu sẽ được bỏ đi trong dự án này (82 dòng) Tổng số dòng còn lại sẽ là 1918 dòng

Xóa các cột không cần thiết khỏi DataFrame để giảm thiểu độ phức tạp và tập trung vào các đặc trưng quan trọng Các cột bị xóa gồm: ['customer_id','phone_no', 'year']

4.3 Model Building

Trong phần xây dựng mô hình, một mô hình Cây Quyết Định (Decision Tree) được phát triển nhằm dự đoán khả năng khách hàng sẽ rời bỏ hay không Quá trình này bao gồm các bước sau:

4.3.1 Phân chia dữ liệu:

Tập dữ liệu được chia thành hai phần: tập huấn luyện (training set) và tập kiểm tra (test set) bằng cách sử dụng hàm train_test_split từ thư viện sklearn.model_selection Tỷ lệ phân chia được thiết lập là 70% cho tập huấn luyện và 30% cho tập kiểm tra, với một seed cố định (random_state=0) nhằm đảm bảo tính tái lập của phân chia này

4.3.2 Xử lý mất cân bằng dữ liệu:

Trong tổng số 1918 khách hàng, sự phân bố của biến ‘churn’ trong tập dữ liệu như sau:

• 1665 khách hàng (86.7%) không rời bỏ (mã 0.0)

• 253 khách hàng (13.3%) rời bỏ (mã 1.0)

Điều này cho thấy có sự mất cân bằng rõ rệt giữa hai lớp, với số lượng khách hàng không rời bỏ vượt trội hơn nhiều so với số khách hàng rời bỏ Sự mất cân bằng này có thể ảnh hưởng đến hiệu suất của các mô hình dự đoán

Để giải quyết vấn đề mất cân bằng giữa các lớp trong tập dữ liệu, kỹ thuật SMOTE

(Synthetic Minority Oversampling Technique) được áp dụng Kỹ thuật này tạo ra các mẫu giả từ lớp thiểu số (khách hàng rời bỏ) nhằm cân bằng số lượng mẫu giữa hai lớp Điều này giúp cải thiện hiệu suất của mô hình, đặc biệt trong các bài toán phân loại như dự đoán tỷ lệ khách hàng rời bỏ

Trang 9

6

Việc áp dụng SMOTE đã giúp tạo ra số lượng mẫu cân bằng giữa hai lớp trong biến mục tiêu ‘churn’

Điều này giải thích rằng lượng khách hàng không rời bỏ và số lượng khách hàng rời bỏ đều

bằng nhau, cho phép mô hình học máy có đủ dữ liệu từ cả hai lớp để học và đưa ra dự đoán chính xác hơn Điều này sẽ giúp cải thiện hiệu suất của mô hình trong việc nhận diện khách hàng có nguy cơ rời bỏ, giảm thiểu thiên lệch trong dự đoán và nâng cao khả năng tổng quát của mô hình trong các tình huống thực tế

4.3.3 Xây dựng mô hình Cây Quyết Định:

Mô hình Cây Quyết Định được khởi tạo với các tham số như random_state=13 (đảm bảo tính tái lập) và criterion='entropy' (sử dụng độ entropy làm tiêu chí để chia tách các nút trong

cây) Mô hình được huấn luyện bằng cách gọi hàm fit với dữ liệu huấn luyện (X_train, y_train)

4.4 Model Validation (predictions)

• Accuracy score: Tính toán độ chính xác của mô hình trên tập kiểm tra

• Confusion matrix: Để phân tích hiệu suất của mô hình

• ROC and AUC: Vẽ đồ thị ROC và tính toán AUC (Area Under the Curve) để đánh giá khả năng phân loại của mô hình

• Recall score: Tính toán điểm recall để đánh giá khả năng phát hiện lớp thiểu số

• Precision score: Tính toán điểm precision để đánh giá độ chính xác của các dự đoán

• F1-score: Tính toán điểm F1 để cân bằng giữa recall và precision

Trang 10

7

4.4.1 Đánh giá theo lớp 0.0 (khách hàng không rời bỏ):

Precision: 0.94, điều này cho thấy 94% trong số những khách hàng được dự đoán không

rời bỏ thực sự là không rời bỏ

Recall: 0.84, cho biết 84% trong số khách hàng không rời bỏ đã được mô hình phát hiện

đúng

F1-Score: 0.89, chỉ số này là trung bình hài hòa giữa precision và recall, cho thấy mô hình hoạt động khá tốt trong việc nhận diện khách hàng không rời bỏ

Support: 513, tổng số khách hàng không rời bỏ trong tập kiểm tra là 513

4.4.2 Đánh giá theo lớp 1.0 (khách hàng rời bỏ):

Precision: 0.31, chỉ ra rằng chỉ có 31% trong số những khách hàng được dự đoán rời bỏ thực sự là rời bỏ

Recall: 0.57, cho thấy 57% trong số khách hàng rời bỏ đã được mô hình phát hiện đúng

Trang 11

8

F1-Score: 0.40, chỉ số này thấp hơn nhiều so với lớp không rời bỏ, cho thấy mô hình gặp khó khăn trong việc nhận diện khách hàng có khả năng rời bỏ

Support: 63, tổng số khách hàng rời bỏ trong tập kiểm tra là 63

4.4.3 Tổng quan mô hình:

Accuracy: 0.81, mô hình đạt được độ chính xác 81% trên toàn bộ tập kiểm tra, cho thấy rằng phần lớn các dự đoán của mô hình là chính xác

Macro Average: Precision: 0.62, Recall: 0.71, F1-Score: 0.64, các chỉ số này tính toán

trên cơ sở trung bình không trọng số giữa các lớp, phản ánh hiệu suất tổng quát của mô hình trên

cả hai nhóm khách hàng

Weighted Average: Precision: 0.87, Recall: 0.81, F1-Score: 0.84, các chỉ số này tính toán

trên cơ sở trung bình có trọng số theo số lượng mẫu trong từng lớp, cho thấy mô hình hoạt động

tốt hơn trong việc dự đoán khách hàng không rời bỏ

4.4.4 Khu vực dưới đường cong (AUC):

AUC: 0.71

Khu vực dưới đường cong (AUC) cho thấy khả năng phân loại của mô hình Với AUC = 0.71, mô hình có khả năng phân biệt giữa hai lớp khách hàng rời bỏ và không rời bỏ ở mức độ vừa phải, nhưng còn nhiều tiềm năng để cải thiện

Trang 12

9

4.4.5 Kết luận:

Mô hình Decision Tree đã hoạt động khá tốt trong việc nhận diện khách hàng không rời

bỏ, nhưng cần cải thiện đáng kể trong việc dự đoán khách hàng có khả năng rời bỏ Việc điều chỉnh thêm các tham số của mô hình hoặc áp dụng các kỹ thuật khác để xử lý sự không cân bằng dữ liệu

có thể giúp cải thiện hiệu suất của mô hình trong tương lai

Trang 13

10

4.5 Feature Importance

Trang 14

11

Trong quá trình phân tích và xây dựng mô hình dự đoán khách hàng rời bỏ (customer churn), một trong những yếu tố quan trọng là xác định mức độ ảnh hưởng của các đặc trưng khác

nhau đến kết quả dự đoán Dựa trên kết quả từ hàm plot_feature_importances trong mô hình Cây

Quyết Định, các đặc trưng đã được sắp xếp theo mức độ quan trọng như sau:

1 Maximum_days_inactive: Số ngày tối đa không hoạt động của khách hàng là đặc trưng

quan trọng nhất, cho thấy rằng thời gian không hoạt động lâu có thể là một chỉ số mạnh về khả năng khách hàng rời bỏ

2 Maximum daily mins: Số phút tối đa xem hàng ngày cũng đóng vai trò quan trọng, cho

thấy mối quan hệ giữa việc sử dụng dịch vụ và khả năng giữ chân khách hàng

3 Customer support calls: Số lần khách hàng gọi hỗ trợ khách hàng là một yếu tố đáng kể,

điều này có thể chỉ ra rằng sự cần thiết phải liên lạc với dịch vụ khách hàng có thể liên quan đến khả năng rời bỏ

4 No of days subscribed: Số ngày đã đăng ký dịch vụ cho thấy rằng thời gian sử dụng dịch

vụ cũng có thể ảnh hưởng đến quyết định của khách hàng về việc rời bỏ

5 Minimum daily mins: Số phút tối thiểu xem hàng ngày cho thấy rằng thói quen sử dụng

dịch vụ của khách hàng có thể đóng vai trò quan trọng trong quyết định của họ

6 Weekly nights max mins: Số phút tối đa xem vào ban đêm trong tuần cũng góp phần vào

việc xác định sự tương tác của khách hàng với dịch vụ

7 Weekly mins watched: Tổng số phút xem hàng tuần có thể phản ánh mức độ hài lòng và

sự tương tác của khách hàng với dịch vụ

8 Age: Tuổi tác của khách hàng cũng là một yếu tố, tuy nhiên ảnh hưởng của nó có thể không

mạnh như các đặc trưng khác

9 Videos watched: Số lượng video đã xem có thể cho thấy sự tương tác của khách hàng với

nội dung, nhưng có thể không phải là yếu tố chính trong quyết định rời bỏ

Những kết quả này cung cấp cái nhìn sâu sắc về những yếu tố nào có thể ảnh hưởng đến khả năng khách hàng rời bỏ Việc nhận diện các đặc trưng quan trọng này có thể hỗ trợ trong việc phát triển các chiến lược giữ chân khách hàng hiệu quả hơn, từ đó nâng cao hiệu suất kinh doanh

và giảm tỷ lệ churn

Ngày đăng: 11/03/2025, 14:22

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w