AnalyticsAprendizagem de MáquinaBig DataCiência de DadosCloud ComputingData ScienceDemocratization of BIEngenharia de DadosKNIMEMachine Learning

Entregando Projetos de AI & Data Science de alto desempenho para áreas de negócios.

Não seria sensacional aumentar a capacidade de entrega de projetos de Data Science para subsidiar as decisões das área de negócio da empresa?

Vamos ver como isso é exequível utilizando uma plataforma para desenvolver e produtizar projetos de Data Science com alta performance e como resultado gerar insumo para uma área de MKT ou de retenção de cliente desenvolver ações para o negócio.

As etapas que serão apresentados, irão mostrar na prática como entregar projetos de AI de alto desempenho para áreas de negócios. Envolvendo as etapas:

  1. Ingestão e consumo de Big Data na nuvem utilizando Azure Blob Storage.
  2. Algoritmos de Machine Learning com PySpark e H2O com alta performance.
  3. Deploy – Aplicar o modelo com processamento remoto no Databricks.
  4. Disponibilizar os resultados em Dashboard Power BI ou Tableau para áreas de negócio.

Para este exemplo vamos aplicar modelos de Machine Learning para identificar a probabilidade de um cliente não pagar a próxima fatura. No entanto, o foco aqui não é discutir o processo de análise de dados, mas sim, apresentar um overview de um processo de Data Science e ML utilizando computação distribuída na nuvem de forma simples mas mantendo uma alta performance.

Workflow no KNIME processando algoritmos de Machine Learning no Databricks
  1. Processamento de dados no Databricks

O que é Databricks? É uma ferramenta de Analytics em nuvem para gerenciamento e processamento de Big Data, que permite a construção de pipelines de dados e modelos de machine learning em um sistema distribuído de alta performance.

Microsoft Azure Framework

Neste exemplo conectamos em um cluster com Databricks hospedado na Azure, mas este cluster poderia estar hospedado em outra nuvem, como por exemplo AWS. 

Para desenvolver esta conexão com o Databricks e orquestrar o processamento dos algoritmos de Machine Learning foi utilizado o KNIME Analytics Platform.

O KNIME é um software para criar, automatizar e produtizar análise e ciência de dados, através de um ambiente fácil e intuitivo. 

Dentre as várias funcionalidades, a plataforma possibilita:

– Acesso às diversas fontes de dados;

– O desenvolvimento e deploy de algoritmos de Machine Learning;

– A conexão com diversas  plataformas de Big Data e IA local ou na nuvem, alem do Databricks, por exemplo, Google BigQuery, Hadoop, Amazon Redshift e S3.

Ingestão, consumo no Blog Storage e conexão com o Databricks feito através do KNIME
  1. Training Machine Learning Model

Um vez que os dados estão agora no Databricks, vamos então processar os algoritmos de Machine Learning.

Os algoritmos de Machine Learning foram construídos utilizando o H2O Sparkling Water  e o PySpark, com o objetivo de predizer a probabilidade de um determinado cliente não pagar a próxima fatura.

O processamento desses algoritmos no Databricks orquestrado pelo KNIME ocorreu na nuvem, de forma distribuída, possibilitando que a aplicação seja rápida e escalável.

KNIME Workflow orquestrando o processamento no H2O e Spark

No H2O foi treinado o Gradient Boosting Machine Learning (GB) for Classification. Este método cria árvores de decisão sequenciais de forma paralela. 

Ao final do treinamento e teste do algoritmo, o modelo foi exportado para o Mojo (Model Object Optimized).

Já no PySpark foi escrito um script para treinar o algoritmo Random Forest, cujo modelo cria um conjunto de árvores de decisão com processamento interativo. Após o treinamento, o modelo foi exportado para Spark MLlib model.

Script em PySpark para Processar Gradient Boosting no Databricks

Para ambos os modelos foram calculados AUC (Area under the ROC Curve) para identificar qual dos algoritmos apresenta a melhor performance. Valores próximos de 1 indicam modelos com melhor performance, já valores próximos a 0 significa que o modelo apresentou baixa performance em sua capacidade preditiva.

Quando comparada as AUCs gerada pelos algoritmos, verifica-se que ambos tiveram um desempenho  muito semelhante. No entanto, houve uma pequena vantagem na performance do  GB no H2O sob o Random forest no Pyspark.

Por isso, o GB foi  o modelo utilizado aplicado e predizer a probabilidade de um determinado cliente não pagar a próxima fatura. Este processo é denominado Deploy.

  1. Deploy – Aplicar o modelo com processamento remoto no Databricks.
Workflow de Deploy no KNIME com processamento no Databricks

No processo de Deploy as estruturas dos modelos  são carregados. Em seguida, seleciona-se automaticamente aquele que apresenta a melhor performance. Em paralelo, é feita a leitura do novo conjunto de informações contendo os dados dos clientes dos quais se deseja obter as probabilidades de pagamento. Por fim, é aplicado o algoritmo selecionado utilizando o Spark no Databricks para efetuar os cálculo e obter as probabilidades.

  1. Disponibilizar os resultados em Dashboard Power BI ou Tableau para áreas de negócio.

Por fim, este resultado pode ser visualizado no próprio KNIME ou enviado para um Dashboard como por exemplo Power  BI ou Tableau uma vez com o KNIME tem integração direta com estas ferramentas de BI.

Resultados enviados para o Power BI, Tableau ou KNIME

Desta forma, o processamento, a escolha do modelo, a leitura dos novos dados,  a predição de um cliente não pagar a fatura e a visualização dos resultados estão sendo realizados automaticamente num ambiente de computação distribuída na nuvem com alta performance.

Possibilitando entregar indicadores provenientes de uma aplicação de AI para subsidiar ações das áreas de negócio.

Por Marcus Estanislao

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *