关于特征选择技术的建议?

时间:2016-04-14 07:05:46

标签: python-3.x machine-learning data-analysis feature-selection data-science

  

块引用

我是机器学习的学生和初学者。我想做特色 选择列。我的数据集是50000 X 370,它是二进制文件 分类问题。 首先我删除了std.deviation = 0的列,然后我删除了重复的列,之后我检查了具有最高ROC曲线区域的前20个特征。做PCA的下一步应该是什么?任何人都可以为特征选择提供一系列步骤吗?

3 个答案:

答案 0 :(得分:0)

您已经在进行大量预处理。我建议的唯一额外步骤是在PCA之后标准化值。然后,您的数据应准备好输入您的学习算法。

或者你想避免PCA?如果您的功能之间的相关性不是太强,那么这可能没问题。然后跳过PCA并将值标准化。

答案 1 :(得分:0)

尝试L1正则化。这是删除不太相关的功能的标准方法。

http://www.andrewng.org/portfolio/feature-selection-l1-vs-l2-regularization-and-rotational-invariance/

答案 2 :(得分:0)

您可以尝试以下技巧/算法:

  1. L1正则化:这将生成稀疏特征矩阵;大多数要素权重为零。但是,如果您拥有高维数据集,这种技术非常有用,在您的情况下似乎也是如此。有些算法不支持正则化。

  2. 顺序功能选择:对于那些不支持正则化的算法非常有用。这些算法自动选择与问题更相关的特征子集。你可以在这里找到更多相关信息:(1)Comparative Study of Techniques for Large Scale Feature Selection,F。Ferri,P。Pudil,M。Hatef和J. Kittler。大规模特征选择技术的比较研究。实践IV中的模式识别,第403-413页,1994。(2)Feature selection in scikit-learn

  3. 降低维度:如果您的问题是线性的,即您的数据可线性分离,则PCA(主成分分析)和LDA(线性判别分析)将很有效。如果数据不是线性可分的,那么您可以尝试内核主成分分析。

  4. 随机森林的特征重要性:这是一种集合技术,可以为您提供要素重要性(数值)。您可以丢弃具有低重要性的功能。