无法获得线性的准确度分数

时间:2017-08-11 05:46:30

标签: python machine-learning scikit-learn

我正在研究基于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是熊猫数据框,而linear_predicted_rating是numpy数组格式。

5 个答案:

答案 0 :(得分:6)

metrics.accuracy_score用于衡量分类准确度,它不能用于衡量回归模型的准确性,因为看到回归的准确性没有意义 - 预测很少能够等于预期值。如果预测值与预期值相差1%,则准确度将为零,尽管这些预测值很高

以下是回归的一些指标:http://scikit-learn.org/stable/modules/classes.html#regression-metrics

答案 1 :(得分:1)

通过相应地更改逻辑,您可以使用score(X, y, sample_weight=None)中的LinearRegression函数获得预测的准确性,如下所示。

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(x_train,y_train)
accuracy = regressor.score(x_test,y_test)
print(accuracy*100,'%')

输出(a / c到我的模型)

97.23572%

答案 2 :(得分:0)

你的变量是什么样的。以下代码效果很好。

from sklearn import metrics
test_y, linear_predicted_rating = [1,2,3,4], [1,2,3,5]
metrics.accuracy_score(test_y, linear_predicted_rating)

答案 3 :(得分:0)

以上是R平方值,而不是精度:

# R squared value
metrics.explained_variance_score(y_test, predictions)

答案 4 :(得分:0)

您无法预测回归模型的准确性,但是可以使用平均绝对误差,均方误差,均方根误差,最大误差,中值误差R平方等分析模型。 以供参考 您可以去this以获得更多知识