python - 二进制数据集的特征选择(分类)

标签 python categorical-data feature-selection

我的数据集有 32 个分类变量和一个数值连续变量(sales_volume)

首先,我使用单热编码 (pd.get_dummies) 将分类变量转换为二进制,现在我有 1294 列,因为每一列都有多个分类变量。

现在我想在使用任何降维技术之前减少它们。

  1. 选择最有效变量的最佳选项是什么?

  2. 例如;一个分类变量有两个答案"is"和“否”。是否有可能"is"列具有重要意义而“否”列没有什么可解释的?你会放弃问题("is"和“否”列)还是只是“否”列?

提前致谢。

最佳答案

sklearn 上,您可以使用 sklearn.feature_selection.SelectFromModel,它使您能够将模型拟合到所有特征,并仅选择在该模型中更重要的特征,例如 RandomForest。然后 get_support() 方法为您提供重要的功能。

from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_selection import SelectFromModel

clf = RandomForestClassifier()
sfm = SelectFromModel(clf)
sfm.fit(X,y)

sfm.get_support() 

关于python - 二进制数据集的特征选择(分类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53872255/

相关文章:

python - 循环锁定python中的变量

python - 在列表列表中查找前 N 个最频繁的数字序列

python - 混合数值和分类数据观测值之间成对距离计算的有效实现

python - scikit-learn 特征排名返回相同的值

python - 除了最后 - 运算符

python - 如何用 dict pandas python 替换分组数据框

r - 在 ggplot 中按因子生成多个图

r - 如何为分类数据创建 'clustered dotplots'?

python - 如何获取SOM(Self Organizing Maps)中的重要特征?

machine-learning - 排列不变神经网络