【问题标题】:Unable to obtain accuracy score for my linear无法获得我的线性的准确度分数
【发布时间】:2018-01-19 12:48:26
【问题描述】:

我正在研究基于 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 数组格式。

【问题讨论】:

    标签: python machine-learning scikit-learn


    【解决方案1】:

    注意:准确度(例如分类准确度)是分类而非回归的衡量标准,因此我们无法计算回归模型的准确度。对于回归,我们要获得分数(模糊地称为准确度)的矩阵之一是 R-squaredR2)。

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

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

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

    86.23%
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        以上是R平方值,不是准确率:

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

        【讨论】:

        • 我认为 r^2 - 解释方差是准确度
        【解决方案4】:

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

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

        【讨论】:

        • 太棒了!感谢您的链接,似乎没有回归的准确度指标。
        • 因为看到回归的准确性没有意义 - 预测很少能等于预期值。如果预测值与预期值相差 1%,则准确度将为零,尽管这些预测值非常好。
        【解决方案5】:

        你的变量是什么样的。下面的代码运行良好。

        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)
        

        【讨论】:

        • linear_predicted_rating 似乎在 np 数组中,而 test_y 是熊猫数据框。 pastebin.com/yuh0p703
        • 不过,当我使用 metrics.r2_score(test_y, linear_predicted_rating) 时效果很好。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-11
        • 1970-01-01
        • 2020-08-23
        • 1970-01-01
        • 1970-01-01
        • 2021-05-16
        • 2017-06-25
        相关资源
        最近更新 更多