グリッドサーチの交差検証を実施する場合、「トレーニングデータ」のbest_scoreを求めることはできるのですが、
そのbest_scoreのパラメータを用いて交差検証で**「テストデータ」の評価値(混同行列、正解率など)を求める方法**はあるのでしょうか?
(このテストデータの交差検証の場合、パラメータは決定しているので当然ながらグリッドサーチは実施しません)
以下、グリッドサーチの交差検証を実施する場合の「トレーニングデータ」のbest_score出力プログラムです。
ご指導願えれば幸いです。
from keras.wrappers.scikit_learn import KerasClassifier from sklearn.model_selection import GridSearchCV model = KerasClassifier(build_fn=create_model, verbose=0) optimizers = ['adam']# optimizers = ['rmsprop', 'adam', 'sgd', 'adagrad'] init = ['normal']# init = ['glorot_uniform', 'normal', 'uniform'] epochs = [50,100] batches = [4,8] param_grid = dict(optimizer=optimizers, epochs=epochs, batch_size=batches, init=init) grid = GridSearchCV(estimator=model, param_grid=param_grid,n_jobs=-1,cv=5) grid_result = grid.fit(x_train_std, y_train) print(grid.best_params_) print(grid.best_score_) #トレーニングデータのスコア {'batch_size': 4, 'epochs': 100, 'init': 'normal', 'optimizer': 'adam'} 0.8260869565217391
質問者さんは何がしたいのでしょうか? 訓練データでグリッドサーチを実施したのであれば既に使用するべきパラメーターは求められているはずですが。
ご連絡ありがとうございます。
意図は、訓練データで得られたベストパラメータを用いて、テストデータの交差検証を実施して、混同行列などの評価値出力ができないか、です。
この時、すでにパラメータは決定しているのでグリッドサーチは必要ありません。交差検証のみです。
不適切な説明で失礼いたしました。
よろしくお願いいたします。
> グリッドサーチの交差検証でテストデータの best_scoreを求めたい。
> 同様にグリッドサーチの交差検証で「テストデータ」のbest_scoreを求める方法はあるのでしょうか?
タイトル及び本文説明からは”「混同行列」を求めたい”との意図は汲み取れません。修正した方が適切な回答がつきやすくなるかと思います。
ご指摘ありがとうございます。
タイトルおよび本文説明を修正しました。
よろしくお願いいたします。
