假设,我有一个包含两个类和超过50,000个功能的数据集。我发现的大多数作品都试图选择区分两个类的特征。我们将这些选定功能称为最重要的功能。但是哪些特征与我想知道的那些方法无法定义哪个类最相关。例如,
f1 f2 f3 ....... f50000 class
sample 1: .5 .4 23......... .45 1
sample 2: .2 .56 .5......... .45 2
sample 3: .4 56 .23......... .45 2
sample 4: .3 .45 76......... .45 1
这里,f1 =特征1,f2 =特征2等。
假设,不知何故,我知道,f1, f2, f3, f45, f344
与class 1
有关,而f4, f5, f6, f90, f99
与class 2
有关。其他功能与这些类无关。所以输出是,
class1: f1, f2,f3,f45,f344
class2: f4,f5,f6,f90,f99
什么算法?如果有人给我任何论文(深度学习或其他)或参考,对我来说将是非常有帮助的。提前致谢。
有许多方法可以检测特征的重要性。一种简单的方法是截断具有低方差的特征。如果您想使用它们的实现,请查看this scikit article。
另一个常见的原因是使用L1 / L2正则化来惩罚特征量。这可以防止算法使用所有权重。一个实现在相同的scikit文章中。我刚刚发现this github post很快解释了L2正则化与逻辑回归的结合。