Ajuste de Hiperparâmetros em Python
Alex Scriven
Data Scientist
Na evolução genética no mundo real, temos o seguinte processo:
Podemos aplicar a mesma ideia ao ajuste de hiperparâmetros:
Esta é uma busca informada com várias vantagens:
Uma biblioteca útil para ajuste genético de hiperparâmetros é a TPOT:
Considere a TPOT sua Assistente de Data Science. A TPOT é uma ferramenta de Machine Learning automatizado em Python que otimiza pipelines de machine learning usando programação genética.
Pipelines incluem não só o modelo (ou vários) como também tratamento de features e outras etapas. E ainda retorna o código Python do pipeline para você!
Os principais argumentos de um classificador TPOT são:
generations: Quantas iterações treinar.population_size: Quantos modelos manter após cada iteração.offspring_size: Quantos modelos gerar em cada iteração.mutation_rate: Proporção de pipelines com aleatoriedade.crossover_rate: Proporção de pipelines cruzados a cada iteração.scoring: Função que define os melhores modelos.cv: Estratégia de validação cruzada.Um exemplo simples:
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))
Vamos manter os valores padrão de mutation_rate e crossover_rate, pois é melhor deixá-los assim sem conhecimento profundo de programação genética.
Perceba: nenhum hiperparâmetro específico do algoritmo?
Ajuste de Hiperparâmetros em Python