预测客户交易

Python 营销中的机器学习

Karolis Urbonas

Head of Analytics & Science, Amazon

建模方法

  • 线性回归预测下个月的交易量。
  • 与逻辑回归相同的建模步骤。
Python 营销中的机器学习

建模步骤

  1. 将数据划分为训练集和测试集
  2. 初始化模型
  3. 在训练集上训练模型
  4. 在测试集上预测
  5. 在测试集上评估性能
Python 营销中的机器学习

回归性能指标

关键指标:

  • 均方根误差(RMSE)——预测与实际差值平方的平均数开方
  • 平均绝对误差(MAE)——预测与实际差值绝对值的平均数
  • 平均绝对百分比误差(MAPE)——预测与实际的百分比差的平均数(实际值不能为 0)
Python 营销中的机器学习

更多回归与监督学习指标

  • R 平方:表示模型解释的方差比例。仅用于回归,非分类。数值越高越好。

  • 系数 p 值:系数因偶然出现的概率。越低越好。常用阈值为 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 平方

R 平方

Python 营销中的机器学习

解读系数的 p 值

系数 p 值

Python 营销中的机器学习

让我们构建一些回归模型!

Python 营销中的机器学习

Preparing Video For Download...