选择二分类算法

数据挖掘 分类 二进制 支持向量机 随机森林 逻辑回归
2021-09-18 00:23:40

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

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

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

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

4个回答

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

极端随机森林与标准随机森林非常相似,除了一个例外,极端随机森林不是优化树上的分裂,而是随机分裂。最初这似乎是负面的,但这通常意味着您的泛化能力和速度明显更好,尽管您的训练集上的 AUC 可能会更差一些。

对于这类任务,逻辑回归也是一个相当可靠的选择,尽管由于您的维度相对较低且样本量较小,我会担心过度拟合。您可能想使用 K-Nearest Neighbors 进行检查,因为它通常在低维度下表现得非常好,但它通常不能很好地处理分类变量。

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

对于低参数、非常有限的样本量和二元分类器逻辑回归应该足够强大。您可以使用更高级的算法,但它可能是矫枉过正。

当分类变量混合在一起时,我会使用随机决策森林,因为它直接处理分类变量而无需 1-of-n 编码转换。这会丢失更少的信息。

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