【发布时间】:2018-12-09 19:43:24
【问题描述】:
在大多数学术示例中,我们曾经使用get_dummies 或OneHotEncoder 转换分类特征。假设我想使用Country 作为特征,并且在数据集中我们有 100 个独特的国家。当我们在国家/地区应用 get_dummies 时,我们将获得 100 列,并且模型将使用 100 个国家/地区列和其他特征进行训练。
可以说,我们已将该模型部署到生产中,但我们只收到了 10 个国家/地区。当我们使用get_dummies 对数据进行预处理时,模型将无法进行预测,因为“模型训练的特征数量与传递的特征不匹配”,因为我们正在传递 10 个国家/地区列和其他特征。
我看到了下面的文章,我们可以使用监督比率、证据权重来计算分数。但是当我们要预测生产中的目标时如何计算分数,需要将哪个国家分配给正确的数字。
https://www.kdnuggets.com/2016/08/include-high-cardinality-attributes-predictive-model.html
你能帮我理解如何处理这种情况吗?
【问题讨论】:
-
对于高基数分类特征,最好使用 CatBoost - 接受此类数据的梯度提升,或将目标编码作为预处理。它通常会提供更好的质量。
标签: python machine-learning data-science data-processing