我的数据集包含32个分类变量和一个数字连续变量(sales_volume)
首先,我使用一键编码(pd.get_dummies)将分类变量转换为二进制,现在我有1294列,因为每一列都有几个分类变量。
现在我想在使用任何尺寸缩减技术之前将其缩减。
选择最有效的变量的最佳选择是什么?
例如;一个类别变量具有两个答案“是”和“否”。 “是”一栏是否具有重要意义,而“否”一栏没有什么可解释的?您要删除问题(“是”和“否”列)还是只是“否”列?
谢谢。
答案 0 :(得分:1)
在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()