![](/img/trans.png)
[英]Finding the mean squared error for a linear regression in python (with scikit learn)
[英]Root Mean Squared Error vs Accuracy Linear Regression
我使用此數據集https://archive.ics.uci.edu/ml/datasets/Student+Performance構建了一個簡單的線性回歸 model 來預測學生的最終成績。
雖然我的准確性非常好,但錯誤似乎很大。
我不確定我是否只是沒有正確理解錯誤的含義,或者我是否在代碼中犯了一些錯誤。 我認為對於 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))
我是否在代碼中犯了任何錯誤,或者在這種情況下錯誤是否有意義?
sklearn 線性回歸中的准確度指標是 R^2 指標。 它基本上告訴您 model 預測變量解釋的因變量的變化百分比。 0.92 是一個很好的分數,但這並不意味着您的錯誤將為 0。我查看了您的工作,似乎您使用了所有數字變量作為您的預測變量,而您的目標是G3
。 代碼看起來很好,結果也很准確。 在回歸任務中,很難得到 0 個錯誤。 請讓我知道,如果你有任何問題。 干杯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.