当前位置: 首页 > 知识库问答 >
问题:

性能评估的最佳标准,错误还是准确性?

司空通
2023-03-14

使用Weka对鲍鱼数据集进行ANN和KNN。

ANN正确分类实例的结果3183 76.203%错误分类实例994 23.797%平均绝对误差0.214均方根误差0.3349相对绝对误差58.6486%

KNN结果|正确分类实例3211 76.8734%错误分类实例966 23.1266%平均绝对误差0.2142均方根误差0.3361相对绝对误差58.7113%

KNN具有较高的精度,而ANN具有较低的误差。那么,我应该说这两种算法中哪一种更好呢?准确度和误差哪个标准更可取?我的理解是,误差应该以高精度减少。但这里的结果是相反的。为什么会这样?

共有1个答案

汤修贤
2023-03-14

答案取决于您是想将问题视为分类(如您使用的html" target="_blank">算法所建议的)还是回归。如果这是一个分类问题,那么您应该只考虑正确/错误分类的实例的百分比。否则,错误。

为了解释,正确分类实例的百分比只考虑预测是否准确,即预测2而不是1与预测10000一样不正确。原因是,您将数据的类弄错了,并且没有关于类之间差异大小的概念。另一方面,对于回归,可以预测连续的数量和差异的大小。也就是说,如果实际值为1,预测值为2,则模型比预测值为10000时要好得多。

这样,您可以在误差更大的情况下获得更好的精度,反之亦然。结果是,总体上你得到了更正确的预测,但那些错误的预测更加离谱。

您想使用哪种性能度量实际上取决于您的特定应用程序。您只是关心是否预测了正确的类,还是还关心与正确预测的距离?如果是后者,我建议使用回归而不是分类模型。

 类似资料:
  • 评价函数的用法 评价函数用于评估当前训练模型的性能。当模型编译后(compile),评价函数应该作为 metrics 的参数来输入。 model.compile(loss='mean_squared_error', optimizer='sgd', metrics=['mae', 'acc']) from keras import m

  • 问题内容: System.currentTimeMillis()是Java时间性能的最佳衡量标准吗?使用此工具将采取行动之前的时间与采取行动之后的时间进行比较时是否有陷阱?有更好的选择吗? 问题答案: 我希望不会- 这是我不使用时使用的。

  • 问题内容: 我们正在购买业务规则引擎。我们希望使我们的核心应用程序可定制为具有稍微不同要求的不同客户。实际进行定制的人员是分析师。即非熟练技术人员(通常具有科学学位)。 评估业务规则引擎的标准是什么?有开源和商业的吗?您在易用性,文档,支持,价格等方面的经验是什么 我们的应用程序使用Java。 问题答案: Drools(以前是Drools,然后是JBoss Rules,然后又是Drools)是一个

  • 使用方法 性能评估模块提供了一系列用于模型性能评估的函数,这些函数在模型编译时由metrics关键字设置 性能评估函数类似与目标函数, 只不过该性能的评估结果讲不会用于训练. 可以通过字符串来使用域定义的性能评估函数 model.compile(loss='mean_squared_error', optimizer='sgd', metri

  • 使用方法 性能评估模块提供了一系列用于模型性能评估的函数,这些函数在模型编译时由metrics关键字设置 性能评估函数类似与目标函数, 只不过该性能的评估结果讲不会用于训练. 可以通过字符串来使用域定义的性能评估函数,也可以自定义一个Theano/TensorFlow函数并使用之 参数 y_true:真实标签,theano/tensorflow张量 y_pred:预测值, 与y_true形式相同的

  • 本文向大家介绍接口测试质量评估标准是什么?相关面试题,主要包含被问及接口测试质量评估标准是什么?时的应答技巧和注意事项,需要的朋友参考一下 接口表现与接口文档的一致性 请求参数:必选和非必选、长度、字符类型、为空、缺失、组合、重复 返回数据:正常和异常