0

私は次のコードでGridSearchCVを使用してNN回帰モデルのための最良のパラメータを見つけようとしている:私は理解したようgrid.predict(input_test)は、与えられた入力セットを予測する最善のパラメータを使用して、GridSearchCVを使用して各パラメータセットの予測を取得するにはどうすればよいですか?

param_grid = dict(optimizer=optimizer, epochs=epochs, batch_size=batches, init=init 
grid = GridSearchCV(estimator=model, param_grid=param_grid, scoring='neg_mean_squared_error') 
grid_result = grid.fit(input_train, target_train) 

pred = grid.predict(input_test) 

。テストセットを使用して各パラメータセットのGridSearchCVを評価する方法はありますか?

実際、私のテストセットにはいくつかの特殊なレコードが含まれています。正確さとともにモデルの一般性をテストしたいと思います。ありがとうございました。

答えて

0

GridSearchCVの標準3折り返しcvパラメータを、カスタムのイテレータに置き換えることができます。これにより、連結列車とテストデータフレームの列車とテストのインデックスが得られます。 1倍の相互検証you'lがinput_trainオブジェクトにモデルを訓練し、input_testオブジェクト上で、あなたのフィットモデルをテストしながら、その結果では、:grid_result.cv_results_辞書にアクセスすることにより

def modified_cv(input_train_len, input_test_len): 
    yield (np.array(range(input_train_len)), 
      np.array(range(input_train_len, input_train_len + input_test_len))) 

input_train_len = len(input_train) 
input_test_len = len(input_test) 
data = np.concatenate((input_train, input_test), axis=0) 
target = np.concatenate((target_train, target_test), axis=0) 
grid = GridSearchCV(estimator=model, 
        param_grid=param_grid, 
        cv=modified_cv(input_train_len, input_test_len), 
        scoring='neg_mean_squared_error') 
grid_result = grid.fit(data, target) 

、you'lはテストセットであなたのメトリクス値についてを参照してください指定されたモデルパラメータのすべてのグリッド。

+0

ありがとうございます@ eduard-ilyasov。完璧に動作します。 – saleh

関連する問題