在对模型进行了一段时间的调整之后,您最终会得到一个运行良好的系统。现在是在测试集上评估我们的最终模型的时候了。这个过程没有什么特别之处;只需要从测试集中获取预测器和标签,运行full_pipeline来转换数据(调用transform() ,而不是fit_transform() !),并在测试集上评估最终模型:

inal_model = grid_search.best_estimator_
X_test = strat_test_set.drop("median_house_value", axis=1)
y_test = strat_test_set["median_house_value"].copy()
X_test_prepared = full_pipeline.transform(X_test)
final_predictions = final_model.predict(X_test_prepared)
final_mse = mean_squared_error(y_test, final_predictions)
final_rmse = np.sqrt(final_mse) # => evaluates to 48,209.6

如果您进行了大量的超参数调优(因为您的系统在验证数据上执行得很好,并且很可能在未知的数据集上执行得很好),那么性能通常会比您使用交叉验证所度量的要差一些。在本例中并不是这样,当出现这种情况时,您必须抵制修改超参数的诱惑,使这些数字在测试集中看起来很好;这些改进不太可能推广到新的数据。

现在是项目的前期准备阶段:你需要展示你的解决方案((突出强调你所学到的东西,什么有效,什么不奏效,做了什么假设,以及你的系统的局限性是什么),记录所有的事情,用清晰的可视化和容易记住的陈述来创建漂亮的报告(例如,“收入中值是房价的第一个预测指标”)

results matching ""

    No results matching ""