เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การกำหนดค่าโมเดล

ในแบบฝึกหัดนี้ จะได้ทำงานกับโมเดลแรกใน Keras และสามารถรันโมเดลโครงข่ายประสาทเทียมที่ซับซ้อนขึ้นบนชุดข้อมูลขนาดใหญ่ได้เลย ซึ่งทำได้มากกว่าสองบทแรก

เริ่มต้นด้วยการนำโครงสร้างของโครงข่ายประสาทเทียมมาเพิ่ม hidden layer และ output layer จากนั้นจึง fit โมเดล แล้วดู Keras ทำการ optimization จนโมเดลมีประสิทธิภาพดีขึ้นเรื่อย ๆ

ในตัวอย่างนี้ จะทำนายค่าจ้างของแรงงานจากลักษณะต่าง ๆ เช่น ประเภทอุตสาหกรรม การศึกษา และระดับประสบการณ์ ชุดข้อมูลอยู่ใน pandas DataFrame ชื่อ df เพื่อความสะดวก ทุกคอลัมน์ใน df ยกเว้น target ได้ถูกแปลงเป็น NumPy array ชื่อ predictors ส่วน target คือ wage_per_hour ซึ่งอยู่ในรูป NumPy array ชื่อ target

สำหรับแบบฝึกหัดทุกข้อในบทนี้ ได้นำเข้า Sequential model constructor, Dense layer constructor และ pandas ไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Introduction to Deep Learning in Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เก็บจำนวนคอลัมน์ของข้อมูล predictors ไว้ในตัวแปร n_cols (ได้ดำเนินการนี้ให้แล้ว)
  • สร้างโมเดล Sequential แล้วกำหนดให้กับตัวแปร model
  • ใช้เมธอด .add() บน model เพื่อเพิ่มเลเยอร์ Dense
    • กำหนด 50 units ระบุ activation='relu' และพารามิเตอร์ input_shape เป็น tuple (n_cols,) ซึ่งหมายความว่าแต่ละแถวของข้อมูลมี n_cols ค่า และรับจำนวนแถวได้ไม่จำกัด
  • เพิ่มเลเยอร์ Dense อีกหนึ่งเลเยอร์ โดยกำหนดให้มี 32 units และใช้ activation เป็น 'relu'
  • สุดท้าย เพิ่ม output layer ซึ่งเป็นเลเยอร์ Dense ที่มีเพียงหนึ่ง node โดยไม่ต้องระบุ activation function

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import necessary modules
from tensorflow.keras.layers import Dense
from tensorflow.keras.models import Sequential

# Save the number of columns in predictors: n_cols
n_cols = predictors.shape[1]

# Set up the model: model
model = ____

# Add the first layer
____.____(____(____, ____=____, ____=(____)))

# Add the second layer
____

# Add the output layer
____
แก้ไขและรันโค้ด