การปรับ Hyperparameter ด้วย Genetic Algorithm โดยใช้ TPOT
ในแบบฝึกหัดนี้จะลองใช้ genetic hyperparameter tuning ในตัวอย่างเบื้องต้น TPOT เป็นไลบรารีที่ทรงพลังมากและมีฟีเจอร์หลากหลาย บทเรียนนี้เพิ่งเริ่มสัมผัสพื้นผิวเท่านั้น จึงแนะนำให้ศึกษาเพิ่มเติมด้วยตัวเองในภายหลัง
นี่เป็นตัวอย่างขนาดเล็กมาก ในทางปฏิบัติจริง TPOT ถูกออกแบบมาให้รันหลายชั่วโมงเพื่อค้นหาโมเดลที่ดีที่สุด ซึ่งจะต้องใช้ขนาด population และ offspring ที่ใหญ่กว่านี้มาก รวมถึง generation อีกหลายร้อยรอบ
ในแบบฝึกหัดนี้จะสร้าง estimator จากนั้น fit กับข้อมูล training แล้ว score บนข้อมูล test
สำหรับตัวอย่างนี้ให้ใช้:
- 3 generations
- population size เท่ากับ 4
- offspring 3 ตัวในแต่ละ generation
- ใช้ accuracy สำหรับการ scoring
กำหนด random_state เป็น 2 เพื่อให้ผลลัพธ์สอดคล้องกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การปรับ Hyperparameter ใน Python
คำแนะนำการฝึกหัด
- กำหนดค่าที่ระบุไว้ในบริบทให้กับ input ของ
tpot_clf - สร้าง classifier
tpot_clfโดยใส่ input ที่ถูกต้อง - Fit classifier กับข้อมูล training (
X_trainและy_trainพร้อมใช้งานใน workspace แล้ว) - ใช้ classifier ที่ fit แล้วเพื่อ score บนชุดข้อมูล test (
X_testและy_testพร้อมใช้งานใน workspace แล้ว)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Assign the values outlined to the inputs
number_generations = ____
population_size = ____
offspring_size = ____
scoring_function = ____
# Create the tpot classifier
tpot_clf = TPOTClassifier(generations=____, population_size=____,
offspring_size=____, scoring=____,
verbosity=2, random_state=2, cv=2)
# Fit the classifier to the training data
____.____(____, ____)
# Score on the test set
print(____.____(____, ____))