开始使用免费开始使用

调参与优化模型参数

现在是时候在模型上尝试不同的参数,看看效果如何了!

上一练习中您编写的 create_model() 函数已经可以直接使用。

由于拟合 RandomizedSearchCV 对象会花费太长时间,本题的结果会通过 show_results() 函数打印出来。 您可以在控制台中自行尝试在完成其余部分后运行 random_search.fit(X,y) 来验证确实可行,但很可能会导致本练习超时(如果要尝试,请先复制您的代码,否则可能会丢失进度!)。

在构建 KerasClassifier 对象时,您无需使用可选参数 epochsbatch_size,因为您会把它们作为 params 传给随机搜索,这样已经可以正常工作。

本练习是课程的一部分

Keras 深度学习入门

查看课程

练习说明

  • tensorflow.keras 的 scikit_learn 封装中导入 KerasClassifier
  • 在实例化 KerasClassifier 时使用您的 create_model 函数。
  • 'relu''tanh' 设为 activation,将 32、128、256 设为 batch_size,将 50、100、200 设为 epochs,并将 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()
编辑并运行代码