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

Anúncios