找到重要的分类功能

dYz*_*dYz 15 feature-selection scikit-learn

我正在尝试使用逻辑回归模型对一些EEG数据进行分类(这似乎给出了我数据的最佳分类).我的数据来自多通道EEG设置,所以本质上我有一个63 x 116 x 50的矩阵(即通道x时间点x试验次数(有两种试验类型为50),我已将其重新设计为长矢量,每个试验一个.

我想做的是在分类后看看哪些特征在分类试验中最有用.我怎么能这样做,是否有可能测试这些功能的重要性?例如,分类主要由N特征驱动,这些特征是特征x到z.例如,我可以说时间点90-95的通道10对于分类来说是重要的或重要的.

这是可能的,还是我问错了?

任何评论或论文参考都非常感谢.

And*_*bas 37

Scikit-learn包含了很多功能排名方法,其中包括:

(更多信息,请访问http://scikit-learn.org/stable/modules/feature_selection.html)

其中,我绝对建议给予随机Logistic回归一次.根据我的经验,它始终优于其他方法并且非常稳定.论文:http://arxiv.org/pdf/0809.2932v2.pdf

编辑: 我已经写了一系列关于不同特征选择方法及其优缺点的博客文章,这可能对回答这个问题更有用:

  • 非随机L1惩罚模型也很好(即L1惩罚Logistic回归和LinearSVC).我对随机版本没有多少经验. (2认同)
  • 根据我的经验,非随机方法可能失败的情况是您具有强多线性特征的情况,在这种情况下,某些特征可以是数据的一个子集中的顶部特征,而另一个子集则是规则化的. (2认同)