【问题标题】:Evaluating results of Naive Bayes Multi Class Prediciton评估朴素贝叶斯多类预测的结果
【发布时间】:2012-11-22 15:39:40
【问题描述】:

我在 MATLAB(内置)中使用朴素贝叶斯来预测我的数据的类标签值。我的类标签可以具有 {1,2,3,4,5} 中的任何值。 我也有 testLabels。 如何衡量testLabels和predictedLabels的区别好不好?

我尝试使用 RMSE。但似乎它给了我 1.87124 的价值

我不知道如何解释这个 RMSE 值?

此外,是否有任何标准的评估方法来评估朴素贝叶斯多类结果?

我知道对于二进制标签类,我可以使用 TPR、FPR、Precision、Accuracy 等。

【问题讨论】:

  • 1.87 的 RMS 误差确实很高。这意味着,平均而言,您的标签与应有的标签相差 1.87。假设标签 {1,...,5} 是这个 RMS 函数的输入,那么这些结果就太离谱了,以至于它们毫无用处。
  • 如果我将标签更改为二进制,即 {0,1} ,rmse =0.740 accuracy= 0.452160493827161,是不是也很糟糕?
  • 是的。我的意思是,如果你的准确率低于 50%,那似乎不太好,对吧?
  • 是的,我同意,:(!非常感谢您的帮助 :) 如果我将问题从多重更改为二进制,我会得到以下结果:rmse=0.512,accuracy=0.7376,TPR=0.941,FPR =0.656 ,我猜这些结果比以前好,但 FPR 仍然不好 :S
  • {1,2,3,4,5} 是什么意思?在我看来,如果类变量不是连续的,你不应该使用 RMSE 作为衡量标准。您应该使用分类准确度。

标签: matlab machine-learning artificial-intelligence


【解决方案1】:

多类问题可以通过标准度量的泛化来评分:准确率显然适用于多类情况,召回率和精度可以通过单独查看每个类来概括。看二进制问题会产生误导,因为双向分类任务比五向分类任务容易得多。

RMSE 不是一个合适的指标——考虑一下,如果你像以前那样使用标签 1-5,你会得到 0.74 的 RMSE。但是,由于标签是任意的,您可以置换类标签并为相同的决策获得完全不同的 RMSE。

【讨论】:

    【解决方案2】:

    您可以使用各种指标。在许多情况下,准确度(即 testLabel 与 predictLabel 相等的频率)是一个很好的指标。

    您还可以查看precision and recall,它测量类似于 I 型和 II 型错误的东西。

    有一点是肯定的——将 RMSE 应用于这种情况没有任何意义。例如,假设您使用字母 A、B、C、D、E 而不是数字 1、2、3、4、5 来标记数据。这是完全相同的问题(因为标签本身没有意义),但现在 RMSE不可计算,因为它只适用于数字。

    【讨论】:

      猜你喜欢
      • 2014-11-03
      • 2015-01-03
      • 2015-05-22
      • 2011-04-08
      • 2020-09-23
      • 2017-10-11
      • 2016-05-05
      • 2016-07-29
      • 1970-01-01
      相关资源
      最近更新 更多