クロスバリデーションで学習する
見つかった最良のパラメータでモデルを学習しましょう。learning rate は 0.001、50 epochs、batch_size は 128、活性化関数は relu です。
前の演習で作成した create_model() 関数はすぐに使える状態です。特徴量 X とラベル y も読み込まれています。
KerasClassifier オブジェクトを作成する際に、見つかった最良値を指定し、cross_validation 実行時にそれらが使われるようにしてください。
この章の締めくくりとして、breast cancer データセットでチューニング済みの優れたモデルを学習しましょう!
この演習はコースの一部です
Kerasで学ぶIntroduction to Deep Learning
演習の手順
tensorflow.kerasの scikit_learn ラッパーからKerasClassifierをインポートします。- 見つかった最良パラメータを指定して
KerasClassifierオブジェクトを作成します。 cross_val_scoreにmodel、特徴量、ラベルを渡し、3 分割のクロスバリデーションを実行します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import KerasClassifier from tensorflow.keras wrappers
from tensorflow.keras.wrappers.____ import ____
# Create a KerasClassifier
model = ____(build_fn = create_model(learning_rate = ____, activation = ____), epochs = ____,
batch_size = ____, verbose = 0)
# Calculate the accuracy score for each fold
kfolds = cross_val_score(____, ____, ____, cv = ____)
# Print the mean accuracy
print('The mean accuracy was:', kfolds.mean())
# Print the accuracy standard deviation
print('With a standard deviation of:', kfolds.std())