2014-01-10 17 views
16

私はsklearnPipelineGridSearchCVの新機能です。私はトレーニングデータの最初にRandomizedPCAを実行し、リッジ回帰モデルに適合するパイプラインを構築しようとしています。ここに私のコードです:sklearn GridSearchCV with Pipeline

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を試してみたいです。

グリッド検索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}] 

平均二乗誤差のために明らかにこれができない - 私はここで間違って何をやっていますか?

答えて

24

これらのスコアは負のMSEスコアです。つまり、それらを無効にしてMSEを取得します。問題は、GridSearchCVは、通常、を最大化してというMSEのような損失関数を無効にしなければならないということです。

関連する問題