我正在研究多元线性回归问题,并通过R ^ 2,MAE和cross_val_score()评估其性能。我有一个feature_set,大小为(1565,334),y1为大小(1565,1)。这是我的代码:
mreg = LinearRegression()
mreg.fit(x_train,y_train)
mlr_y_predict = mreg.predict(x_test)
from sklearn.model_selection import cross_val_score
from sklearn import metrics
mae_mlr = metrics.mean_absolute_error(y_test, mlr_y_predict)
r2_mlr = metrics.r2_score(y_test,mlr_y_predict)
cvs = cross_val_score(mreg,feature_set,y1,cv=10)
print("Accuracy: %0.2f (+/- %0.2f)" % (cvs.mean(), cvs.std() * 2))
结果:
R^2: 0.9965384981365643
MAE: 3.479652627390258
Accuracy: -71566695397566744.00 (+/- 352467332828473856.00)
为什么对cross_val_score()会得到这样的负值?这是否意味着模型不好?
最佳答案
统一评分API还可以最大程度地提高性能,从而消除需要最小化的分数才能使统一评分API正常运行。因此,当返回的分数是应该最小化的分数时取反,如果它是应该最大化的分数则保持正数。