不同 ML 分类器的不同性能,我可以推断出什么?

Different performance by different ML classifiers, what can I deduce?

我使用 python scikit-learn 在我的研究中使用了 ML 方法。我发现 SVM 和逻辑回归 classifers 效果最好(例如:85% 准确率),决策树效果明显较差 (65%),然后朴素贝叶斯效果明显较差 (40%)。

我会写下结论来说明一些 ML classifier 比其他的明显更好,但基于这些我还能说些什么关于我的学习任务或数据结构意见?

版本:

数据集涉及500,000行,我有15个特征,但有些特征是某些文本的子串的各种组合,所以它自然扩展到数万列作为稀疏矩阵。我正在使用人们的名字来预测一些二进制 class(例如:性别),尽管我从名称实体中提取了很多特征,例如名称的长度、名称的子字符串等

我建议您在 scikit-learn 团队http://scikit-learn.org/stable/tutorial/machine_learning_map

选择正确的估计器 上访问这张很棒的地图

因为描述您自己案例的细节是一项艰巨的任务(我完全理解您没有这样做!)我鼓励您问自己几个问题。因此,我认为 'choosing the right estimator' 上的地图是一个好的开始。

从字面上看,转到地图中的 'start' 节点并遵循以下路径:

  • 我的样本数是否 > 50?

等等。最后你可能会在某个时候结束,看看你的结果是否与地图中的建议相匹配(即我是否最终进入了 SVM,这给了我更好的结果?)。如果是这样,请深入阅读文档并问问自己为什么那个分类器在文本数据上表现更好或您获得的任何见解。

正如我告诉过你的,我们不知道你数据的具体细节,但你应该可以问这样的问题:我有什么类型的数据(文本、二进制...),有多少样本,要预测多少 类,...因此理想情况下,您的数据将为您提供有关问题背景的一些提示,因此有些估算器的性能优于其他估算器。

但是,是的,您的问题非常广泛,可以通过一个答案来理解(特别是在不知道您正在处理的问题类型的情况下)。例如,您还可以检查这些方法中的任何一种是否更容易过度拟合。

建议列表可能无穷无尽,这就是为什么我鼓励您开始定义您正在处理的问题类型和您的数据(加上样本数量, 它是归一化的吗?它是分散的吗?你是在稀疏矩阵中表示文本,你的输入是从 0.11 到 0.99 浮动的)。

无论如何,如果您想分享一些关于您数据的细节,我们也许可以更准确地回答。不过希望这能有所帮助 ;)