Como usar Machine Learning (rede neural) sem escrever uma única linha de código.
Existe hoje a certeza que a Inteligência Artificial, em particular o Machine Learning, é uma vantagem competitiva imprescindível para as empresas mas que ainda só está à disposição das que têm muito dinheiro e muitos programadores experientes.
Várias vezes durante a minha carreira vi ser cometido o mesmo erro por parte dos diversos analistas e suas chefias, que foi o descartar das técnicas avançadas de analytics por se achar que estão destinadas a programadores e ao departamento de IT. A consequência é a devolução absoluta a folhas de excel, pela errada percepção da sua facilidade de uso, criando com isso processos ineficientes e erráticos de tratamento de dados.
Neste artigo partilho o exemplo da modelação e aplicação de uma rede neural artificial para prever a aceitação de uma campanha de marketing. Desenvolvido em poucas horas e principalmente sem escrever uma única linha de código, usando a tecnologia alteryx.
A imagem acima mostra o processo completo, desde a inserção dos dados, o treino da rede neural, a aplicação da mesma aos dados de teste e a sua exportação para serem visualizados. O objectivo do processo é o de treinar um modelo que preveja a aceitação ou rejeição de um cliente a uma determinada campanha de marketing, em função do histórico de uma campanha passada e dos seus dados individuais, como idade e salário estimado.
1 - Importação de dados
A importação de dados foi feita no nó "[1] Input data", apenas arrastando o nó e escolhendo o ficheiro. O dataset usado foi importado de um ficheiro .csv mas também poderiam ter sido importados dados de outra natureza, como BD's SQL, ferramentas de Big Data ou outros. O dataset contém 400 observações e já se encontra limpo, sendo um dataset para efeitos académicos e que tem como origem o curso partilhado.
2 - Modificação
A modelação de dados começa no nó [2] Split into training set and test set, onde o dataset original foi dividido em duas partes, na razão de 75% (training set) - 25% (test set). Esta divisão tem o intuito de fazer o modelo aprender em apenas 75% (300 observações) do dataset para posteriormente testar o modelo nos 25% restantes (100 observações), conseguindo assim perceber e evitar que o modelo fique demasiado ajustado aos nossos dados (overfitting) visto que o que queremos é que o modelo funcione o melhor possível com dados desconhecidos.
Nos nós [3] a [6] são escolhidas as variáveis a usar, Age e EstimatedSalary para prever a variável Purchased, e é feita uma subdivisão do training set e do test set entre variáveis independentes (Age e EstimatedSalary - [3] e [5]) e variáveis dependentes (Purchased - [4] e [6]). As variáveis independentes são normalizadas à unidade [0,1] estando de seguida os dados prontos a modelar.
3 - Modelação
A modelação é feita no nó [11] Training Neural Network, tendo apenas que ser indicado no mesmo as duas variáveis independentes (Age e EstimatedSalary) e a variável dependente (Purchased), tal como se vê na imagem. Deverá também ser indicado o número de nós da rede neural, que para o caso foi 2.
4 - Avaliação
O nó [12] - Test Neural Network usa o modelo treinado anteriormente e aplica-o ao Test Set. São automaticamente gerados pelo alteryx indicadores de performance do modelo. De entre os vários indicadores e gráficos gerados, ressalvo a precisão do modelo (correcto 87% das vezes) e também a matrix de confusão, onde vemos o sumário dos valores previstos correcta e incorrectamente (63 clientes que o modelo previu não aceitarem a campanha e efectivamente não aceitaram, 24 clientes que o modelo previu aceitarem a campanha e aceitaram, 5 que o modelo prevê aceitarem e rejeitaram e 8 que prevê não aceitarem e aceitaram).
5 - Visualização
Por fim os dados são exportados para o Tableau, onde foi gerado o gráfico acima. Podemos assim analisar visualmente todos as previsões correctas e incorrectas em função da Idade e Salário estimado de cada cliente.
Conclusão
Este tutorial mostra que hoje já existem ferramentas que permitem de forma rápida, fácil, acessível a qualquer analista e sem escrever uma única linha de código, aplicar modelos de Machine Learning às necessidades de negócio. O alteryx é um exemplo de tecnologia que permite isso mesmo (provavelmente a mais completa e fácil de usar), onde o processo de tratamento de dados é todo realizado apenas arrastando e largando caixas que realizam a operação pretendida.
O que achaste deste artigo? Tens alguma sugestão de melhoria ou dúvida? Partilha-as comigo através de Joao.Oliveira@BiLD.solutions
# BiLDanalytics #MachineLearning #DataScience #alteryx #Tableau
Regional Logistics Operations Manager
6 aExcelente artigo Joao. Abraço
Professor | ENG Senior | CMarEng | CEng | OEMMM | SCE-TRM | CIWFM
6 aLonge vão os tempos em que aplicava os Bond Gragh para analise e resolução aplicados aos sistemas Electromecânicos !Parabéns pela clarividência do artigo e tema.
Data engineer | Analytics Engineer | Senior Data Analyst |
6 aExcelente trabalho João. O uso de ferramentas como Alteryx auxiliam muito na facilitacao de implementação de projetos, que com codificação pura poderiam ter custos mais altos se considerarmos a necessidade de contratação de profissionais altamente especializados.
Financial Control Manager at Frijobel, SA
6 aMuito bom João! Parabéns!
Data Engineer
6 aBom trabalho João.