チューニング用にモデルを準備する
二値分類モデルのハイパーパラメータをチューニングして、breast cancer データセットの分類性能を高めましょう。
モデルを sklearn の estimator に変換する最初のステップは、それを作成する関数を用意することでしたね。ハイパーパラメータのチューニングは、その関数が受け取る引数を変化させて行うため、この関数定義が重要です。
学習率と活性化関数の両方を引数として受け取るシンプルな create_model() 関数を作成してください。Adam オプティマイザーは tensorflow.keras.optimizers からオブジェクトとしてインポート済みなので、その学習率パラメータも変更できます。
この演習はコースの一部です
Kerasで学ぶIntroduction to Deep Learning
演習の手順
Adamオプティマイザーオブジェクトの学習率を、引数で渡された値に設定します。- 中間(隠れ)層の活性化関数を、引数で渡された関数に設定します。
.compile()メソッドに、オプティマイザーと binary cross-entropy の損失を渡します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Creates a model given an activation and learning rate
def create_model(learning_rate, activation):
# Create an Adam optimizer with the given learning rate
opt = Adam(lr = ____)
# Create your binary classification model
model = Sequential()
model.add(Dense(128, input_shape = (30,), activation = ____))
model.add(Dense(256, activation = ____))
model.add(Dense(1, activation = 'sigmoid'))
# Compile your model with your optimizer, loss, and metrics
model.compile(optimizer = ____, loss = ____, metrics = ['accuracy'])
return model