选择二进制分类算法


17

我有一个二进制分类问题:

  • 训练集中约有1000个样本
  • 10个属性,包括二进制,数字和分类

哪种算法是解决此类问题的最佳选择?

默认情况下,我将从SVM(将标称属性值转换为二进制特征的初步方法)开始,因为它被认为是相对干净和无噪声数据的最佳选择。

Answers:


15

很难不了解您的数据集以及数据集基于特征向量的可分离性就很难说,但是由于样本集相对较小,我可能建议对标准随机森林使用极端随机森林。

极端随机森林与标准随机森林非常相似,唯一的例外是,极端随机森林不是优化树上的分割,而是随机进行分割。最初,这似乎是负面的,但它通常意味着您的概括性和速度都明显更好,尽管训练集上的AUC可能会更差一些。

Logistic回归对于此类任务也是一个不错的选择,尽管您的维数较低且样本量较小,我会担心过拟合。您可能想使用K最近邻进行检出,因为它通常在低维情况下表现出色,但通常不能很好地处理分类变量。

如果我不得不在不了解问题的情况下选择一个,我肯定会把赌注押在极端随机森林上,因为这很可能为您提供对此类数据集的良好概括,并且它还可以更好地处理数字和分类数据的混合比大多数其他方法


好,谢谢!尽管还不确定我是否可以使用R包“ randomForest”(cran.r-project.org/web/packages/randomForest/randomForest.pdf)来生成ERF。可能不会。
IharS 2014年

12

对于低参数,相当有限的样本量以及二元分类器逻辑回归应该足够强大。您可以使用更高级的算法,但这可能会过大。


5

当类别变量混合在一起时,我会接触到“随机决策森林”,因为它直接处理类别变量,而无需进行1-of-n编码转换。这会丢失较少的信息。


5

线性SVM应该是一个很好的起点。查看指南以选择合适的估算器。


2

不建议您首先使用复杂的方法。首先使用更快的简单方法(kNN,NBC等),然后逐步进行线性回归,逻辑回归,LDA,CART(RF),KREG,然后逐步最小化SVM,梯度上升SVM,ANN,然后进行超灵敏(贪婪)借助遗传算法,群体智能,蚁群优化等进行启发式爬坡)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.