Python 均方根误差与精度线性回归

Python 均方根误差与精度线性回归,python,machine-learning,scikit-learn,linear-regression,Python,Machine Learning,Scikit Learn,Linear Regression,我用这个数据集建立了一个简单的线性回归模型来预测学生的最终成绩 虽然我的准确度很好,但误差似乎很大 我不确定我是否只是没有正确理解错误的含义,或者我是否在代码中犯了一些错误。我认为对于92的准确度,误差应该更小,更接近于0 这是我的密码: data = pd.read_csv("/Users/.../student/student-por.csv", sep=";") X = np.array(data.drop([predict], 1)) y = np.array(data[predic

我用这个数据集建立了一个简单的线性回归模型来预测学生的最终成绩

虽然我的准确度很好,但误差似乎很大

我不确定我是否只是没有正确理解错误的含义,或者我是否在代码中犯了一些错误。我认为对于92的准确度,误差应该更小,更接近于0

这是我的密码:

data = pd.read_csv("/Users/.../student/student-por.csv", sep=";")

X = np.array(data.drop([predict], 1))
y = np.array(data[predict]) 

x_train, x_test, y_train, y_test = sklearn.model_selection.train_test_split(X, y, test_size = 0.1, random_state=42)

linear = linear_model.LinearRegression()

linear.fit(x_train, y_train)

linear_accuracy = round(linear.score(x_test, y_test) , 5)

linear_mean_abs_error = metrics.mean_absolute_error(y_test, linear_prediction)
linear_mean_sq_error = metrics.mean_squared_error(y_test, linear_prediction)
linear_root_mean_sq_error = np.sqrt(metrics.mean_squared_error(y_test, linear_prediction))

我是否在代码中犯了错误,或者在这种情况下错误是有意义的

线性回归中的精度指标是R^2指标。它本质上告诉你模型预测因子解释的因变量的变化百分比。0.92是一个很好的分数,但这并不意味着你的错误是0。我查看了你的工作,似乎你使用了所有的数值变量作为预测因子,目标是G3。代码看起来很好,结果也很准确。在回归任务中,很难得到0个错误。如果你有任何问题,请告诉我。干杯

RMSE为0.78是好的。这是一种RMSE,准确率为92%。@vbhargav875准确率仅用于分类问题,在回归问题中没有意义。与准确度(即百分比)相反,无法判断RMSE、MSE或MAE的特定值本身是否“良好”,因为它们始终严格取决于因变量的规模。术语“准确度”本身仅用于分类问题,不用于回归问题。关于性能指标,在预测性任务中,MSE、RMSE和MAE等指标通常优于R^2;请参阅中自己答案的最后一部分