Báo cáo bài tập lớn học phần 7080626 thương mại điện tử đề tài 7 p07 ds4marketing

34 2 0
Báo cáo bài tập lớn học phần 7080626 thương mại điện tử đề tài 7 p07 ds4marketing

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT KHOA CNTT - - BÁO CÁO BÀI TẬP LỚN HỌC PHẦN: 7080626 THƯƠNG MẠI ĐIỆN TỬ Đề tài 7: P07_DS4Marketing Giảng viên hướng dẫn: Dương Thị Hiền Thanh Sinh viên thực hiên: Bùi Quang Huy Mã sinh viên: 1921050292 HÀ NỘI, 2022 MỤC LỤC Giữ chân khách hàng 1.1.tỷ lệ rời bỏ chân khách hàng 1.2 mạng nơ-ron nhân tạo Dự đoán tỷ lệ dời bỏ khách hàng với python 2.1 phân tích chuẩn bị liệu 2.1.1 Mã hóa mục tiêu 2.1.2 Xử lý giá trị bị thiếu cột TotalChargres 2.1.3 Chuyển đổi biến liên tục 2.1.4 Các biến phân loại mã hóa nóng .10 2.2 ANN với keras 14 2.3 Đánh giá mơ hình 16 Dự đoán dời bỏ khách hàng với R 19 3.1 Phân tích liệu 20 3.2 ANN với keras .28 3.3 Đánh giá mơ hình 30 Tóm tắt 32 Giữ chân khách hàng Khi khách hàng có nhiều lựa chọn cho nội dung tương tự để tiêu thụ sản phẩm dịch vụ tương tự để mua sắm, nhiều doanh nghiệp trở nên khó khăn việc giữ chân khách hàng họ không để họ vào tay đối thủ cạnh tranh khác Vì chi phí để có khách hàng thường cao so với việc giữ chân giữ chân khách hàng tại, việc rời bỏ khách hàng ngày trở thành mối quan tâm hết Để giữ chân khách hàng không để họ vào tay đối thủ cạnh tranh, doanh nghiệp không nên cố gắng hiểu khách hàng họ nhu cầu lợi ích khách hàng họ, mà họ cịn xác định khách hàng có khả rời bỏ cao làm để giữ chân khách hàng có nguy rời bỏ Trong chương này, sâu vào tỷ lệ rời bỏ khách hàng cách gây tổn hại cho doanh nghiệp, cách giữ chân khách hàng Chúng thảo luận số lý phổ biến khiến khách hàng rời bỏ doanh nghiệp xem xét cách khoa học liệu giúp giảm nguy khách hàng Như cách để dự đoán tỷ lệ rời bỏ khách hàng, tìm hiểu mơ hình mạng nơ-ron nhân tạo ứng dụng lĩnh vực khác nhau, cách xây dựng mơ hình Python R Trong chương này, đề cập đến chủ đề sau: Tỷ lệ rời bỏ giữ chân khách hàng  Mạng lưới thần kinh nhân tạo  Dự đoán khách hàng bỏ với Python  Dự đoán khách hàng bỏ với R 1.1.Tỷ lệ dời bỏ chân khách hàng Khách hàng rời bỏ khách hàng định ngừng sử dụng dịch vụ, nội dung sản phẩm từ công ty Như thảo luận ngắn gọn Chapter 7, Phân tích khám phá cho hành vi khách hàng, thảo luận phân tích khách hàng, việc giữ chân khách hàng tốn nhiều so với việc có khách hàng doanh thu từ khách hàng lặp lại thường cao so với hình thức khách hàng Trong ngành cơng nghiệp cạnh tranh, nơi doanh nghiệp phải đối mặt với nhiều đối thủ cạnh tranh, chi phí thu hút khách hàng chí cịn cao việc giữ chân khách hàng trở nên quan trọng doanh nghiệp Có nhiều lý đằng sau việc khách hàng rời bỏ doanh nghiệp Một số lý phổ biến khiến khách hàng rời bỏ dịch vụ khách hàng kém, không tìm thấy đủ giá trị sản phẩm dịch vụ, thiếu thơng tin liên lạc thiếu lịng trung thành khách hàng Bước để giữ chân khách hàng theo dõi tỷ lệ tiêu hao khách hàng theo thời gian Nếu tỷ lệ tiêu hao thường cao tăng theo thời gian, bạn nên dành số nguồn lực để cải thiện khả giữ chân khách hàng Để cải thiện tỷ lệ giữ chân khách hàng, ưu tiên hàng đầu nên hiểu khách hàng tốt Bạn khảo sát khách hàng khuấy động để hiểu lý họ rời Bạn khảo sát khách hàng để hiểu nhu cầu họ điểm khó khăn họ Một cách tiếp cận khoa học liệu phân tích liệu xem xét liệu Ví dụ: bạn xem liệu hoạt động web khách hàng hiểu nơi họ dành nhiều thời gian nhất, liệu có lỗi trang mà họ xem hay kết tìm kiếm họ không trả nội dung tốt hay khơng Bạn xem nhật ký gọi dịch vụ khách hàng để hiểu thời gian chờ đợi họ bao lâu, khiếu nại họ vấn đề họ xử lý Tiến hành phân tích sâu điểm liệu tiết lộ vấn đề mà doanh nghiệp gặp phải việc giữ chân khách hàng Khi phân tích thay đổi khách hàng, bạn sử dụng số chủ đề mà thảo luận sách Bạn áp dụng chúng tơi học từ C hapter 5, Phân tích sản phẩm Chương 6, Đề xuất sản phẩm phù hợp, để hiểu sản phẩm phục vụ nhu cầu sở thích khách hàng tốt nhất, đồng thời đề xuất sản phẩm phù hợp để bạn cung cấp nội dung cá nhân hóa Bạn sử dụng chúng tơi học từ Cha pter 7, Phân tích khám phá cho hành vi khách hàng Chương 10, Phân khúc khách hàng theo hướng liệu, để hiểu rõ hành vi khách hàng phân khúc khách hàng khác Một cách khác xây dựng mơ hình máy học dự đốn khách hàng có khả rời bỏ nhắm mục tiêu giữ chân khách hàng cụ thể có nguy rời bỏ cao Trong phần sau, thảo luận cách xây dựng mơ hình mạng nơ-ron để xác định khách hàng có nguy rời bỏ cao để giữ chân khách hàng 1.2.Mạng nơ-ron nhân tạo Mơ hình mạng nơ-ron nhân tạo (ANN) mơ hình học máy lấy cảm hứng từ cách não người hoạt động Các ứng dụng thành công gần mô hình ANN nhận dạng hình ảnh, nhận dạng giọng nói robot chứng minh sức mạnh dự đốn tính hữu dụng chúng ngành cơng nghiệp khác Bạn nghe thuật ngữ học sâu Đây loại mơ hình ANN số lượng lớp lớp đầu vào đầu lớn Nó giải thích tốt với sơ đồ sau: Sơ đồ cho thấy trường hợp đơn giản mơ hình ANN với lớp ẩn Các vòng tròn sơ đồ đại diện cho tế bào thần kinh nút nhân tạo, mơ hình hóa tế bào thần kinh não người Các mũi tên đại diện cho cách tín hiệu truyền từ tế bào thần kinh sang tế bào thần kinh khác Như sơ đồ cho thấy, mơ hình ANN học cách tìm mẫu trọng lượng tín hiệu từ tế bào thần kinh đầu vào đến tế bào thần kinh lớp tiếp theo, dự đoán tốt đầu Loại cụ thể mơ hình ANN mà chúng tơi thử nghiệm tập lập trình sau mơ hình perceptron đa lớp (MLP) Nói cách đơn giản, mơ hình MLP mơ hình mạng nơ-ron có nhiều lớp nút ẩn Bao gồm lớp cho đầu vào lớp khác cho đầu ra, mơ hình MLP bao gồm ba nhiều lớp nút Sơ đồ vừa xem xét trường hợp đơn giản mơ hình MLP, nơi có lớp ẩn Mơ hình ANN sử dụng nhiều lĩnh vực tiếp thị Sử dụng mô hình mạng nơ-ron BrainMaker, Microsoft tăng tỷ lệ phản hồi thư trực tiếp từ 4,9% lên 8,2% Điều giúp Microsoft mang lại lượng doanh thu với chi phí thấp 35% Tương tự, vấn đề dự đoán tương tác tiếp thị mà thảo luận Chương 8, Dự đốn khả tham gia tiếp thị, sử dụng mơ hình mạng nơ-ron, thay mơ hình rừng ngẫu nhiên Chúng tơi sử dụng mơ hình mạng nơ-ron cho vấn đề phân khúc khách hàng mà thảo luận Chương 10, Phân khúc khách hàng theo hướng liệu Trong tập lập trình sau đây, thảo luận cách sử dụng mơ hình ANN để dự đốn khách hàng có khả rời bỏ 2.Dự đoán tỷ lệ dời bỏ khách hàng với python Trong phần này, thảo luận cách sử dụng mơ hình ANN để dự đốn khách hàng có nguy rời khách hàng có khả rời cao Đến cuối phần này, chúng tơi xây dựng mơ hình dự đốn tỷ lệ rời bỏ khách hàng cách sử dụng mơ hình ANN Chúng tơi chủ yếu sử dụng gói pandas, matplotlib keras để phân tích, trực quan hóa xây dựng mơ hình học máy Đối với độc giả muốn sử dụng R, thay Python, cho tập này, bạn chuyển sang phần Đối với tập này, sử dụng liệu có sẵn cơng khai từ cộng đồng IBM Watson Analytics, tìm thấy liên kết này: https://www.ibm.com/communities/analytics/watson-analytics-blog/predictive-insi ghts-in-the-telco-customer-churn-data-set/ Bạn theo liên kết tải xuống liệu có sẵn định dạng XLSX, có tên WA_Fn-UseC_-Telco-CustomerChurn.xlsx Khi bạn tải xuống liệu này, bạn tải vào Sổ ghi chép Jupyter cách chạy lệnh sau: import pandas as pd df = pd.read_excel(' /data/WA_Fn-UseC_-Telco-Customer-Churn.xlsx') DataFrame, df, hiển thị ảnh chụp hình sau: Có 21 biến tập liệu này, mục tiêu chúng tơi dự đốn biến mục tiêu, Churn 2.1.Phân tích chuẩn bị liệu Như bạn nhận thấy cách xem liệu, có số điều cần làm trước bắt đầu xây dựng mơ hình học máy Trong phần này, chuyển đổi biến liên tục có giá trị tiền tệ mã hóa biến mục tiêu, Churn, biến phân loại khác Để làm vậy, thực bước sau: Mã hóa biến mục tiêu: Như bạn nhận thấy từ liệu, biến đích, Churn, có hai giá trị: Có Khơng Chúng ta mã hóa giá trị cho Có cho Khơng Mã để mã hóa biến đích trơng giống sau: df['Churn'] = df['Churn'].apply(lambda x: if x == 'Yes' else 0) Để có tỷ lệ tiêu hao tổng thể, bạn cần chạy mã sau: df['Churn'].mean() Đầu mã khoảng 0,27, điều cho thấy khoảng 27% khách hàng khuấy động Tỷ lệ tiêu hao 27% số nhỏ; thay vào đó, đủ cao để doanh nghiệp lo lắng việc khách hàng tổng thể bị tiêu hao đưa giải pháp để giữ chân khách hàng Trong phần mơ hình hóa sau đây, thảo luận cách dự đốn khách hàng có khả rời bỏ liệu sử dụng dự đoán để giữ chân khách hàng Xử lý giá trị bị thiếu cột TotalCharges: Nếu bạn xem qua cột TotalCharges tập liệu, bạn nhận thấy có số ghi khơng có giá trị TotalCharges Vì có 11 ghi bị thiếu giá trị TotalCharges, cần bỏ qua thả ghi có giá trị bị thiếu Hãy xem đoạn mã sau: df['TotalCharges'] = df['TotalCharges'].replace(' ', np.nan).astype(float) df = df.dropna() Như bạn nhận thấy từ mã này, đơn giản thay giá trị khoảng trống giá trị nan Sau đó, chúng tơi thả tất ghi có giá trị nan cách sử dụng hàm dropna Chuyển đổi biến liên tục: Bước mở rộng biến liên tục Hãy xem số liệu thống kê tóm tắt sau cho biến liên tục: Bạn nhận số liệu thống kê tóm tắt cách sử dụng mã sau: df[['tenure', 'MonthlyCharges', 'TotalCharges']].describe() Như bạn thấy từ số liệu thống kê tóm tắt, ba nhiệm kỳ, MonthlyCharges TotalCharges biến liên tục có thang đo khác Biến nhiệm kỳ, nằm khoảng từ đến 72, biến TotalCharges , nằm khoảng từ 18.8 đến 8684.8 Các mơ hình ANN thường hoạt động tốt với tính thu nhỏ chuẩn hóa Hãy xem đoạn mã sau để chuẩn hóa ba tính này: df['MonthlyCharges'] = np.log(df['MonthlyCharges']) df['MonthlyCharges'] = (df['MonthlyCharges'] df['MonthlyCharges'].mean())/df['MonthlyCharges'].std() df['TotalCharges'] = np.log(df['TotalCharges']) df['TotalCharges'] = (df['TotalCharges'] df['TotalCharges'].mean())/df['TotalCharges'].st d() df['tenure'] = (df['tenure'] - df['tenure'].mean())/df['tenure'].std() Như bạn thấy từ code này, áp dụng log-transform trước sau chuẩn hóa biến liên tục cách trừ giá trị trung bình chia giá trị cho độ lệch chuẩn Kết trông sau: Như bạn thấy từ đầu này, tất biến có giá trị trung bình độ lệch sta Chúng tơi sử dụng biến chuẩn hóa cho việc xây dựng mo tương lai Các biến phân loại mã hóa nóng: Như bạn thấy từ liệu, có nhiều biến phân loại Trước tiên xem xét số lượng giá trị mà cột có Hãy xem đoạn mã sau: for col in list(df.columns): print(col, df[col].nunique()) Bạn sử dụng hàm nunique để đếm số lượng giá trị cột Đầu mã trông giống sau: Như kết đầu cho thấy, có 7032 ID khách hàng nhất, giới tính nhất, giá trị cho MultipleLines 6530 giá trị cho TotalCharges Chúng xử lý biến nhiệm kỳ, MonthlyCharges TotalCharges, bước trước, chúng tơi tập trung vào biến với đến giá trị Chúng ta xem xét phân phối số biến phân loại Trước tiên, để xem phân phối liệu nam nữ, bạn sử dụng mã sau để trực quan hóa: 10 hàng cách sử dụng mơ hình ANN Chúng tơi chủ yếu sử dụng thư viện dplyr, ggplot2 keras để phân tích, trực quan hóa xây dựng mơ hình học máy Đối với độc giả muốn sử dụng Python, thay R, cho tập này, xem phần trước Đối với tập này, sử dụng liệu có sẵn cơng khai từ cộng đồng IBM Watson Analytics, tìm thấy liên kết này: https://www.ibm.com/communities/analytics/watson-analytics-blog/predictiveinsi ghts-in-the-telco-customer-churn-data-set/ Bạn theo liên kết tải xuống liệu, có sẵn định dạng XLSX, có tên WA_Fn-UseC_- TelcoCustomer-Churn.xlsx Khi bạn tải xuống liệu này, bạn tải vào mơi trường RStudio : library(readxl) #### Load Data #### df % group_by(gender) %>% summarise(Count=n()), aes(x=gender, y=Count)) + geom_bar(width=0.5, stat="identity") + ggtitle('') + xlab("Gender") + ylab("Count") + theme(plot.title = element_text(hjust = 0.5)) Cốt truyện trông này: 22 As you can see from this bar plot, the distribution of the data across the two genders is roughly equally distributed You can use the same code to view th distribution of the data across different values of InternetService and PaymentMet Take a look at the following plots: 23 3000- 2000- 1000 - oD S' L Fibe r' optic Inte rnet Serviice 24 I No Biểu đồ cho thấy phân bố liệu ba categor khác biến InternetService biểu đồ thứ hai cho thấy phân bố d bốn loại khác biến PaymentMethod Như bạn thấy f này, dễ dàng hình dung hiểu phân bố biến phân loại trông cách sử dụng ô Chúng khuyên bạn nên vẽ biểu đồ cho biến phân loại khác để hiểu rõ phân phối liệu Biến đổi mã hóa: Bước biến đổi biến liên tục mã hóa biến phân loại lớp nhị phân Hãy xem đoạn mã sau: # Binary & Continuous Vars sampleDF % select(tenure, MonthlyCharges, TotalCharges, gender, Partner, Dependents, PhoneService, PaperlessBilling, Churn) %>% mutate( # transforming continuous vars tenure=(tenure mean(tenure))/sd(tenure), MonthlyCharges=(log(MonthlyCharges) mean(log(MonthlyCharges)))/sd(log(MonthlyCharges)), TotalCharges=(log(TotalCharges) mean(log(TotalCharges)))/sd(log(TotalCharges)), # encoding binary categorical vars gender=gender %>% as.factor() %>% as.numeric() - 1, Partner=Partner %>% as.factor() %>% as.numeric() - 1, Dependents=Dependents %>% as.factor() %>% as.numeric() - 1, PhoneService=PhoneService %>% as.factor() %>% as.numeric() 1, PaperlessBilling=PaperlessBilling %>% as.factor() %>% as.numeric() - 1, Churn=Churn %>% as.factor() %>% as.numeric() - ) Như bạn thấy từ mã này, chúng tơi đơn giản mã hóa biến với hai danh mục, giới tính, Đối tác, Người phụ thuộc, PhoneService, PaperlessBilling Churn, với 0s 1s Sau đó, chúng tơi áp dụng chuyển đổi log cho hai biến liên tục có giá trị tiền tệ MonthlyCharges TotalCharges Ngồi ra, chúng tơi chuẩn hóa ba biến liên tục, tenure, MonthlyCharges TotalCharges, cho biến tập trung vào khoảng có độ lệch chuẩn Điều mơ hình ANN thường hoạt động tốt với tính chia tỷ lệ chuẩn hóa Sau biến đổi, phân phối ba biến liên tục trông ảnh chụp hình sau: 25 Như bạn thấy, phương tiện ba biến đổi độ lệch chuẩn Trong đó, trước biến đổi này, phân phối trông giống sau: Biến phân loại mã hóa nóng: Có tập hợp biến cuối cần chuyển đổi: biến phân loại nhiều lớp có ba nhiều loại Chúng ta áp dụng mã hóa nóng tạo biến giả cho biến Hãy xem đoạn mã sau: # Dummy vars # install.packages('dummies') library(dummies) sampleDF

Ngày đăng: 11/04/2023, 05:56

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan