SVM 的准确率应该是多少?

What percentages should be expected for an SVM to be accurate?

在我目前正在做的作业中,我训练了一个 SVM 用我的训练集得到结果

accuracy:   0.983
true  positive rate: 0.544
false positive rate: 0.006
true  negative rate: 0.439
false negative rate: 0.012

测试验证集的结果告诉我

 accuracy:   0.979
 true  positive rate: 0.816
 false positive rate: 0.003
 true  negative rate: 0.164
 false negative rate: 0.018

两者的准确性都很高,我认为这是一件好事, 但对于真正的正面等,我应该瞄准什么样的价值观 它们到底是什么意思?

关于四个结果的含义:

True positiv:结果应该是positiv (=class 1) 而模型预测的结果是positiv (=class 1) -> 这个值高就好了!

假阳性:结果本应为阴性 (=class 0),但模型返回阳性结果 (=class 1)。事实上,模型混淆了两个 classes,这很糟糕。因此,数字越小越好。

真负:结果应该是负的(=class 0)而模型的答案是负的(=class 0 ).这很好,数字越大越好。

假阴性:结果本应为正 (=class 1),但模型返回负 (=class 0)。这很糟糕,数字越低越好。

四个都是百分比。它们加在一起应为 1 (=100%)。真阴性率和真阳性率加起来就是准确率。

机器学习是非常特定于数据的,因此在没有测试您的特定数据、使用多种算法和参数的情况下,没有人能够说出预期的性能。如果存在这样的公式就好了,它会告诉人们使用什么算法和参数,但实际上直到今天已知的唯一方法是针对特定问题测试不同的设置。

虽然 Marcus 的回答非常清楚地解释了什么是 True/False Positive/Negatives。这可能有点误导,因为问题要求它们各自的 rates,这不是一回事。

然而,这些是从 True/False Positive/Negatives 生成的,因此您应该阅读维基百科上的 this 文章,解释这些比率到底是什么。

其中 TP = 真阳性,FN = 假阴性等