預測客戶交易

Python 的行銷機器學習

Karolis Urbonas

Head of Analytics & Science, Amazon

建模方法

  • 使用線性迴歸預測下個月交易量。
  • 與邏輯斯迴歸相同步驟建模。
Python 的行銷機器學習

建模步驟

  1. 將資料切分為訓練與測試
  2. 初始化模型
  3. 在訓練資料上擬合模型
  4. 在測試資料上預測
  5. 在測試資料上評估模型效能
Python 的行銷機器學習

迴歸效能指標

重點指標:

  • 均方根誤差(RMSE)-預測與實際之平方差的平均後再開根號
  • 平均絕對誤差(MAE)-預測與實際之絕對差的平均
  • 平均絕對百分比誤差(MAPE)-預測與實際之百分比差的平均(實際值不可為 0)
Python 的行銷機器學習

其他迴歸與監督式學習指標

  • R-squared-模型解釋變異比例的統計量。僅適用於迴歸,適用於分類。越高越好。

  • 係數的 p-value-觀察到該迴歸(或分類)係數純屬巧合的機率。越低越好。 常見門檻為 5% 與 10%。

Python 的行銷機器學習

訓練模型

# 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)
Python 的行銷機器學習

評估模型效能

# 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
Python 的行銷機器學習

解讀係數

  • 需要檢定統計顯著性
  • 介紹 statsmodels 函式庫
  • 提供詳細的模型摘要
Python 的行銷機器學習

用 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())
Python 的行銷機器學習

迴歸摘要表

OLS 摘要

Python 的行銷機器學習

解讀 R-squared

R-squared

Python 的行銷機器學習

解讀係數 p-value

係數 p-value

Python 的行銷機器學習

一起來練習吧!

Python 的行銷機器學習

Preparing Video For Download...