【发布时间】:2017-07-07 07:45:43
【问题描述】:
我正在训练一个有 10 个左右分类输入的神经网络。在对这些分类输入进行一次热编码后,我最终将大约 500 个输入输入到网络中。
我希望能够确定我的每个分类输入的重要性。 Scikit-learn 有numerous feature importance algorithms,但是这些都可以应用于分类数据输入吗?所有示例都使用数字输入。
我可以将这些方法应用于 one-hot 编码输入,但在应用于二值化输入后,我将如何提取含义?如何判断分类输入的特征重要性?
【问题讨论】:
-
我已经成功使用了支持
discrete_features=True的mutual_info_score。 -
@A555h5 似乎它实际上并不需要是一个 Numpy 数组,您提供的列表作为输入就可以正常工作(尽管您可以使用带有
dtype=np.str的 Numpy 数组,其中包含字符串和它也可以工作)。 -
一般来说,对于这样的情况,您会使用索引编码,其中分类特征的每个级别都映射到整数 0、1 等。看看 Scikit 中的
LabelEncoder-在 Pandas 中学习或 categorical series。 -
在回答您对 Vivek 的问题时,这取决于您要完成的工作。您可以使用重要性度量来修剪整个特征(“特征选择”),或者您可以对它们进行一次性编码并仅修剪某些级别(“值选择”)。两种方式我都见过。
标签: python algorithm machine-learning scikit-learn neural-network