我的数据集有 32 个分类变量和一个数值连续变量(sales_volume)
首先,我使用单热编码 (pd.get_dummies) 将分类变量转换为二进制,现在我有 1294 列,因为每一列都有多个分类变量。
现在我想在使用任何降维技术之前减少它们。
选择最有效变量的最佳选项是什么?
例如;一个分类变量有两个答案"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/