准确性指标:回归模型

Python 中的模型验证

Kasey Jones

Data Scientist

回归模型

回归模型对连续变量建模,如得分、加仑数或小狗数量。

Python 中的模型验证

平均绝对误差(MAE)

 

$$ MAE = \frac{\sum_{i=1}^{n} |y_i - \hat{y}_i|}{n} $$

  • 最简单且直观的指标
  • 平等对待所有点
  • 对离群值不敏感
Python 中的模型验证

均方误差(MSE)

 

$$ MSE = \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i) ^2}{n} $$

  • 最常用的回归指标
  • 使离群误差对总体误差贡献更大
  • 例如随机的家庭自驾游会导致预测误差很大
Python 中的模型验证

MAE vs. MSE

  • 准确性指标始终与应用相关
  • MAE 与 MSE 的误差项单位不同,不应直接比较
Python 中的模型验证

平均绝对误差

rfr = RandomForestRegressor(n_estimators=500, random_state=1111)
rfr.fit(X_train, y_train)
test_predictions = rfr.predict(X_test)

sum(abs(y_test - test_predictions))/len(test_predictions)
9.99
from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_test, test_predictions)
9.99
Python 中的模型验证

均方误差

sum(abs(y_test - test_predictions)**2)/len(test_predictions)
141.4
from sklearn.metrics import mean_squared_error
mean_squared_error(y_test, test_predictions)
141.4
Python 中的模型验证

子集数据的准确性

chocolate_preds = rfr.predict(X_test[X_test[:, 1] == 1])
mean_absolute_error(y_test[X_test[:, 1] == 1], chocolate_preds)
8.79
nonchocolate_preds = rfr.predict(X_test[X_test[:, 1] == 0])
mean_absolute_error(y_test[X_test[:, 1] == 0], nonchocolate_preds)
10.99
Python 中的模型验证

Let's practice

Python 中的模型验证

Preparing Video For Download...