模型验证简介

Python 中的模型验证

Kasey Jones

Data Scientist

什么是模型验证?

模型验证包括:

  • 确保模型在新数据上按预期表现
  • 在留出集上测试性能
  • 选择最佳模型、参数与评估指标
  • 在给定数据上达到最佳准确率
Python 中的模型验证

scikit-learn 建模回顾

基础建模步骤:

model = RandomForestRegressor(n_estimators=500, random_state=1111)

model.fit(X=X_train, y=y_train)
RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,
           max_features='auto', max_leaf_nodes=None,
           min_impurity_decrease=0.0, min_impurity_split=None,
           min_samples_leaf=1, min_samples_split=2,
           min_weight_fraction_leaf=0.0, n_estimators=500, n_jobs=1,
           oob_score=False, random_state=1111, verbose=0, warm_start=False)
Python 中的模型验证

建模回顾(续)

predictions = model.predict(X_test)

print("{0:.2f}".format(mae(y_true=y_test, y_pred=predictions)))
10.84

平均绝对误差(MAE)公式

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

Python 中的模型验证

复习先修内容

Python 中的模型验证

Fivethirtyeight 提供多个数据集,包括万圣节糖果排名数据集。每种糖果都有 0–100% 的对局胜率。

Python 中的模型验证

已见 vs. 未见数据

训练数据 = 已见数据

model = RandomForestRegressor(n_estimators=500, random_state=1111)
model.fit(X_train, y_train)
train_predictions = model.predict(X_train)

测试数据 = 未见数据

model = RandomForestRegressor(n_estimators=500, random_state=1111)
model.fit(X_train, y_train)
test_predictions = model.predict(X_test)
Python 中的模型验证

让我们开始吧!

Python 中的模型验证

Preparing Video For Download...