我在javascript上做小型随机森林,我有一个带有功能的二维数组。其中一些主要是纯噪音,我想从集合中删除它们。我坚持理解我需要为每个功能计算什么才能成为最糟糕功能评级之王。我发现如何在R上使用库来制作它,但我需要算法来自己实现它...
inb4:我已经阅读过wiki上的功能选择,但这并没有多大帮助...... 谢谢!
我的数据集如下所示:(3级和一些功能)
答案 0 :(得分:3)
使用特征划分集合的关键在于它有助于计算最终分类。因此,最佳功能将足以让分类正确,而最差将是一个将数据集划分为每个都不容易的子集的功能。比原始分类(实际上,非常糟糕的是甚至不会将其分成子集)。
所以你正在寻找"倾斜"子集是基于该功能得到的;越倾斜越好。
有些公式可以量化这个想法(就像我记得的那样P(1-P)),但是我必须为你做一些的工作。
答案 1 :(得分:1)
一些重要的特征选择技术
1)套索罚分的线性回归。 2)随机森林(或 熵或基尼)。 3)前进逐步选择。 4)落后 逐步选择。 5)P值
还有更多的功能选择技术,如果你在python中工作,你可以开始阅读http://scikit-learn.org/stable/modules/feature_selection.html,在那里你可以找到使用特征选择技术的代码。