SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Explorando os
Limites da
Predição
Gilberto Titericz Junior
Curitiba/PR - Brasil
Currículo
➔
Engenheiro Eletrônico formado pelo
CEFET/Curitiba em 2003
➔
7 anos experiência em
desenvolvimento de circuitos
eletrônicos
➔
7 anos experiência como
engenheiro de automação
➔
5 anos trabalhando com ciência de
dados
Plataforma Kaggle
➔
É a maior plataforma de competição de
modelagem preditiva no mundo
➔
Mais de meio milhão de cientistas de
dados cadastrados.
➔
Cerca de 48.000 cientistas ativos em
competições
➔
O Kaggle hospeda e empresas podem
patrocinar as competições
Plataforma Kaggle
Ranking Mundial Kaggle
Como Funciona uma
Competição
➔
Registro no site
➔
Escolha uma competição e se registre nela
➔
Baixe os Datasets (train set e test set)
➔
Monte modelos baseados no train set e faça
previsões do test set
➔
Upload suas previsões para avaliação no site
➔
Acompanhe seu desempenho no
LeaderBoard
Como Extrair o Máximo
do Modelo
➔
Entenda o Problema
➔
Pense em várias possiveis soluções
➔
Escolha a métrica de performance adequada
➔
Crie boas features
➔
Crie modelos adequados ao problema
➔
Escolha a estrategia de Validação adequada
➔
Sintonize hyperparametros baseado na técnica
de validação cruzada
➔
Combine modelos usando multiplos níveis de
treino (stack / ensemble)
Domine os algoritmos
de classificação e
regressão
➔
Gradient Boosting Decision Trees
➔
Redes Neurais / Deep Learning (GPU)
➔
Árvores de decisão
➔
Nearest Neighbors
➔
Factorization Machines
➔
Suport Vector Machine(SVM)
➔
Stochastic Gradient Descend
➔
Regressão Linear
➔
Bayesian
➔
VowpalWabbit
Domine a Técnica de
Validação Cruzada
➔
Estime um número de folds adequado ao
problema
➔
Use folds aleatórios ou estratificados
quando possível, ou agrupados por casos
semelhantes.
➔
Em series temporais use folds
consecutivos.
➔
FIXE os indices dos folds que serão
usados em todos os modelos, isso
possibilita comparar a performance dos
modelos entre eles ou com modelos de
outros membros do time
Roteiro para
treinamento de um
modelo validado
➔
Prepare o dataset
➔
Crie Features
➔
Treine com cross-validação e salve a
predição de todos os folds
➔
Calcule a performance de todos os folds
➔
Guarde o modelo treinado e suas
predições
Treinando Ainda Mais
Segundo Nível de Treino
Combinando modelos de forma simples.
➔
Média Aritimética
➔
Média Geometrica
Treinando Ainda Mais
Segundo Nível de Treino
Combinando modelos de forma complexa:
➔
Aprendizado Supervisionado: Múltiplos
Níveis de treinamento
Vários Níveis de Treino
GBM
Random
Forest
Neural Net
Logistic
Regression
GBM
Linear Regression/
Weighted Average
Logistic
Regression
Neural Net
LEVEL 1 LEVEL 2 LEVEL 3
Multiplos Niveis de
Treino
Porque adicionando multiplos niveis de
treinamento melhoram a performance?
DIVERSIDADEDIVERSIDADE
●
De algoritmos de treinoDe algoritmos de treino
●
De featuresDe features
Multiplos Niveis de
Treino
➔
Como avaliar a priori se uma simplesComo avaliar a priori se uma simples
média entre modelos será boa?média entre modelos será boa?
““Supondo que dois modelos X e YSupondo que dois modelos X e Y
apresentam uma performanceapresentam uma performance
equivalente, quanto menor a correlaçãoequivalente, quanto menor a correlação
entre eles, melhor será a performance.”entre eles, melhor será a performance.”
Correlações >0.99 costumam nãoCorrelações >0.99 costumam não
melhorar a performancemelhorar a performance
Kaggle – Otto Group
Product Classification
Challenge
Kaggle – Data Sets
Kaggle – Otto
Challenge
Train set:
> nrow(train)
[1] 61878
> nrow(test)
[1] 144368
Kaggle – Otto
Challenge
Feature Engineering:
➔ Contagem de zeros
➔ Transformações Logaritmicas
➔ Agrupamento K-means
➔ Soma e subtração entre grupos de
features similares
➔ Redução de dimensão t-SNE em 3
features
➔ Vizinhos mais próximos
Kaggle – Otto
Challenge
Estrategia de Cross-Validação:
● Exemplo: 5 folds aleatórios com índices
fixos
TEST SET
1 2 3 4 5
TRAIN SET
Kaggle – Otto
Challenge
Estrategia de Cross-Validação 5 Folds:
➔ Cada Modelo passa por 6 etapas de
treino:
1) Fold1: treino com folds [2,3,4,5]
2) Fold2: treino com folds [1,3,4,5]
3) Fold3: treino com folds [1,2,4,5]
4) Fold4: treino com folds [1,2,3,5]
5) Fold5: treino com folds [1,2,3,4]
6) Test Set: treino com folds [1,2,3,4,5]
Kaggle – Otto
Challenge
Modelos:
➔ Ao todo foram treinados 37 modelos no
primeiro nível de aprendizado.
● No segundo nível, além das 37 meta
features, foram criadas mais 8 features
não-supervisionadas.
Kaggle – Otto
Challenge
Modelos:
➔ 18x KneighborsClassifier
➔ 6x Xgboost
➔ 4x Lasagne Neural Net
➔ 3x SofiaML
➔ 1x Logistic Regression
➔ 1x Extra Trees Classifier
➔ 1x Multinomial Naive Bayes
➔ 1x Random Forest
➔ 1x LibFM
➔ 1x H2O Neural Net
Kaggle – Otto
Challenge
Neighbors Feature Engineering:
➔ Soma das distâncias dos N vizinhos mais
próximos e clusterização K-Means usando as 3
transformações do Dataset:
✔ Data set Original
✔ Data set transformado com Log(X+1)
✔ Data set Reduzido a 3 dimensões usando o
algoritmo t-SNE (t-distributed stochastic
neighbor embedding)
Otto – Arquitetura da
Solução
Meta Predictions
37x Modelos
8x
Features de
Distância
XgBoost
Bag: 250 runs
Média Ponderada/
Weighted Average
Geometrica e
Aritmetica
AdaBoost
(ExtraTrees)
Bag: 250 runs
Neural Net
Bag: 600 runs
LEVEL 1 LEVEL 2 LEVEL 3
Kaggle – Otto
Challenge
➔ Média Ponderada nas predições do
segundo nível:
PREVISÕES =
0.85 * [([(XGBoostXGBoost^0.65)*(^0.65)*(NeuralNetNeuralNet^0.35)]^0.35)] +
0.15 * ADABoost(ET)ADABoost(ET)
Kaggle – Otto
Challenge
Resultados:
➔ Level2 crossvalidated + weighted mean
LogLoss: 0.3962
➔ Kaggle LeaderBoard (Public): 0.38055
➔ Kaggle LeaderBoard (Private): 0.38243
Kaggle – Otto
Challenge
Resultados:
Kaggle – Otto Post
Challenge Forum
https://www.kaggle.com/c/otto-group-product-classification-
challenge/forums/t/14335/1st-place-winner-solution-gilberto-titericz-
stanislav-semenov/79598#post79598
Contact
Gilberto Titericz Junior
• titericz@yahoo.com
●
https://www.kaggle.com/titericz
●
https://br.linkedin.com/in/gilberto-titericz-jr-
6601357

Mais conteúdo relacionado

Destaque

Modelos Predictivos, Big Data Retos y Generación de nuevas soluciones
Modelos Predictivos, Big Data Retos y Generación de nuevas solucionesModelos Predictivos, Big Data Retos y Generación de nuevas soluciones
Modelos Predictivos, Big Data Retos y Generación de nuevas solucionesBig-Data-Summit
 
Data Visualization & Data Storytelling
Data Visualization & Data StorytellingData Visualization & Data Storytelling
Data Visualization & Data StorytellingBig-Data-Summit
 
Lost in Translation: Connecting Data Insights with Marketing Execution
Lost in Translation: Connecting Data Insights with Marketing ExecutionLost in Translation: Connecting Data Insights with Marketing Execution
Lost in Translation: Connecting Data Insights with Marketing ExecutionBig-Data-Summit
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp deborahgal
 
Automatización de Procesos de Negocios con BPMS de Código Abierto
Automatización de Procesos de Negocios con BPMS de Código AbiertoAutomatización de Procesos de Negocios con BPMS de Código Abierto
Automatización de Procesos de Negocios con BPMS de Código AbiertoJosé Luis Chiquete Valdivieso
 

Destaque (11)

Modelos Predictivos, Big Data Retos y Generación de nuevas soluciones
Modelos Predictivos, Big Data Retos y Generación de nuevas solucionesModelos Predictivos, Big Data Retos y Generación de nuevas soluciones
Modelos Predictivos, Big Data Retos y Generación de nuevas soluciones
 
Data Visualization & Data Storytelling
Data Visualization & Data StorytellingData Visualization & Data Storytelling
Data Visualization & Data Storytelling
 
Lost in Translation: Connecting Data Insights with Marketing Execution
Lost in Translation: Connecting Data Insights with Marketing ExecutionLost in Translation: Connecting Data Insights with Marketing Execution
Lost in Translation: Connecting Data Insights with Marketing Execution
 
How to calculate provident fund
How to calculate provident fundHow to calculate provident fund
How to calculate provident fund
 
Manual del administrador de Google Apps
Manual del administrador de Google AppsManual del administrador de Google Apps
Manual del administrador de Google Apps
 
Tratamiento de datos
Tratamiento de datosTratamiento de datos
Tratamiento de datos
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
Programación Orientada a Objetos para Python
Programación Orientada a Objetos para PythonProgramación Orientada a Objetos para Python
Programación Orientada a Objetos para Python
 
Programador Jr. para Python Primera Parte
Programador Jr. para Python Primera ParteProgramador Jr. para Python Primera Parte
Programador Jr. para Python Primera Parte
 
Automatización de Procesos de Negocios con BPMS de Código Abierto
Automatización de Procesos de Negocios con BPMS de Código AbiertoAutomatización de Procesos de Negocios con BPMS de Código Abierto
Automatización de Procesos de Negocios con BPMS de Código Abierto
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 

Semelhante a Explorando los Límites de la Predicción

O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
Teste de Software - Especialização Univem
Teste de Software - Especialização UnivemTeste de Software - Especialização Univem
Teste de Software - Especialização UnivemAndré Abe Vicente
 
Scrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-diaScrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-diaVítor Bruno de Almeida
 
1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de software1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de softwareHeider Lopes
 
TDC2016SP - Colocando modelos de Machine Learning em produção.
TDC2016SP - Colocando modelos de Machine Learning em produção.TDC2016SP - Colocando modelos de Machine Learning em produção.
TDC2016SP - Colocando modelos de Machine Learning em produção.tdc-globalcode
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Claudinei Brito Junior
 
Testes e depuração de código com Python
Testes e depuração de código com PythonTestes e depuração de código com Python
Testes e depuração de código com PythonDorneles Treméa
 
Maplink - Proposta Processos de Teste_v3.ppt
Maplink - Proposta Processos de Teste_v3.pptMaplink - Proposta Processos de Teste_v3.ppt
Maplink - Proposta Processos de Teste_v3.pptSergio Rubio
 
Aplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQLAplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQLpichiliani
 
Teste de Integração - Unidade III
Teste de Integração - Unidade IIITeste de Integração - Unidade III
Teste de Integração - Unidade IIIJoão Lourenço
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Edlaine Zamora
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Diego Pacheco
 
Aprendizado de máquina
Aprendizado de máquinaAprendizado de máquina
Aprendizado de máquinaparasite
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Vanilton Pinheiro
 
Apresentação Metodologias Ágeis de desenvolvimento
Apresentação Metodologias Ágeis de desenvolvimento Apresentação Metodologias Ágeis de desenvolvimento
Apresentação Metodologias Ágeis de desenvolvimento carlos Alberto
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 

Semelhante a Explorando los Límites de la Predicción (20)

Overview de QA
Overview de QA Overview de QA
Overview de QA
 
Clean code part 2
Clean code   part 2Clean code   part 2
Clean code part 2
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
Teste de Software - Especialização Univem
Teste de Software - Especialização UnivemTeste de Software - Especialização Univem
Teste de Software - Especialização Univem
 
Scrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-diaScrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-dia
 
1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de software1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de software
 
TDC2016SP - Colocando modelos de Machine Learning em produção.
TDC2016SP - Colocando modelos de Machine Learning em produção.TDC2016SP - Colocando modelos de Machine Learning em produção.
TDC2016SP - Colocando modelos de Machine Learning em produção.
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
Testes e depuração de código com Python
Testes e depuração de código com PythonTestes e depuração de código com Python
Testes e depuração de código com Python
 
Maplink - Proposta Processos de Teste_v3.ppt
Maplink - Proposta Processos de Teste_v3.pptMaplink - Proposta Processos de Teste_v3.ppt
Maplink - Proposta Processos de Teste_v3.ppt
 
Aplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQLAplicando processamento paralelo em instruções SQL
Aplicando processamento paralelo em instruções SQL
 
01-Paradigmas.pdf
01-Paradigmas.pdf01-Paradigmas.pdf
01-Paradigmas.pdf
 
Teste de Integração - Unidade III
Teste de Integração - Unidade IIITeste de Integração - Unidade III
Teste de Integração - Unidade III
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
 
Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
Aprendizado de máquina
Aprendizado de máquinaAprendizado de máquina
Aprendizado de máquina
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Apresentação Metodologias Ágeis de desenvolvimento
Apresentação Metodologias Ágeis de desenvolvimento Apresentação Metodologias Ágeis de desenvolvimento
Apresentação Metodologias Ágeis de desenvolvimento
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 

Mais de Big-Data-Summit

SafeHomeFace - Sistema de reconocimiento facial.
SafeHomeFace - Sistema de reconocimiento facial.SafeHomeFace - Sistema de reconocimiento facial.
SafeHomeFace - Sistema de reconocimiento facial.Big-Data-Summit
 
Las 10 tendencias principales de BI para el 2018 - Carloz Díaz
Las 10 tendencias principales de BI para el 2018 - Carloz DíazLas 10 tendencias principales de BI para el 2018 - Carloz Díaz
Las 10 tendencias principales de BI para el 2018 - Carloz DíazBig-Data-Summit
 
El big data analytics donde menos te lo esperas - Alex Rayón
El big data analytics donde menos te lo esperas - Alex RayónEl big data analytics donde menos te lo esperas - Alex Rayón
El big data analytics donde menos te lo esperas - Alex RayónBig-Data-Summit
 
Big Data en el sector inmobiliario - Gonzalo Martín
Big Data en el sector inmobiliario - Gonzalo MartínBig Data en el sector inmobiliario - Gonzalo Martín
Big Data en el sector inmobiliario - Gonzalo MartínBig-Data-Summit
 
Modelo Operativo para grandes proyectos de AI - Ignacio Marrero
Modelo Operativo para grandes proyectos de AI - Ignacio MarreroModelo Operativo para grandes proyectos de AI - Ignacio Marrero
Modelo Operativo para grandes proyectos de AI - Ignacio MarreroBig-Data-Summit
 
La evolución de la analítica descriptiva - Diego Aguirre
La evolución de la analítica descriptiva - Diego AguirreLa evolución de la analítica descriptiva - Diego Aguirre
La evolución de la analítica descriptiva - Diego AguirreBig-Data-Summit
 
El dato tiene forma y la forma significado - Josep Curto
El dato tiene forma y la forma significado - Josep CurtoEl dato tiene forma y la forma significado - Josep Curto
El dato tiene forma y la forma significado - Josep CurtoBig-Data-Summit
 
BDAS-2017 | Evolución de Open Data en el desarrollo de las ciudades inteligentes
BDAS-2017 | Evolución de Open Data en el desarrollo de las ciudades inteligentesBDAS-2017 | Evolución de Open Data en el desarrollo de las ciudades inteligentes
BDAS-2017 | Evolución de Open Data en el desarrollo de las ciudades inteligentesBig-Data-Summit
 
BDAS-2017 | Deep Learning para Extracción de Valor en Contenidos Digitales
BDAS-2017 | Deep Learning para Extracción de Valor en Contenidos DigitalesBDAS-2017 | Deep Learning para Extracción de Valor en Contenidos Digitales
BDAS-2017 | Deep Learning para Extracción de Valor en Contenidos DigitalesBig-Data-Summit
 
BDAS-2017 | Maximizing a churn campaign’s profitability with cost sensitive m...
BDAS-2017 | Maximizing a churn campaign’s profitability with cost sensitive m...BDAS-2017 | Maximizing a churn campaign’s profitability with cost sensitive m...
BDAS-2017 | Maximizing a churn campaign’s profitability with cost sensitive m...Big-Data-Summit
 
BDAS-2017 | sanselix jobranke_rpptx
BDAS-2017 | sanselix jobranke_rpptxBDAS-2017 | sanselix jobranke_rpptx
BDAS-2017 | sanselix jobranke_rpptxBig-Data-Summit
 
BDAS-2017 | Analitica visual presentación mlms2
BDAS-2017 | Analitica visual presentación mlms2BDAS-2017 | Analitica visual presentación mlms2
BDAS-2017 | Analitica visual presentación mlms2Big-Data-Summit
 
BDAS-2017 | Comunidad Data Science
BDAS-2017 | Comunidad Data ScienceBDAS-2017 | Comunidad Data Science
BDAS-2017 | Comunidad Data ScienceBig-Data-Summit
 
BDAS-2017 | DMC Challengue concurso satisfacción universidad
BDAS-2017 | DMC Challengue concurso satisfacción universidadBDAS-2017 | DMC Challengue concurso satisfacción universidad
BDAS-2017 | DMC Challengue concurso satisfacción universidadBig-Data-Summit
 
BDAS-2017 | Hanldling Target Bias in Predictive Modelling
BDAS-2017 | Hanldling Target Bias in Predictive ModellingBDAS-2017 | Hanldling Target Bias in Predictive Modelling
BDAS-2017 | Hanldling Target Bias in Predictive ModellingBig-Data-Summit
 
BDAS-2017 | Convergencia entre Open Data y Big Data, casos y tendencias
BDAS-2017 | Convergencia entre Open Data y Big Data, casos y tendenciasBDAS-2017 | Convergencia entre Open Data y Big Data, casos y tendencias
BDAS-2017 | Convergencia entre Open Data y Big Data, casos y tendenciasBig-Data-Summit
 
BDAS-2017 | Big Bilbao: Big Data e Internet of Things para la promoción econó...
BDAS-2017 | Big Bilbao: Big Data e Internet of Things para la promoción econó...BDAS-2017 | Big Bilbao: Big Data e Internet of Things para la promoción econó...
BDAS-2017 | Big Bilbao: Big Data e Internet of Things para la promoción econó...Big-Data-Summit
 
BDAS-2017 | Comprendiendo nuestras motivaciones a través de Big Data
BDAS-2017 | Comprendiendo nuestras motivaciones a través de Big DataBDAS-2017 | Comprendiendo nuestras motivaciones a través de Big Data
BDAS-2017 | Comprendiendo nuestras motivaciones a través de Big DataBig-Data-Summit
 
BDAS-2017 | Conozca la plataforma ideal para un procesamiento analítico sin p...
BDAS-2017 | Conozca la plataforma ideal para un procesamiento analítico sin p...BDAS-2017 | Conozca la plataforma ideal para un procesamiento analítico sin p...
BDAS-2017 | Conozca la plataforma ideal para un procesamiento analítico sin p...Big-Data-Summit
 
Building Innovative Data Products in a Banking Environment
Building Innovative Data Products in a Banking EnvironmentBuilding Innovative Data Products in a Banking Environment
Building Innovative Data Products in a Banking EnvironmentBig-Data-Summit
 

Mais de Big-Data-Summit (20)

SafeHomeFace - Sistema de reconocimiento facial.
SafeHomeFace - Sistema de reconocimiento facial.SafeHomeFace - Sistema de reconocimiento facial.
SafeHomeFace - Sistema de reconocimiento facial.
 
Las 10 tendencias principales de BI para el 2018 - Carloz Díaz
Las 10 tendencias principales de BI para el 2018 - Carloz DíazLas 10 tendencias principales de BI para el 2018 - Carloz Díaz
Las 10 tendencias principales de BI para el 2018 - Carloz Díaz
 
El big data analytics donde menos te lo esperas - Alex Rayón
El big data analytics donde menos te lo esperas - Alex RayónEl big data analytics donde menos te lo esperas - Alex Rayón
El big data analytics donde menos te lo esperas - Alex Rayón
 
Big Data en el sector inmobiliario - Gonzalo Martín
Big Data en el sector inmobiliario - Gonzalo MartínBig Data en el sector inmobiliario - Gonzalo Martín
Big Data en el sector inmobiliario - Gonzalo Martín
 
Modelo Operativo para grandes proyectos de AI - Ignacio Marrero
Modelo Operativo para grandes proyectos de AI - Ignacio MarreroModelo Operativo para grandes proyectos de AI - Ignacio Marrero
Modelo Operativo para grandes proyectos de AI - Ignacio Marrero
 
La evolución de la analítica descriptiva - Diego Aguirre
La evolución de la analítica descriptiva - Diego AguirreLa evolución de la analítica descriptiva - Diego Aguirre
La evolución de la analítica descriptiva - Diego Aguirre
 
El dato tiene forma y la forma significado - Josep Curto
El dato tiene forma y la forma significado - Josep CurtoEl dato tiene forma y la forma significado - Josep Curto
El dato tiene forma y la forma significado - Josep Curto
 
BDAS-2017 | Evolución de Open Data en el desarrollo de las ciudades inteligentes
BDAS-2017 | Evolución de Open Data en el desarrollo de las ciudades inteligentesBDAS-2017 | Evolución de Open Data en el desarrollo de las ciudades inteligentes
BDAS-2017 | Evolución de Open Data en el desarrollo de las ciudades inteligentes
 
BDAS-2017 | Deep Learning para Extracción de Valor en Contenidos Digitales
BDAS-2017 | Deep Learning para Extracción de Valor en Contenidos DigitalesBDAS-2017 | Deep Learning para Extracción de Valor en Contenidos Digitales
BDAS-2017 | Deep Learning para Extracción de Valor en Contenidos Digitales
 
BDAS-2017 | Maximizing a churn campaign’s profitability with cost sensitive m...
BDAS-2017 | Maximizing a churn campaign’s profitability with cost sensitive m...BDAS-2017 | Maximizing a churn campaign’s profitability with cost sensitive m...
BDAS-2017 | Maximizing a churn campaign’s profitability with cost sensitive m...
 
BDAS-2017 | sanselix jobranke_rpptx
BDAS-2017 | sanselix jobranke_rpptxBDAS-2017 | sanselix jobranke_rpptx
BDAS-2017 | sanselix jobranke_rpptx
 
BDAS-2017 | Analitica visual presentación mlms2
BDAS-2017 | Analitica visual presentación mlms2BDAS-2017 | Analitica visual presentación mlms2
BDAS-2017 | Analitica visual presentación mlms2
 
BDAS-2017 | Comunidad Data Science
BDAS-2017 | Comunidad Data ScienceBDAS-2017 | Comunidad Data Science
BDAS-2017 | Comunidad Data Science
 
BDAS-2017 | DMC Challengue concurso satisfacción universidad
BDAS-2017 | DMC Challengue concurso satisfacción universidadBDAS-2017 | DMC Challengue concurso satisfacción universidad
BDAS-2017 | DMC Challengue concurso satisfacción universidad
 
BDAS-2017 | Hanldling Target Bias in Predictive Modelling
BDAS-2017 | Hanldling Target Bias in Predictive ModellingBDAS-2017 | Hanldling Target Bias in Predictive Modelling
BDAS-2017 | Hanldling Target Bias in Predictive Modelling
 
BDAS-2017 | Convergencia entre Open Data y Big Data, casos y tendencias
BDAS-2017 | Convergencia entre Open Data y Big Data, casos y tendenciasBDAS-2017 | Convergencia entre Open Data y Big Data, casos y tendencias
BDAS-2017 | Convergencia entre Open Data y Big Data, casos y tendencias
 
BDAS-2017 | Big Bilbao: Big Data e Internet of Things para la promoción econó...
BDAS-2017 | Big Bilbao: Big Data e Internet of Things para la promoción econó...BDAS-2017 | Big Bilbao: Big Data e Internet of Things para la promoción econó...
BDAS-2017 | Big Bilbao: Big Data e Internet of Things para la promoción econó...
 
BDAS-2017 | Comprendiendo nuestras motivaciones a través de Big Data
BDAS-2017 | Comprendiendo nuestras motivaciones a través de Big DataBDAS-2017 | Comprendiendo nuestras motivaciones a través de Big Data
BDAS-2017 | Comprendiendo nuestras motivaciones a través de Big Data
 
BDAS-2017 | Conozca la plataforma ideal para un procesamiento analítico sin p...
BDAS-2017 | Conozca la plataforma ideal para un procesamiento analítico sin p...BDAS-2017 | Conozca la plataforma ideal para un procesamiento analítico sin p...
BDAS-2017 | Conozca la plataforma ideal para un procesamiento analítico sin p...
 
Building Innovative Data Products in a Banking Environment
Building Innovative Data Products in a Banking EnvironmentBuilding Innovative Data Products in a Banking Environment
Building Innovative Data Products in a Banking Environment
 

Explorando los Límites de la Predicción

  • 1. Explorando os Limites da Predição Gilberto Titericz Junior Curitiba/PR - Brasil
  • 2. Currículo ➔ Engenheiro Eletrônico formado pelo CEFET/Curitiba em 2003 ➔ 7 anos experiência em desenvolvimento de circuitos eletrônicos ➔ 7 anos experiência como engenheiro de automação ➔ 5 anos trabalhando com ciência de dados
  • 3. Plataforma Kaggle ➔ É a maior plataforma de competição de modelagem preditiva no mundo ➔ Mais de meio milhão de cientistas de dados cadastrados. ➔ Cerca de 48.000 cientistas ativos em competições ➔ O Kaggle hospeda e empresas podem patrocinar as competições
  • 6. Como Funciona uma Competição ➔ Registro no site ➔ Escolha uma competição e se registre nela ➔ Baixe os Datasets (train set e test set) ➔ Monte modelos baseados no train set e faça previsões do test set ➔ Upload suas previsões para avaliação no site ➔ Acompanhe seu desempenho no LeaderBoard
  • 7. Como Extrair o Máximo do Modelo ➔ Entenda o Problema ➔ Pense em várias possiveis soluções ➔ Escolha a métrica de performance adequada ➔ Crie boas features ➔ Crie modelos adequados ao problema ➔ Escolha a estrategia de Validação adequada ➔ Sintonize hyperparametros baseado na técnica de validação cruzada ➔ Combine modelos usando multiplos níveis de treino (stack / ensemble)
  • 8. Domine os algoritmos de classificação e regressão ➔ Gradient Boosting Decision Trees ➔ Redes Neurais / Deep Learning (GPU) ➔ Árvores de decisão ➔ Nearest Neighbors ➔ Factorization Machines ➔ Suport Vector Machine(SVM) ➔ Stochastic Gradient Descend ➔ Regressão Linear ➔ Bayesian ➔ VowpalWabbit
  • 9. Domine a Técnica de Validação Cruzada ➔ Estime um número de folds adequado ao problema ➔ Use folds aleatórios ou estratificados quando possível, ou agrupados por casos semelhantes. ➔ Em series temporais use folds consecutivos. ➔ FIXE os indices dos folds que serão usados em todos os modelos, isso possibilita comparar a performance dos modelos entre eles ou com modelos de outros membros do time
  • 10. Roteiro para treinamento de um modelo validado ➔ Prepare o dataset ➔ Crie Features ➔ Treine com cross-validação e salve a predição de todos os folds ➔ Calcule a performance de todos os folds ➔ Guarde o modelo treinado e suas predições
  • 11. Treinando Ainda Mais Segundo Nível de Treino Combinando modelos de forma simples. ➔ Média Aritimética ➔ Média Geometrica
  • 12. Treinando Ainda Mais Segundo Nível de Treino Combinando modelos de forma complexa: ➔ Aprendizado Supervisionado: Múltiplos Níveis de treinamento
  • 13. Vários Níveis de Treino GBM Random Forest Neural Net Logistic Regression GBM Linear Regression/ Weighted Average Logistic Regression Neural Net LEVEL 1 LEVEL 2 LEVEL 3
  • 14. Multiplos Niveis de Treino Porque adicionando multiplos niveis de treinamento melhoram a performance? DIVERSIDADEDIVERSIDADE ● De algoritmos de treinoDe algoritmos de treino ● De featuresDe features
  • 15. Multiplos Niveis de Treino ➔ Como avaliar a priori se uma simplesComo avaliar a priori se uma simples média entre modelos será boa?média entre modelos será boa? ““Supondo que dois modelos X e YSupondo que dois modelos X e Y apresentam uma performanceapresentam uma performance equivalente, quanto menor a correlaçãoequivalente, quanto menor a correlação entre eles, melhor será a performance.”entre eles, melhor será a performance.” Correlações >0.99 costumam nãoCorrelações >0.99 costumam não melhorar a performancemelhorar a performance
  • 16. Kaggle – Otto Group Product Classification Challenge
  • 18. Kaggle – Otto Challenge Train set: > nrow(train) [1] 61878 > nrow(test) [1] 144368
  • 19. Kaggle – Otto Challenge Feature Engineering: ➔ Contagem de zeros ➔ Transformações Logaritmicas ➔ Agrupamento K-means ➔ Soma e subtração entre grupos de features similares ➔ Redução de dimensão t-SNE em 3 features ➔ Vizinhos mais próximos
  • 20. Kaggle – Otto Challenge Estrategia de Cross-Validação: ● Exemplo: 5 folds aleatórios com índices fixos TEST SET 1 2 3 4 5 TRAIN SET
  • 21. Kaggle – Otto Challenge Estrategia de Cross-Validação 5 Folds: ➔ Cada Modelo passa por 6 etapas de treino: 1) Fold1: treino com folds [2,3,4,5] 2) Fold2: treino com folds [1,3,4,5] 3) Fold3: treino com folds [1,2,4,5] 4) Fold4: treino com folds [1,2,3,5] 5) Fold5: treino com folds [1,2,3,4] 6) Test Set: treino com folds [1,2,3,4,5]
  • 22. Kaggle – Otto Challenge Modelos: ➔ Ao todo foram treinados 37 modelos no primeiro nível de aprendizado. ● No segundo nível, além das 37 meta features, foram criadas mais 8 features não-supervisionadas.
  • 23. Kaggle – Otto Challenge Modelos: ➔ 18x KneighborsClassifier ➔ 6x Xgboost ➔ 4x Lasagne Neural Net ➔ 3x SofiaML ➔ 1x Logistic Regression ➔ 1x Extra Trees Classifier ➔ 1x Multinomial Naive Bayes ➔ 1x Random Forest ➔ 1x LibFM ➔ 1x H2O Neural Net
  • 24. Kaggle – Otto Challenge Neighbors Feature Engineering: ➔ Soma das distâncias dos N vizinhos mais próximos e clusterização K-Means usando as 3 transformações do Dataset: ✔ Data set Original ✔ Data set transformado com Log(X+1) ✔ Data set Reduzido a 3 dimensões usando o algoritmo t-SNE (t-distributed stochastic neighbor embedding)
  • 25. Otto – Arquitetura da Solução Meta Predictions 37x Modelos 8x Features de Distância XgBoost Bag: 250 runs Média Ponderada/ Weighted Average Geometrica e Aritmetica AdaBoost (ExtraTrees) Bag: 250 runs Neural Net Bag: 600 runs LEVEL 1 LEVEL 2 LEVEL 3
  • 26. Kaggle – Otto Challenge ➔ Média Ponderada nas predições do segundo nível: PREVISÕES = 0.85 * [([(XGBoostXGBoost^0.65)*(^0.65)*(NeuralNetNeuralNet^0.35)]^0.35)] + 0.15 * ADABoost(ET)ADABoost(ET)
  • 27. Kaggle – Otto Challenge Resultados: ➔ Level2 crossvalidated + weighted mean LogLoss: 0.3962 ➔ Kaggle LeaderBoard (Public): 0.38055 ➔ Kaggle LeaderBoard (Private): 0.38243
  • 29. Kaggle – Otto Post Challenge Forum https://www.kaggle.com/c/otto-group-product-classification- challenge/forums/t/14335/1st-place-winner-solution-gilberto-titericz- stanislav-semenov/79598#post79598
  • 30. Contact Gilberto Titericz Junior • titericz@yahoo.com ● https://www.kaggle.com/titericz ● https://br.linkedin.com/in/gilberto-titericz-jr- 6601357