计算预测连续值的准确度分数
Posted
技术标签:
【中文标题】计算预测连续值的准确度分数【英文标题】:Calculating accuracy scores of predicted continuous values 【发布时间】:2018-08-12 16:13:37 【问题描述】:from sklearn.metrics import accuracy_score
accuracy_score(y_true, y_pred)
我相信这段代码将返回我们预测的准确性。但是,我正在比较连续值的预测值和实际值,我相信它们中的大多数不会完全相同。
我是否应该拟合测试集值并绘制预测值以获得 R 平方?
谁能告诉我在连续变量的情况下如何衡量预测的准确性?
【问题讨论】:
没有为回归问题(即连续输出)定义准确度,比如你的;看看this thread 中的讨论(它是针对 Keras,但论点是一样的)。 【参考方案1】:在机器学习中,精度是针对离散值(类)定义的。它被定义为正确预测与总预测的比例。
因此,真实值为 320 的值 319 的预测仍然是不正确的预测。
因此不建议计算连续值的准确性。对于此类值,您需要计算预测值与真实值的接近程度。这种预测连续值的任务称为回归。并且一般使用R平方值来衡量模型的性能。
您可以将r2_score(y_true, y_pred)
用于您的场景。
回归任务(连续变量预测)有多种指标,例如:-
均方误差, 平均绝对误差, 方差分数等您可以在here 获取有关这些指标的 sklearn 实施的更多信息。
【讨论】:
我会省略“大部分” @desertnaut 完成。谢谢。我主要是因为一些工具没有明确地知道这种差异。我也在考虑标签被编码然后用户可以计算准确性的场景,尽管这不适用于这种情况。以上是关于计算预测连续值的准确度分数的主要内容,如果未能解决你的问题,请参考以下文章