集成方法
微调系统的另一种方法是尝试组合性能最佳的模型。 群体(或“整体”)通常会比最好的单个模型表现得更好,就像随机森林
比它们所依赖的单个决策树
表现更好一样,特别是当各个模型犯下不同类型的错误时。 例如,您可以训练和微调 k 最近邻模型,然后创建一个仅预测随机森林
预测和该模型预测的平均值的集成模型。
分析最佳模型及其错误
通过检查最佳模型,您通常会获得对问题的深入见解。 例如,RandomForestRegressor
可以指示每个属性对于做出准确预测的相对重要性:
让我们按降序对这些重要性分数进行排序,并将它们显示在相应的属性名称旁边:
有了这些信息,您可能想尝试删除一些不太有用的功能(例如,显然只有一个ocean_proximity
类别真正有用,因此您可以尝试删除其他功能)。
您还应该查看系统所犯的具体错误,然后尝试了解为什么会犯这些错误,以及如何解决问题:添加额外的功能或删除无信息的功能,清理异常值等。
现在也是一个好时机,可以确保您的模型不仅平均运行良好,而且适用于所有类别的地区,无论是农村还是城市、富裕还是贫穷、北部还是南部、少数民族还是非少数民族等。 每个类别的验证集需要一些工作,但这很重要:如果您的模型在整个地区类别上表现不佳,那么在问题解决之前可能不应该部署它,或者至少不应该使用它 对该类别进行预测,因为它可能弊大于利。
在测试集上评估您的系统
对模型进行一段时间的调整后,您最终会得到一个性能足够好的系统。 您已准备好在测试集上评估最终模型。 这个过程没有什么特别的; 只需从测试集中获取预测变量和标签并运行Final_model
来转换数据并进行预测,然后评估这些预测:
X_test = strat_test_set.drop("median_house_value", axis=1)
y_test = strat_test_set["median_house_value"]