開始使用免費開始

調整模型參數

現在輪到你在模型上嘗試不同的參數,看看表現如何!

你在上一個練習建立的 create_model() 函式已可直接使用。

由於擬合 RandomizedSearchCV 物件會花太久時間,你會在 show_results() 函式中看到已列印好的結果。 在主控台中,你也可以在完成其他部分後自行嘗試 random_search.fit(X,y) 來確認確實可行,但很可能會讓此練習逾時(如果要嘗試,請先複製你的程式碼,否則可能會遺失進度!)。

在建立 KerasClassifier 物件時,你不需要使用選用參數 epochsbatch_size,因為你會把它們當作 params 傳入隨機搜尋,這樣就能正常運作了。

本練習屬於課程

Keras 深度學習入門

檢視課程

練習說明

  • tensorflow.keras 的 scikit_learn 包裝器匯入 KerasClassifier
  • 在實例化 KerasClassifier 時,使用你的 create_model 函式。
  • activation 設為 'relu' 與 'tanh',將 batch_size 設為 32、128、256,將 epochs 設為 50、100、200,並將 learning_rate 設為 0.1、0.01、0.001。
  • 在建立 RandomizedSearchCV 物件時,傳入你轉換後的 model 與所選的 params

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Import KerasClassifier from tensorflow.keras scikit learn wrappers
from tensorflow.keras.wrappers.____ import ____

# Create a KerasClassifier
model = KerasClassifier(build_fn = ____)

# Define the parameters to try out
params = {'activation': [____, ____], 'batch_size': [____, ____, ____], 
          'epochs': [____, ____, ____], 'learning_rate': [____, ____, ____]}

# Create a randomize search cv object passing in the parameters to try
random_search = RandomizedSearchCV(____, param_distributions = ____, cv = KFold(3))

# Running random_search.fit(X,y) would start the search,but it takes too long! 
show_results()
編輯並執行程式碼