如何预处理高基数分类功能?

时间:2015-08-31 20:55:06

标签: machine-learning data-mining logistic-regression

我有一个具有不同移动设备功能的数据文件。具有分类数据类型的一列具有1421种不同类型的值。我正在尝试训练逻辑回归模型以及我拥有的其他数据。 我的问题是:上面描述的高基数列会影响我正在训练的模型吗?如果是,我该如何预处理此列以使其具有较少数量的不同值?

3 个答案:

答案 0 :(得分:0)

您在这里能做的最好的事情就是使用您拥有的领域知识对功能进行分组。例如品牌手机。如果没有该信息,您可以做的是可以按频率对要素进行分组。例如,任何不代表超过5%数据的功能,您可以将其分组。您也可以同时使用这两种方法。有关更多信息,请参阅this article

由于逻辑回归是基于距离的模型(通常是最小二乘法),因此遭受了curse of dimensionality的困扰。

希望这会帮助到很晚。

谢谢

迈克尔

答案 1 :(得分:-1)

通常,执行降维任务(如PCA和FA)以确定哪些特征最重要。

例如,在PCA是最受欢迎且易于使用的维数减少任务的情况下,重要性由值的最大变化来定义。

通过执行PCA,您可以“清除”不显着但可能导致过度拟合的变量。我建议您熟悉PCA,FA和SVD等主题。

答案 2 :(得分:-1)

您可以计算证据权重(WOE)来转换您的数字或分类变量。请参阅此链接http://www.kdnuggets.com/2016/08/include-high-cardinality-attributes-predictive-model.html以了解WOE。