Keras เป็นหนึ่งในไลบรารีที่ได้รับความนิยมสำหรับการสร้างและฝึกโมเดล Machine Learning และ Deep Learning เนื่องจากมีความเรียบง่ายและใช้คำสั่งที่ชัดเจนไม่ซับซ้อน การประเมินผลโมเดลเป็นขั้นตอนที่สำคัญหลังจากการฝึกโมเดลเสร็จสิ้น โดยใช้ฟังก์ชัน `model.evaluate()` เพื่อให้เราได้ทราบถึงประสิทธิภาพและความแม่นยำของโมเดลที่เราได้พัฒนาขึ้น
ก่อนที่จะทำการฝึกและประเมินโมเดล จำเป็นจะต้องมีข้อมูลที่เหมาะสมและเตรียมพร้อมในการใช้งาน โดยทั่วไปข้อมูลที่เราต้องเตรียมจะแบ่งออกเป็นชุดข้อมูลเพื่อการฝึก (training set) และชุดข้อมูลเพื่อการประเมิน (test set)
ตัวอย่างการเตรียมข้อมูลแบบง่าย ๆ ด้วย MNIST dataset:
from keras.datasets import mnist
from keras.utils import to_categorical
# โหลดข้อมูล MNIST
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
# ปรับรูปแบบข้อมูล
train_images = train_images.reshape((60000, 28, 28, 1)).astype('float32') / 255
test_images = test_images.reshape((10000, 28, 28, 1)).astype('float32') / 255
# เปลี่ยน labels ให้เป็น one-hot encoding
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)
หลังจากที่เราได้เตรียมข้อมูลชุดฝึกและข้อมูลทดสอบแล้ว ขั้นตอนต่อไปคือการสร้างโมเดล เราจะใช้ Sequential model ในการสร้างโมเดลง่าย ๆ สำหรับการจำแนกภาพ MNIST
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# สร้างโมเดล
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
MaxPooling2D((2, 2)),
Flatten(),
Dense(64, activation='relu'),
Dense(10, activation='softmax')
])
# คอมไพล์โมเดล
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
# ฝึกโมเดล
model.fit(train_images, train_labels, epochs=5, batch_size=64)
`model.evaluate()` เป็นฟังก์ชันที่ใช้ในการประเมินประสิทธิภาพของโมเดลที่เราได้ฝึกมาแล้ว โดยจะทำการคำนวณ loss และ metric ที่เราได้กำหนดไว้ในขั้นตอนของการ compile โมเดล
# ประเมินประสิทธิภาพโมเดล
test_loss, test_accuracy = model.evaluate(test_images, test_labels)
print(f'Test accuracy: {test_accuracy:.4f}')
จากการใช้ `model.evaluate()` เราจะได้ค่าจำนวนสองค่า คือ loss และ accuracy ซึ่งจะให้ข้อมูลเกี่ยวกับความแม่นยำในการที่จะทำนายข้อมูลทดสอบ ความแม่นยำที่สูงบ่งบอกถึงประสิทธิภาพที่ดีของโมเดล แต่หากมีความแม่นยำที่ต่ำ อาจจำเป็นต้องทบทวนถึงโครงสร้างของโมเดลหรือวิธีการเตรียมข้อมูลเพื่อปรับปรุงเพิ่มเติม
การประเมินผลโมเดลมีความสำคัญมาก และหากทำได้ดี จะเป็นการเปิดประตูให้เราเข้าสู่การพัฒนาต่อเนื่องเพื่อให้ได้โมเดลที่มีประสิทธิภาพสูงสุด หากคุณสนใจศึกษาเพิ่มเติมเกี่ยวกับการเขียนโปรแกรมด้าน Machine Learning และ Deep Learning สามารถเรียนรู้กับ EPT ที่พร้อมจะช่วยให้คุณเติบโตในเส้นทางนี้ด้วยประสบการณ์และการอบรมที่มีคุณภาพ.Good luck!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM