ขั้นตอนสุดท้ายของโมเดลการจำแนกประเภท
ต่อไปจะสร้างโมเดลการจำแนกประเภทโดยใช้ชุดข้อมูล Titanic ซึ่งถูกโหลดไว้แล้วใน DataFrame ชื่อ df โดยจะนำข้อมูลของผู้โดยสารมาทำนายว่าใครรอดชีวิตบ้าง
ตัวแปรสำหรับการทำนายถูกเก็บไว้ใน NumPy array ชื่อ predictors ส่วนเป้าหมายที่ต้องการทำนายอยู่ใน df.survived แต่จะต้องแปลงข้อมูลก่อนเพื่อให้ใช้งานกับ Keras ได้ จำนวนฟีเจอร์สำหรับการทำนายถูกเก็บไว้ใน n_cols
ในแบบฝึกหัดนี้จะใช้ optimizer ชื่อ 'sgd' ซึ่งย่อมาจาก Stochastic Gradient Descent และจะได้เรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ในบทถัดไป
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Deep Learning in Python
คำแนะนำการฝึกหัด
- แปลง
df.survivedให้เป็นตัวแปรเชิงหมวดหมู่โดยใช้ฟังก์ชันto_categorical() - ระบุโมเดลแบบ
Sequentialและกำหนดให้กับตัวแปรชื่อmodel - เพิ่มเลเยอร์
Denseที่มี32โหนด โดยใช้'relu'เป็นactivationและ(n_cols,)เป็นinput_shape - เพิ่มเลเยอร์เอาต์พุต
Denseเนื่องจากมีผลลัพธ์ที่เป็นไปได้ 2 แบบ จึงควรมี 2 หน่วย และเนื่องจากเป็นโมเดลการจำแนกประเภทactivationควรเป็น'softmax' - Compile โมเดลโดยใช้
'sgd'เป็นoptimizer,'categorical_crossentropy'เป็นฟังก์ชัน loss และmetrics=['accuracy']เพื่อดูค่าความแม่นยำ (สัดส่วนของการทำนายที่ถูกต้อง) เมื่อสิ้นสุดแต่ละ epoch - Fit โมเดลโดยใช้
predictorsและtarget
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import necessary modules
from tensorflow.keras.layers import Dense
from tensorflow.keras.models import Sequential
from tensorflow.keras.utils import to_categorical
# Convert the target to categorical: target
target = ____
# Set up the model
model = ____
# Add the first layer
____
# Add the output layer
____
# Compile the model
____
# Fit the model
____