【发布时间】:2021-02-18 18:50:03
【问题描述】:
我有一个数据库,我已将其拆分为训练和测试数据集,在训练集上拟合 XGBoost 模型,并在测试集上使用拟合模型进行预测。到目前为止一切都很好。
现在,如果我保存拟合模型并想在一个全新的数据集上使用它来进行预测,我的新数据库应该是什么样的?
是否必须包含确切数量的特征?
分类特征是否必须在两个数据库中具有相同的类别?
【问题讨论】:
-
它必须具有相同数量的特征。仅当模型具有相同数量/类型的特征时,无论值属于什么类别,该模型都会进行预测,但如果您想要正确的预测,您可能希望新数据具有与训练数据相同的格式。跨度>
-
@DKDK 那么这是否意味着具有类别特征的确切类别数量?因为在进行标签编码后,我需要得到相同数量的列。例如,如果我有一个具有 4 种颜色的颜色特征,那么将从该特征创建 4 列。所以如果我的新数据库有 5 种颜色而不是 4 种颜色,它将创建 5 个新列,因此我的输入特征数量会改变。如果我在这里弄错了,请告诉我。最好的问候。
-
您必须为分类特征输入完全相同数量的类别。如果您当前的预测数据与训练集的格式不同,则在将其输入模型之前重新格式化。如果您考虑一下,制作 xgboost 或任何机器学习模型的全部意义在于从固定数量的类别中做出可行的预测。
-
@DKDK 非常感谢您的帮助。这是一个非常有见地的评论,让整个事情对我来说更加清晰
-
我投票结束这个问题,因为它不是关于 help center 中定义的编程,而是关于 ML 理论和方法。
标签: python database machine-learning regression xgboost