em 06-03-2021 07:37 PM
Por vezes, precisamos utilizar algoritmos de predição em um conjunto de dados, mas não temos ideia de qual se encaixa melhor para prever o resultado final. Esse tipo de análise pode consumir tempo quando você está fazendo via código (R ou Python, por exemplo).
Felizmente, com o Alteryx, basta apenas arrastar algumas ferramentas para que se possa comparar a acurácia e gerar a matriz de confusão para cada modelo. Vamos ver como podemos tornar essa tarefa árdua em algo tão simples e rápido de se fazer.
Primeiramente, uma das maneiras para trabalhar com análise de modelos preditivos no Alteryx é baixando o pacote de ferramentas preditivas. Ele está disponível no portal de downloads, ao clicar em qualquer versão do Alteryx Designer – (detalhe, ele é gratuito se você possui o Alteryx Designer). Sim – o nome do arquivo é RInstaller, pois se instala também uma versão do R na sua máquina (todas as ferramentas da aba preditiva usam o R por trás delas).
Um método alternativo é clicar no menu de Opções, caso você ainda não tenha instalado o pacote, este aparecerá como a última opção neste menu.
Também é necessário acessar a Galeria Pública do Alteryx e baixar separadamente a ferramenta Model Comparison – ela é uma macro que fará o processo de comparação dos modelos. Você a encontra ao acessar a galeria e clicar em Districts (Distritos), selecionando Predictive District (Distrito Preditivo). Ou diretamente neste link. Lembre-se que é necessário clicar em "DOWNLOAD" para baixá-la.
Feito isso, para este exemplo utilizaremos o Iris dataset, tão famoso e escolhido por muitos para se explicar exemplos no R. Você pode fazer o download aqui. Este dataset vem em formato .CSV (formato de texto), portanto, ao trazê-lo para o Alteryx, a primeira coisa que temos que fazer é adicionar uma Auto-Field tool, de maneira que auto ajustamos os tipos de dados para cada coluna (o que é numérico vira numérico, etc.).
Como este dataset já vem limpo, não iremos abordar técnicas de tratamento de dados para modelos preditivos. Este é um assunto a parte. A próxima ferramenta a ser adicionada é a Create Samples. Nela dividiremos o nosso dataset em 70% de treino e 30% de validação. O dataset de treino será utilizado para construção do modelo, e o de validação será usado para testar a eficácia dos modelos.
O próximo passo é adicionar os modelos. Neste exemplo serão comparados 3 modelos de classificação multinomial – Support Vector Machine (SVM), Naive Bayes e Decision Tree (árvore de decisão). Iremos ter como variável alvo a espécie (Species) e todas outras variáveis numéricas como preditoras. A configuração é basicamente a mesma para todos os modelos (deixamos o padrão para outras eventuais configurações). Todos eles estão na aba Preditiva, caso você tenha instalado o pacote de ferramentas preditivas.
Feito isso, cada modelo gerará um objeto, e estes objetos devem ser unidos (empilhados) em uma tabela utilizando a Union Tool.
Agora é hora de adicionar a Model Comparison macro! Colocamos o resultado da união dos modelos na entrada M, e puxamos o conjunto de validação para testar os modelos utilizados na entrada D. Adicionamos Browse Tool para ver o resultado e voilà! Temos os resultados que queremos na saída R.
Como pode-se perceber, a primeira tabela traz a acurácia de cada modelo em geral e também a acurácia para prever com exatidão cada possível resultado da variável alvo. Logo abaixo, há também a matriz de confusão de cada modelo para se realizar a comparação de registros que foram previstos de maneira correta. SVM trouxe uma acurácia maior no geral em comparação com os outros dois.
Nota-se que com poucos passos é possível enxergar insights valiosos na hora de realizar análise preditiva com o Alteryx. A customização e interpretação de cada caso obviamente irá variar, mas de fato essa solução economiza muito tempo de desenvolvimento de código. Para se ter uma ideia, esse fluxo roda em 12.5 segundos!
O fluxo utilizado nesse caso está neste link. Deixe seu comentário caso tenha dúvidas.
Até a próxima!
Excelente, muito obrigado por compartilhar! Por mais materiais deste tipo...rs. Abraços!
everything was great
Good