16
我是sklearn
的Pipeline
和GridSearchCV
功能的新功能。我正在嘗試構建一個管道,首先對我的訓練數據進行RandomizedPCA,然後再擬合嶺迴歸模型。這裏是我的代碼:sklearn GridSearchCV與管道
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
功能,但我想嘗試管道和GridSearch CV。
我想要網格搜索簡歷報告RMSE錯誤,但這似乎並不支持sklearn,所以我正在做MSE。然而,resports分數爲負:
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}]
顯然,這是不可能的均方誤差 - 我究竟做錯了什麼?