Top Banner
DEVELOPING DATA-DRIVEN CULTURE
33

DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Aug 18, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

DEVELOPING DATA-DRIVEN CULTURE

Page 2: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Toolbox de dados com (e para) PentahoComo conseguimos construir um conjunto de ferramentas que

nos ajudam a entregar projetos

Page 3: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

● 12 anos de mercado; fundação 2007;● 11 anos de projetos desenvolvidos com Pentaho;● 9 anos - Pentaho Gold Partner e Authorized Training Partner;● Partner of the year LATAM por 2 anos consecutivos;● Certificação MPS.BR 2012 - Serviços e Suporte;● Foco em produtos desde 2016;● Parceiros Cloudera e MongoDB;

A Oncase

Page 4: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

A Oncase - o time

● Data scientists - Modelagem e negócio;● Data engineers - Especialistas em mover, integrar e persistir dados;● Fullstack devs - Fazem tudo funcionar;● Architects - Pensam em várias dimensões produto, tecnologia, expectativas;● UX/UI Designers - Fazem o usuário feliz;● Product people - certificam-se de que estamos mesmo fazendo coisas

escaláveis;

Escritório: Recife/São Paulo

Na prática: Remoto!

> Brasília, Recife, São Paulo, Eslovênia, Austrália, ...

Page 5: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,
Page 6: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

● CTO / Arquiteto de Analytics;● 11 anos de projetos com Pentaho;● Certificações Pentaho, MongoDB;● 6 anos de trabalho remoto;● Paixão por opensource e por abrir códigos que utilizamos:● Apaixonado também por produtos...

Marcello Pontes

Page 7: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

● CTO / Arquiteto de Analytics;● 11 anos de projetos com Pentaho;● Certificações Pentaho, MongoDB;● 6 anos de trabalho remoto;● Paixão por opensource e por abrir códigos que utilizamos:● Apaixonado também por produtos...

Marcello Pontes

E POR NEVE!

Page 8: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Toolboxkit de dados com (e para) PentahoComo conseguimos construir um conjunto de ferramentas que

nos ajudam a entregar projetos

Page 9: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

TOOLKIT ONCASE

PRINCÍPIO:A gente sempre vai produtizar módulos, tarefas e códigos repetitivos do

nosso dia-a-dia; em grande parte, vamos também devolver à comunidade por meio de código aberto;

toolkit.onca.se

Page 10: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

TOOLKIT - Motivação

● Óbvio: Automação e produtividade;● Comunidade interna - investir em comunidade devolve produtividade e

robustez aos artefatos criados;● Qualidade - documentação, colaboração e publicação aumentam

transparência;● Validação de idéias - produto adotado e com interesse é demonstração de

valor;

Page 11: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

TOOLKIT - Alguns...

● Tapa - Customização visual para Pentaho;● Oktopus - Portal de Analytics com Governança;● Tarantulla - Suíte de web crawling e scrapping com módulos para redes

sociais, além de alertas inteligentes e content tagging;● Scora - Workbench para gerenciamento e monitoramento de modelos

preditivos;● Wilson - Bot que responde a perguntas (no slack, por exemplo) com dados

(por enquanto OLAP);● Exportador (sem batismo, por enquanto)- ferramenta com foco em

exportação de dados;● Parlezy - Segmentação e analytics sobre arquivos de áudio;● … tooklkit.onca.se

Page 12: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

OktopusDisponibilizando somente o essencial para o usuário

Page 13: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Motivação:

● Interface dos fornecedores é de prateleira;○ Não é talhada para ser específica;○ Tem itens às vezes desnecessários;○ Quase nunca integra artefatos de outros fornecedores;

Histórico:

● Crescente pedido por visões isoladas e portais distraction-free;○ Oktopus surgiu de vários projetos repetidos;○ Foi transformado e evoluído em MVP;○ Foi adotado em produção com sucesso;○ Isolamos o código e publicamos o oktopus-pentaho;○ Desenvolvemos nova base de código para SaaS;

Projetos de Business Intelligence

Page 14: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Motivação:

● BI para silos de dados;● Oktopus para silos de informações;

> BI Corporativo com faturamento - Tableau;

> R Shiny - D.scientist publicaram uma justificativa técnica sobre ruptura em estoque;

Projetos de Business Intelligence

Page 15: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,
Page 16: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

O que é o Oktopus? E o que ele não é?

● É: ○ Um organizador de link por papéis;○ Gerenciador/Concentrador de Identidades de portais;

● Não é:○ Uma ferramenta de integração de dados;○ Ferramenta de gestão de conteúdo;

Page 17: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

O que é o Oktopus? E o que ele não é?

● Faz:○ Proporciona concentração de informações;○ Permite o usuário focar nas informações mais relevantes;○ Permite o compartilhamento de informações de forma segura;○ Permite acompanhamento (comentários-tickets-resolvable) nos painéis;

● Não faz:○ Não permite criar páginas de conteúdo;○ Não hospeda dashboards;

Page 18: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Oktopus Pentaho

● Codebase legado que chegamos a utilizar em alguns projetos;● Funciona como Pentaho Plugin utilizando segurança e roles do Pentaho

Server;● https://github.com/oncase/oktopus-pentaho;

Oktopus SaaS

● oktopusapp.com● Mais focado em ser multi-ferramenta;● Log de atividades;● Workspace multi usuários e multi grupos;● Gerenciamento de identidades (em desenvolvimento);● Diversas features inteligentes (em desenvolvimento);

Disponibilidade do Oktopus

Page 19: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

TarantullaIntegrando dados para uma visão 360

Page 20: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Motivação:

● Muito conhecimento de Pentaho Data Integration em casa;● Muitos projetos com necessidade de crawling/scrapping - não só de redes

sociais, mas Portais de notícias, ecommerces, fórums hierárquicos;● PDI É excelente para crawling indexado e scrapping (com Xpath e CSS

selectors);● Criação de rotinas e frameworks que facilitam muito a construção de visões

360 sobre empresas;● Monitoramento de concorrência através de captura de engajamento;

Web crawling / scrapping

Page 21: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Oktopus + Tarantulla em ação

Page 22: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Módulo WEB

● HTML caching - importante para reprocessamentos e re-scrapping;● Scrapping através de CSS Selectors (com lib Jodd em steps javascript) e

XPath;● Captura de engajamento embutida no engenho - engajamento de links no

facebook;● Arquitetura plugável

○ Cada portal imlpementa as interfaces (jbos ou trans) getLinks e parseContent - com contratos bem definidos;

○ O Processo roda em modo batch independente de quantas implementações existem;

○ Relatórios auditoria de qualidade e de assertividade para monitoramento.

Tarantulla

Page 23: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Módulos para redes Sociais

● Twitter, Youtube, Facebook;● Implementações opensource capturam publicações de perfis previamente

cadastrados;● Módulos de content tagging - descoberta de temas em texto - e alertas -

baseados em algoritmos inteligentes; (módulos ainda não são opensource);

Tarantulla

Page 24: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

tarantulla.ioMais...

Page 25: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

ScoraWorkbench para gerenciamento e monitoramento de analytics

Page 26: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Gerenciamento de Modelos analíticos

Então temos um projeto onde o ator principal é o modelo preditivo ou os modelos preditivos

● Como faço deploy dos meus modelos preditivos em uma ferramenta governável?

● Como acompanho o desempenho dos meus modelos?● Como dou feedbackcs sobre falsos positivos ou falsos negativos?

○ Como retroalimentar uma base de treinamento sem necessidade de Rocket Science?● Tenho também regras de negócio que deveriam influenciar meu score;

○ Como deixar que o usuário crie regras de negócio para enviar casos ao bureau de investigação?

● Como separo outliers automaticamente?

Page 27: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

SCORA

● Workflow genérico e robusto para deploy de modelos analíticos○ WEKA, Python, R e outros;

● Workbench de ciclo de vida de investigação com visão 360 sobre cada caso;○ Redes sociais, visões GEO, timeline, Relacionamentos;

● Analytics (cubos e visões) para monitorar performance dos modelos;● Com dev workbench (Jupyter integrado, mas com possibilidade de

integração de outros);● Big Data Ready - Pode ser utilizado em edge nodes junto com toda a

conectividade de edge apps;● Resolve o problema de operacionalizar (Produção) fluxos de analytics;

Page 28: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Scora - Assistente de reexecuções em Batch

Page 29: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Scora - Manutenção de regras customizadas

Page 30: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Scora - Analytics, monitoramento e influências sobre os modelos

Page 31: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

SCORA

Cases:

● Investigação de fraudes em sinistros - mercado de seguradoras;○ Influencia em modelos;○ Workflow de investigação;○ Visão 360;

● Manutenção preditiva de ativos e equipamentos - utilities;○ Priorização de trocas;○ Previsão de ROI sobre substituição;○ Acompanhamento de resultados;

● Fraudes fiscais;○ Scrapping de documentos;○ Descoberta de relacionamentos ocultos;○ Timeline de eventos relevantes para a investigação;

Page 32: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Scora - Analytics, monitoramento e influências sobre os modelos

marketing.oncase.com.br/scora

Page 33: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Obrigado!

[email protected]● Entrem em toolkit.onca.se● Conheçam a empresa: oncase.com.br● Sigam nosso github: github.com/oncase● twitter.com/oncase● twitter.com/marpontes