我需要一些观点来知道我正在做的事情是好还是错,或者是否有更好的方法。
我有 10 000 个元素。对于每个特征,我都有大约 500 个特征。
我希望测量两组这些元素之间的可分离性。 (我已经知道这两个组了,我不会尝试找到它们) 现在我正在使用 svm。我在其中 2000 个元素上训练 svm,然后在测试 8000 个其他元素时看看分数有多好。
现在我想知道哪些功能可以最大化这种分离。
我的第一个方法是使用 svm 测试每个特征组合,并遵循 svm 给出的分数。如果分数良好,则这些特征与分离这两组数据相关。 但这需要太多时间。 500!可能性。
第二种方法是删除一个功能并查看分数受到的影响有多大。如果分数变化很大,则该功能是相关的。这更快,但我不确定它是否正确。当有 500 个特征时,仅删除一个特征不会对最终分数产生太大影响。
这是正确的方法吗?
最佳答案
您尝试过其他方法吗?也许你可以尝试决策树或随机森林,它会根据熵增益给出你最好的特征。我可以假设所有功能都是相互独立的吗?如果没有,请也删除它们。
对于支持向量,您可以尝试查看这篇论文:
http://axon.cs.byu.edu/Dan/778/papers/Feature%20Selection/guyon2.pdf
但它更多地基于线性 SVM。
关于machine-learning - 找到分离 2 个已知数据组的最佳特征集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32135969/