Objetivo deste artigo não é discutir teorias de modelos de Machine Learning, mas sim mostrar na prática como um problema pode ser resolvido utilizando diferentes tecnologias de análise de dados, tais como: Spark, Python, R e KNIME.
Foi construída a seguinte arquitetura de Big Data Analytics para processar os modelos de machine learning apresentados neste artigo:
Este conjunto de plataformas permite desenvolver:
– Integração de dados e ETL
– Business intelligence (BI) e Analytics (BA)
– Computação de alto desempenho
– Processamento em Real-time e/ou em fluxo continuo
– Machine learning
Este workflow feito no KNIME contém alguns dos processamentos apresentados neste texto.
O problema da previsão da Perda de cliente (Churn)
O evento churn, por envolver a perda de clientes, traz um impacto direto na receita e imagem da empresa. Por isso é de extrema importância saber com antecedência quais os clientes estão em risco de deixarem a empresa, para desta forma, desenvolver ações proativas de retenção.
Este é um tipo de problema em que modelagem preditiva pode contribuir para gerar ações de retenção de clientes.
Este exemplo utilizou dados provenientes de telecom (Churn Analysis) contendo informações; sócio-demográficas, perfil de utilização dos serviços e etc.
O desenvolvimento do modelo de machine learning contemplou as seguintes etapas:
Obtenção das informações
Os dados foram obtidos através da conexão com o Apache Hive. O Hive é uma infraestrutura de data warehouse alicerçada no Hadoop. Esta infraestrutura permite fazer sumarização e consulta de base dados, útil especialmente para grandes volumes de dados.
Pré-processamento
Nesta etapa foi feita a obtenção dos dados e as devidas manipulações, filtros, transformação de variáveis, retirada dos missings, com o objetivo de preparar os dados para serem consumidos pelos modelos analíticos.
Treinamento dos dados
Os algoritmos de machine learning precisam ser treinados e avaliados. Por isso, para cada processamento dos modelos foram feitas partições do conjunto de dados (80%) para treinamento e o restante (20%) para avaliação.
Avaliação dos modelos
Após o treinamento de um determinado modelo, ainda não há certeza de que este modelo tenha aprendido algo relevante. Por isso é necessário fazer uma avaliação da sua assertividade, antes de aplicá-lo nos dados reais.
O teste da avaliação foi realizado com base nos resultados do modelo obtidos quando aplicado na amostra de 20% da base de dados, amostra esta que foi separada para este fim na etapa de treinamento.
Após aplicado o modelo nesta amostra, o resultados é confrontado com a realidade. Se o modelo predisse que um determinado cliente apresentaria o Churn e de fato o cliente tenha apresentado este evento, então ocorreu um acerto, caso contrário o modelo errou. A precisão foi medidas através da área sob a curva ROC, onde valores mais próximos de 1 indicam maior assertividade do modelo.
Curva ROC de processamentos de alguns modelos:
Resultados
Os resultados apresentados no dashboard feito no Spotfire, foram obtidos através do processamento do Modelo Random Forests processados no Python.
Processamentos do Spark, R e KNIME, foram muito semelhantes. A escolha de apresentar o Python no dashboard, não foi baseada em nenhum critério técnico.
Observando os resultados obtidos através das curvas ROCs apresentados no dashboard, inota-se que não houveram diferenças importantes entre os modelos processados independentemente da tecnologia.
Se o volume de informações fosse maior e/ou se fossem avaliadas outras características, possivelmente, as tecnologias apresentariam resultados diferentes inclusive em relação a performance, ainda que este post, não tenha discutido esta questão.
Outro resultado interessante foi que o KNIME, possibilitou amigável e eficiente integração com o R, Python, Spark e plataforma de Big Data em MapR.
Em breve promoverei um Webinar que irá apresentar com um pouco mais de detalhes este processo de analytics em Big Data .
Este site usa cookies para melhorar sua experiência. Ao fazer uso desta plataforma, você concorda com a utilização dos mesmos. Para saber mais sobre cookies utilizados, ou como bloqueá-los ou deletá-los acesse nossa politica de cookiesAceitar e Fechar ouconfigurar cookies
Política de privacidade e uso de cookies
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.