【发布时间】:2014-01-29 18:26:09
【问题描述】:
我是 sklearn 的 Pipeline 和 GridSearchCV 功能的新手。我正在尝试构建一个管道,该管道首先对我的训练数据执行 RandomizedPCA,然后拟合岭回归模型。这是我的代码:
pca = RandomizedPCA(1000, whiten=True)
rgn = Ridge()
pca_ridge = Pipeline([('pca', pca),
('ridge', rgn)])
parameters = {'ridge__alpha': 10 ** np.linspace(-5, -2, 3)}
grid_search = GridSearchCV(pca_ridge, parameters, cv=2, n_jobs=1, scoring='mean_squared_error')
grid_search.fit(train_x, train_y[:, 1:])
我知道RidgeCV 函数,但我想试试 Pipeline 和 GridSearch CV。
我希望网格搜索 CV 报告 RMSE 错误,但这似乎在 sklearn 中不支持,所以我正在使用 MSE。但是,它所报告的分数是负数:
In [41]: grid_search.grid_scores_
Out[41]:
[mean: -0.02665, std: 0.00007, params: {'ridge__alpha': 1.0000000000000001e-05},
mean: -0.02658, std: 0.00009, params: {'ridge__alpha': 0.031622776601683791},
mean: -0.02626, std: 0.00008, params: {'ridge__alpha': 100.0}]
显然这对于均方误差是不可能的 - 我在这里做错了什么?
【问题讨论】:
标签: python scikit-learn