Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีสร้าง Sequential Model สำหรับ Abalone Dataset ด้วย TensorFlow

บทนำ

สร้างโมเดล regression แบบง่ายด้วย Keras Sequential API เพื่อพยากรณ์อายุหอย (Abalone age) จากคุณสมบัติทางกายภาพ

โค้ดตัวอย่าง

print("The sequential model is being built")
abalone_model = tf.keras.Sequential([
    layers.Dense(64),
    layers.Dense(1)
])
abalone_model.compile(loss=tf.losses.MeanSquaredError(), optimizer=tf.optimizers.Adam())
print("The data is being fit to the model")
abalone_model.fit(abalone_features, abalone_labels, epochs=10)

ผลลัพธ์

The sequential model is being built
The data is being fit to the model
Epoch 1/10 104/104 [==============================] - 0s 963us/step - loss: 84.2213
Epoch 2/10 104/104 [==============================] - 0s 924us/step - loss: 16.0268
Epoch 3/10 104/104 [==============================] - 0s 860us/step - loss: 9.4125
Epoch 4/10 104/104 [==============================] - 0s 898us/step - loss: 8.9159
Epoch 5/10 104/104 [==============================] - 0s 912us/step - loss: 7.9076
Epoch 6/10 104/104 [==============================] - 0s 936us/step - loss: 6.8316
Epoch 7/10 104/104 [==============================] - 0s 992us/step - loss: 7.1021
Epoch 8/10 104/104 [==============================] - 0s 1ms/step - loss: 7.0550
Epoch 9/10 104/104 [==============================] - 0s 1ms/step - loss: 6.2762
Epoch 10/10 104/104 [==============================] - 0s 883us/step - loss: 6.5584

คำอธิบาย

  • Sequential([Dense(64), Dense(1)]): โมเดล linear stack, input tensor เดียว → hidden 64 units → output 1 unit (age)
  • Loss: MeanSquaredError (เหมาะ regression)
  • Optimizer: Adam (adaptive learning rate)
  • Loss ลดลงจาก 84 → ~6.5 แสดงการเรียนรู้

เปรียบเทียบกับ Normalization Model (บทความก่อนหน้า)

โมเดลนี้ ไม่มี normalization layer → loss สูงกว่าและไม่เสถียรเท่าโมเดลที่มี normalization (loss ~4.8)

แนะนำ: ควรเพิ่ม normalization layer หรือ normalize ข้อมูลก่อน train