【发布时间】:2017-07-04 16:50:30
【问题描述】:
我的问题是:在sklearn中,RidgeCV给出的cv_values_是怎么计算出来的?为什么与metrics.mean_squared_error 的输出不同?
例如,
X = [1,2,3,4,5,6,7,8,9,10]
X = np.array(X).reshape(-1,1)
y = np.array([1,3.5,4,4.9,6.1,7.2,8.1,8.9,10,11.1])
ax.plot(X, y, 'o')
ax.plot(X, X+1, '-') # help visualize
假设我们在 X 和 y 上训练 Ridge 模型
from sklearn.linear_model import RidgeCV
from sklearn.metrics import mean_squared_error
model = RidgeCV(alphas = [0.001], store_cv_values=True).fit(X, y)
现在
的输出mean_squared_error(y_true=y, y_pred=model.predict(X))
是0.1204000013110009,而
model.cv_values_.mean()
是0.24472577167818438。
为什么会有这么大的差异?我错过了什么明显的东西吗?
【问题讨论】:
-
如果答案解决了您的问题,请告诉我。
标签: scikit-learn mse mean-square-error