Hướng dẫn how do you find the accuracy score in a linear regression in python? - làm thế nào để bạn tìm thấy điểm chính xác trong hồi quy tuyến tính trong python?

Tôi đang làm việc trên mô hình hồi quy của mình dựa trên dữ liệu IMDB, để dự đoán giá trị IMDB. Trên sự hồi quy tuyến tính của tôi, tôi không thể đạt được điểm chính xác.

Dòng mã của tôi:

metrics.accuracy_score(test_y, linear_predicted_rating)

Lỗi :

ValueError: continuous is not supported

Nếu tôi thay đổi dòng đó để có được điểm R2,

metrics.r2_score(test_y,linear_predicted_rating)

Tôi đã có thể có được R2 mà không có bất kỳ lỗi nào. Bất kỳ manh mối tại sao tôi lại thấy điều này?

Thanks.

EDIT: Một điều tôi phát hiện ra là test_y là khung dữ liệu Panda trong khi linear_predicted_rating ở định dạng mảng numpy.

Cody Grey ♦

Phim thương hiệu vàng 235K50484 Huy hiệu bạc564 Huy hiệu đồng50 gold badges484 silver badges564 bronze badges

Hỏi ngày 11 tháng 8 năm 2017 lúc 5:46Aug 11, 2017 at 5:46

Hướng dẫn how do you find the accuracy score in a linear regression in python? - làm thế nào để bạn tìm thấy điểm chính xác trong hồi quy tuyến tính trong python?

Metrics.accuracy_score được sử dụng để đo độ chính xác phân loại, nó không thể được sử dụng để đo độ chính xác của mô hình hồi quy vì không có ý nghĩa gì khi thấy độ chính xác cho hồi quy - dự đoán hiếm khi có thể bằng các giá trị dự kiến. Và nếu dự đoán khác với giá trị dự kiến ​​1%, độ chính xác sẽ bằng không, mặc dù những dự đoán này là tuyệt vời

Dưới đây là một số số liệu cho hồi quy: http://scikit-learn.org/stable/modules/ classes.html#regression-metrics

Đã trả lời ngày 11 tháng 8 năm 2017 lúc 5:51Aug 11, 2017 at 5:51

2

Lưu ý: Độ chính xác (ví dụ: độ chính xác phân loại) là thước đo để phân loại, không phải hồi quy vì vậy chúng tôi không thể tính độ chính xác cho mô hình hồi quy. Đối với hồi quy, một trong những ma trận chúng tôi đã có được điểm số (được gọi là độ chính xác) là R-Squared (R2). Accuracy (e.g. classification accuracy) is a measure for classification, not regression so we can't calculate accuracy for a regression model. For regression, one of the matrices we've to get the score (ambiguously termed as accuracy) is R-squared (R2).

Bạn có thể nhận được điểm R2 (tức là độ chính xác) của dự đoán của bạn bằng cách sử dụng hàm score(X, y, sample_weight=None) từ

ValueError: continuous is not supported
0 như sau bằng cách thay đổi logic phù hợp.

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,'%')

đầu ra (a/c cho mô hình của tôi)

86.23%

Đã trả lời ngày 7 tháng 6 năm 2018 lúc 18:28Jun 7, 2018 at 18:28

Hướng dẫn how do you find the accuracy score in a linear regression in python? - làm thế nào để bạn tìm thấy điểm chính xác trong hồi quy tuyến tính trong python?

GarvitgarvitGarvit

1662 Huy hiệu bạc11 Huy hiệu đồng2 silver badges11 bronze badges

Trên đây là giá trị bình phương r và không phải là độ chính xác:

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

WSCourge

9.80912 Huy hiệu vàng54 Huy hiệu bạc74 Huy hiệu đồng12 gold badges54 silver badges74 bronze badges

Đã trả lời ngày 21 tháng 6 năm 2018 lúc 4:46Jun 21, 2018 at 4:46

1

Các biến của bạn trông như thế nào. Mã dưới đây hoạt động tốt.

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)

Đã trả lời ngày 11 tháng 8 năm 2017 lúc 5:55Aug 11, 2017 at 5:55

王晓晨王晓晨

3362 Huy hiệu bạc13 Huy hiệu Đồng2 silver badges13 bronze badges

2

Bạn không thể dự đoán độ chính xác của mô hình hồi quy, tuy nhiên bạn có thể phân tích mô hình của mình bằng lỗi trung bình tuyệt đối, lỗi bình phương trung bình, lỗi bình phương trung bình, lỗi tối đa, lỗi trung bình r-vuông, v.v.

Đã trả lời ngày 26 tháng 3 năm 2020 lúc 14:27Mar 26, 2020 at 14:27