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

Feature selection on binary dataset(categorical)

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

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

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

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

  2. 例如;一个分类变量有两个答案 'yes' 和 'no'。是否有可能 'yes' 列具有重要意义而 'no' 列没有什么可解释的?您会删除问题('yes' 和 'no' 列)还是仅删除 'no' 列?

提前致谢。

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()