การปรับ Hyperparameter ใน Python
Alex Scriven
Data Scientist
ในวิวัฒนาการทางพันธุกรรมในโลกความเป็นจริง กระบวนการมีดังนี้:
นำแนวคิดเดียวกันมาใช้กับการปรับแต่ง hyperparameter:
นี่คือการค้นหาแบบมีข้อมูลที่มีข้อดีหลายประการ:
ไลบรารีที่มีประโยชน์สำหรับ genetic hyperparameter tuning คือ TPOT:
ให้ TPOT เป็นผู้ช่วยด้าน Data Science ของคุณ TPOT คือเครื่องมือ Python Automated Machine Learning ที่ปรับ pipeline ของ machine learning ให้เหมาะสมโดยใช้ genetic programming
Pipeline ไม่ได้ครอบคลุมเพียงโมเดล (หรือหลายโมเดล) แต่ยังทำงานกับ feature และด้านอื่น ๆ ของกระบวนการด้วย นอกจากนี้ยังส่งคืนโค้ด Python ของ pipeline ให้ด้วย!
อาร์กิวเมนต์หลักของ TPOT classifier:
generations: จำนวนรอบการฝึกpopulation_size: จำนวนโมเดลที่เก็บไว้หลังแต่ละรอบoffspring_size: จำนวนโมเดลที่สร้างในแต่ละรอบmutation_rate: สัดส่วน pipeline ที่ใช้ความสุ่มcrossover_rate: สัดส่วน pipeline ที่ผสมพันธุ์ในแต่ละรอบscoring: ฟังก์ชันสำหรับตัดสินโมเดลที่ดีที่สุดcv: กลยุทธ์ cross-validation ที่ใช้ตัวอย่างง่าย ๆ:
from tpot import TPOTClassifier tpot = TPOTClassifier(generations=3, population_size=5, verbosity=2, offspring_size=10, scoring='accuracy', cv=5)tpot.fit(X_train, y_train) print(tpot.score(X_test, y_test))
จะใช้ค่าดีฟอลต์สำหรับ mutation_rate และ crossover_rate เนื่องจากควรปล่อยให้เป็นค่าดีฟอลต์หากไม่มีความรู้เชิงลึกด้าน genetic programming
สังเกตว่าไม่มี hyperparameter เฉพาะของอัลกอริทึม?
การปรับ Hyperparameter ใน Python