准确度matrics不适用于线性回归

时间:2018-05-30 05:15:49

标签: machine-learning artificial-intelligence classification regression linear-regression

请帮助:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

X = [[1.1],[1.3],[1.5],[2],[2.2],[2.9],[3],[3.2],[3.2],[3.7],[3.9],[4],[4],[4.1],[4.5],[4.9],[5.1],[5.3],[5.9],[6],[6.8],[7.1],[7.9],[8.2],[8.7],[9],[9.5],[9.6],[10.3],[10.5]]
y = [39343,46205,37731,43525,39891,56642,60150,54445,64445,57189,63218,55794,56957,57081,61111,67938,66029,83088,81363,93940,91738,98273,101302,113812,109431,105582,116969,112635,122391,121872]


#implement the dataset for train & test

from sklearn.cross_validation import train_test_split

X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 1/3,random_state=0)

#implement our classifier based on Simple Linear Regression

from sklearn.linear_model import LinearRegression
SimpleLinearRegression = LinearRegression()
SimpleLinearRegression.fit(X_train,y_train)

y_predict= SimpleLinearRegression.predict(X_test)


from sklearn.metrics import accuracy_score
print(accuracy_score(y_test,y_predict))

我确定我在这里遗漏了一些东西,还有其他方法来计算回归的准确度得分吗?在此先感谢:)

3 个答案:

答案 0 :(得分:0)

作为度量的准确度适用于分类问题,因为它被定义为正确预测的标签的一部分。在您的情况下,您进行回归(LinearRegression),即您的目标变量是连续的。因此,无论您选择了错误的模型,我的错误或准确性都是您的问题的错误指标。

答案 1 :(得分:0)

您可以使用平均绝对误差和均方误差。

from sklearn.metrics import mean_absolute_error, mean_squared_error
import numpy as np
MAE = mean_absolute_error(y_test, y_predict)
RMSE = np.sqrt(mean_squared_error(y_test, y_predict))

答案 2 :(得分:0)

我们不能将准确性用于回归问题,它仅用于分类问题。 您可以使用MSE,RMSE,MAPE,MAE作为矩阵来确定回归模型的好坏。

这些值告诉我们距正确预测的距离。对于这些情况,较低的值更好。