Ajustarea hiperparametrilor în Python
Alex Scriven
Data Scientist
În evoluția genetică din lumea reală, procesul este următorul:
Putem aplica aceeași idee la reglarea hiperparametrilor:
Acesta este un tip de căutare informată cu mai multe avantaje:
O bibliotecă utilă pentru reglarea genetică a hiperparametrilor este TPOT:
Considerați TPOT asistentul dumneavoastră de Data Science. TPOT este un instrument Python de Automated Machine Learning care optimizează pipeline-urile de învățare automată prin programare genetică.
Pipeline-urile includ nu doar modelul (sau mai multe modele), ci și prelucrarea caracteristicilor și alte aspecte. De asemenea, returnează codul Python al pipeline-ului!
Principalele argumente ale unui clasificator TPOT sunt:
generations: Numărul de iterații de antrenare.population_size: Numărul de modele păstrate după fiecare iterație.offspring_size: Numărul de modele generate în fiecare iterație.mutation_rate: Proporția pipeline-urilor la care se aplică aleatorie.crossover_rate: Proporția pipeline-urilor încrucișate la fiecare iterație.scoring: Funcția pentru selectarea celor mai bune modele.cv: Strategia de validare încrucișată utilizată.Un exemplu simplu:
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))
Vom păstra valorile implicite pentru mutation_rate și crossover_rate, deoarece este recomandat să nu le modificați fără cunoștințe aprofundate de programare genetică.
Observație: Nu există hiperparametri specifici algoritmului?
Ajustarea hiperparametrilor în Python