高基数分类特征转化为数字

时间:2018-07-01 08:22:32

标签: python machine-learning data-science data-processing

在大多数学术示例中,我们都使用get_dummiesOneHotEncoder来转换分类特征。假设我想使用Country作为特征,在数据集中有100个唯一的国家/地区。当我们在国家/地区上应用get_dummies时,将获得100列,并且模型将通过100个国家/地区列以及其他功能进行训练。

让我们说,我们已经将此模型部署到生产中,并且我们仅接收了10个国家/地区。当我们使用get_dummies预处理数据时,模型将无法预测,因为当我们传递10个国家/地区的列以及其他特征时,“经过训练的特征模型与传递的特征不匹配”。

我碰到了下面的文章,我们可以使用监督比率,证据权重来计算得分。但是当我们要预测生产目标时如何计算分数,哪个国家需要分配正确的编号。

https://www.kdnuggets.com/2016/08/include-high-cardinality-attributes-predictive-model.html

您能帮我了解如何处理此类情况吗?

1 个答案:

答案 0 :(得分:0)

您可以做两件事。

  1. 在未结合训练集和测试/验证集数据之后应用OHE。
  2. 跳过OHE并应用StandardScaler,因为“如果一个特征的方差比其他特征大几个数量级,则它可能会支配目标函数并使估计器无法按预期正确学习其他特征。”

通常,当我在任何分类数据集中具有多个独特功能并可能导致测试/验证集时,我通常尝试第二种选择 随时纠正我。