การเตรียมโมเดลสำหรับการปรับแต่ง
มาปรับแต่ง hyperparameter ของโมเดล binary classification ที่จำแนก ชุดข้อมูลมะเร็งเต้านม ได้ดีกัน
ขั้นตอนแรกในการแปลงโมเดลให้เป็น sklearn estimator คือการสร้างฟังก์ชันที่ใช้สร้างโมเดลนั้น การกำหนดฟังก์ชันนี้มีความสำคัญ เนื่องจากการปรับแต่ง hyperparameter จะทำโดยการเปลี่ยนค่า argument ที่ส่งเข้าไปในฟังก์ชัน
สร้างฟังก์ชัน create_model() อย่างง่าย ที่รับทั้ง learning rate และ activation function เป็น argument โดย Adam optimizer ถูก import มาเป็น object จาก tensorflow.keras.optimizers เพื่อให้สามารถปรับเปลี่ยนค่า learning rate ได้ด้วย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning เบื้องต้นด้วย Keras
คำแนะนำการฝึกหัด
- กำหนด learning rate ของ
Adamoptimizer object ให้เป็นค่าที่รับมาจาก argument - กำหนด activation function ของ hidden layer ให้เป็นค่าที่รับมาจาก argument
- ส่ง optimizer และ binary cross-entropy loss เข้าไปใน method
.compile()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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