0

块引用

我是机器学习的学生和初学者。我想做
列的特征选择。我的数据集是 50000 X 370,这是一个二元分类问题。首先我删除了 std.deviation = 0 的列,然后我删除了重复的列,之后我检查了具有最高 ROC 曲线面积的前 20 个特征。除了进行 PCA 之外,下一步应该是什么?任何人都可以给出特征选择要遵循的一系列步骤吗?

4

3 回答 3

0

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

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

于 2016-04-14T11:11:44.603 回答
0

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

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

  2. 顺序特征选择:对于不支持正则化的算法很有用。这种算法会自动选择与问题更相关的特征子集。您可以在此处找到更多相关信息:(1)大规模特征选择技术的比较研究,F. Ferri、P. Pudil、M. Hatef 和 J. Kittler。大规模特征选择技术的比较研究。实践 IV 中的模式识别,第 403-413 页,1994。(2) scikit-learn 中的特征选择

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

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

于 2016-04-14T16:34:03.313 回答
0

你已经做了很多预处理。我推荐的唯一额外步骤是在 PCA 之后对值进行标准化。然后你的数据应该准备好输入你的学习算法。

还是您想避免 PCA?如果您的特征之间的相关性不是太强,这可能没问题。然后跳过 PCA 并规范化这些值。

于 2016-04-14T08:29:38.547 回答