我正在基于IMDB数据构建一个回归模型,以预测IMDB评分。在我的线性回归模型中,我无法获取准确度得分。
我的代码行如下:
metrics.accuracy_score(test_y, linear_predicted_rating)
错误信息:
ValueError: continuous is not supported
如果我将那行代码改为获取R2得分,
metrics.r2_score(test_y,linear_predicted_rating)
我能够无错误地获取R2得分。
为什么会这样?
注意:test_y
是一个pandas数据框,而linear_predicted_rating
是一个numpy数组格式。
回答:
metrics.accuracy_score用于测量分类准确度,它不能用于测量回归模型的准确度,因为对回归模型来说,计算准确度没有意义——回归的预测值很少能完全等于预期值。如果预测值与预期值仅相差1%,准确度将为零,尽管这些预测已经非常好了。
以下是一些用于回归的度量指标:https://scikit-learn.org/stable/api/sklearn.metrics.html#regression-metrics