Dự đoán giao dịch của khách hàng

Machine Learning cho Marketing với Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Cách tiếp cận mô hình

  • Hồi quy tuyến tính để dự đoán giao dịch tháng sau.
  • Quy trình mô hình giống hồi quy logistic.
Machine Learning cho Marketing với Python

Các bước mô hình hóa

  1. Chia dữ liệu thành train và test
  2. Khởi tạo mô hình
  3. Huấn luyện trên tập train
  4. Dự đoán trên tập test
  5. Đo lường hiệu suất trên tập test
Machine Learning cho Marketing với Python

Chỉ số đánh giá hồi quy

Chỉ số chính:

  • RMSE - Căn bậc hai sai số bình phương trung bình giữa dự đoán và thực tế
  • MAE - Sai số tuyệt đối trung bình giữa dự đoán và thực tế
  • MAPE - Sai số phần trăm tuyệt đối trung bình (thực tế không được bằng 0)
Machine Learning cho Marketing với Python

Chỉ số bổ sung cho hồi quy và học có giám sát

  • R-squared - thước đo phần trăm phương sai được mô hình giải thích. Chỉ áp dụng cho hồi quy, không áp dụng cho phân loại. Càng cao càng tốt.

  • Giá trị p của hệ số - xác suất hệ số (hồi quy hoặc phân loại) xuất hiện do ngẫu nhiên. Càng thấp càng tốt. Ngưỡng thường dùng: 5% và 10%.

Machine Learning cho Marketing với Python

Huấn luyện mô hình

# Import the linear regression module
from sklearn.linear_model import LinearRegression

# Initialize the regression instance linreg = LinearRegression()
# Fit model on the training data linreg.fit(train_X, train_Y)
# Predict values on both training and testing data train_pred_Y = linreg.predict(train_X) test_pred_Y = linreg.predict(test_X)
Machine Learning cho Marketing với Python

Đo lường hiệu suất mô hình

# Import performance measurement functions
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error

# Calculate metrics for training data rmse_train = np.sqrt(mean_squared_error(train_Y, train_pred_Y)) mae_train = mean_absolute_error(train_Y, train_pred_Y)
# Calculate metrics for testing data rmse_test = np.sqrt(mean_squared_error(test_Y, test_pred_Y)) mae_test = mean_absolute_error(test_Y, test_pred_Y)
# Print performance metrics print('RMSE train: {:.3f}; RMSE test: {:.3f}\nMAE train: {:.3f}, MAE test: {:.3f}'.format( rmse_train, rmse_test, mae_train, mae_test))
RMSE train: 0.717; RMSE test: 1.216
MAE train: 0.514, MAE test: 0.555
Machine Learning cho Marketing với Python

Diễn giải hệ số

  • Cần kiểm định ý nghĩa thống kê
  • Giới thiệu thư viện statsmodels
  • Cung cấp tóm tắt mô hình chi tiết
Machine Learning cho Marketing với Python

Xây dựng hồi quy với statsmodels

# Import the library
import statsmodels.api as sm

# Convert target variable to `numpy` array train_Y = np.array(train_Y)
# Initialize and fit the model olsreg = sm.OLS(train_Y, train_X) olsreg = olsreg.fit()
# Print model summary print(olsreg.summary())
Machine Learning cho Marketing với Python

Bảng tóm tắt hồi quy

Tóm tắt OLS

Machine Learning cho Marketing với Python

Diễn giải R-squared

R-squared

Machine Learning cho Marketing với Python

Diễn giải giá trị p của hệ số

Giá trị p của hệ số

Machine Learning cho Marketing với Python

Hãy xây dựng vài mô hình hồi quy!

Machine Learning cho Marketing với Python

Preparing Video For Download...