我建立了一个简单的线性回归模型,使用该数据集https://archive.ics.uci.edu/ml/datasets/Student+Performance来预测学生的最终成绩。
虽然我的准确性非常好,但误差似乎很大。
我不确定我是不是只正确理解错误的含义,还是在代码中犯了一些错误。我认为对于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))
在这种情况下,我是否在代码中犯了任何错误或确实有意义?
我建立了一个简单的线性回归模型,使用此数据集https://archive.ics.uci.edu/ml/datasets/Student+Performance预测学生的最终成绩。虽然我的准确性非常好,但是错误...
sklearn线性回归中的精度度量是R ^ 2度量。它从本质上告诉您模型预测变量解释的因变量变化的百分比。 0.92是一个非常好的分数,但这并不意味着您的错误将是0。我看了您的工作,似乎您使用了所有数值变量作为预测变量,而目标是G3
。代码看起来不错,结果看起来也很准确。在回归任务中,很难获得0错误。请让我知道,如果你有任何问题。干杯