Muitas tarefas devem ser realizadas até chegarmos em um modelo ideal para resolver um determinado problema. No entanto, quando encontramos este modelo ideal ainda podemos tentar refiná-lo, testando diferentes configurações de seus hiper parâmetros. A este processo de refinamento/melhoria damos o nome de model tuning.
Resumidamente, os algoritmos de machine learning recebem dois tipos de entrada:
- Dados: que são utilizados para treinar o modelo
- Hiper parâmetros: que são responsáveis pela configuração lógica do algoritmo que está por trás do modelo
As tarefas conhecidas como feature engineering e feature selection tratam a questão de como criar o melhor conjunto de dados possível para treinar um modelo. Já a tarefa de model tuning trata a questão de como encontrar os melhores hiper parâmetros para o modelo escolhido.
Uma boa estratégia é criar uma baseline para comparação, ou seja, treine seu modelo com a configuração de parâmetros padrão e depois tente melhorar os resultados testando outras configurações.
Existem duas formas de tunar o seu modelo:
- Manualmente: você mesmo pode testar diferentes parâmetros e analisar os resultados.
- Usando algoritmos de tuning: um algoritmo pode testar diferentes cenários para você.
Existem duas classes de algoritmos de tuning:
- Grid search: define-se exatamente quais são os valores dos parâmetros que serão testados.
- Random search: valores aleatórios de parâmetros são testados
Para a parte prática usaremos o pacote Caret do R para tunar nosso modelo de todas as formas citadas acima.
Cada algoritmo terá seus próprios hiper parâmetros para testar. Neste exemplo vamos tentar tunar o parâmetro mtry do algotirmo random forest.
Faça download do material de model tuning em R
Abraços.
Weslley Moura
Um comentário sobre “Model tuning: Otimizando os hiper parâmetros do modelo”