aplicações práticas de 
machine learning 
Luiz Costa 
@gutomcosta 
www.sagadoprogramador.com.br
artificial 
Intelligence?machine 
learning?
IA e ML!
IA e ML???
machine learning 
In which we describe agents that can improve their behaviour through 
diligent study of their own experiences. 
“Artificial Intelligence -A modern approach" 
-Stuart Russell and Peter Norvig
Field of study that gives computers the 
ability to learn without being explicitly 
programmed. 
Arthur Samuel (1959)
Machine learning is a subfield of computer science (CS) 
and artificial intelligence (AI) that deals with the 
construction and study of systems that can learn from 
data, rather than follow only explicitly programmed 
instructions. Besides CS and AI, it has strong ties to 
statistics and optimization, which deliver both methods 
and theory to the field. 
Machine Learning - Wikipedia
Machine learning is a subfield of computer science (CS) 
and artificial intelligence (AI) that deals with the 
construction and study of systems that can learn from 
data, rather than follow only explicitly programmed 
instructions. Besides CS and AI, it has strong ties to 
statistics and optimization, which deliver both methods 
and theory to the field. 
Machine Learning - Wikipedia
supervised learning 
Aprendendo através de 
exemplos
dados de exemplo
unsupervised learning 
sem exemplos, o que é possível 
fazer?
clustering
clustering
marketing 
descobrir grupos distintos em uma base de clientes e 
usar estes grupos para ajudar no desenvolvimento de 
campanhas focadas nos nestes grupos
seguros 
descobrir perfis com alto risco para seguros de 
automóveis
na prática 
dois exemplos de uso. Será que dá 
tempo?
evoluindo um sistema 
de recomendação
vandal.com.br
collaborative filtering
usuários avaliam
não existe avaliação
content-based 
recommendation
características
1. Mostrar itens 
similares
vector space model 
skull caveira flower vintage caveiras 
produto1 1 1 1 0 0 
produto2 1 1 0 1 1 
produto3 1 1 0 0 0
O quanto um produto 
é similar a outro?
cálculo de similaridade
cálculo de similaridade
obtendo produtos similares
obtendo produtos similares
obtendo produtos similares
obtendo produtos similares 
Hein ????
2. recomendação 
personalizada 
em desenvolvimento
Como mostrar aqui o que é interessante para um 
usuário?
construindo um profile 
de preferências do 
usuário
capturando ações do usuário 
Usuário: Paulo José 
data evento conteúdo 
01/09/2014 08:35 buscou 
{query: "caveira", produtos: 
[1991, 1331, 3892] } 
01/09/2014 08:39 visualizou {id: 1991} 
01/09/2014 08:34 visualizou {id:1331} 
01/09/2014 08:40 like {id: 1331} 
01/09/2014 08:44 comprou {id: 1331}
capturando ações do usuário 
data evento conteúdo 
01/09/2014 08:35 buscou 
{query: "caveira", produtos: 
[1991, 1331, 3892] } 
01/09/2014 08:39 visualizou {id: 1991} 
01/09/2014 08:34 visualizou {id:1331} 
01/09/2014 08:40 like {id: 1331} 
01/09/2014 08:44 comprou {id: 1331}
construindo as preferências
construindo as preferências
algumas ações não 
seriam mais importantes 
que outras?
capturando ações do usuário 
data evento conteúdo peso 
01/09/2014 
08:35 
buscou 
{query: "caveira", produtos: 
[1991, 1331, 3892] } 
0.3 
01/09/2014 
08:39 
visualizou {id: 1991} 0.1 
01/09/2014 
08:34 
visualizou {id:1331} 0.1 
01/09/2014 
08:40 
like {id: 1331} 0.6 
01/09/2014 
08:44 
comprou {id: 1331} 1
construindo as preferências com pesos
vector space model 
skull caveira flowers metal caveiras ilustração arte cool 
produto_1331 1 1 1 0 0 0 0 0 
produto_1991 
0 1 0 1 1 1 1 0 
produto_3892 1 1 0 0 1 0 0 1 
Paulo José 1 1 0 1 1 1 1 0
agora é só calcular a 
similaridade das 
preferências de usuário 
com os produtos
agora é só calcular a 
similaridade das 
preferências de usuário 
com os produtos
similaridade do cosseno
processos inteligentes e 
process mining 
aquela história de BPM, Enterprise, pode ser 
divertida
business process management
process mining 
• process discovery 
• performance analysis 
• process prediction 
• process improvement 
o que realmente 
aconteceu? 
quais são os gargalos do meu 
processo? 
esta instância vai estourar o 
sla? 
como posso redesenhar este 
processo com o que foi 
aprendido?
log de eventos
análise
e a análise sobre dados 
de negócios? 
exemplo compra de passagens aéreas
log resumido processo de compra de passagens 
aéreas 
passageiro companhia trecho preço 
data da 
compra 
data do 
embarque 
dias de diferença 
Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8 
Costa/Luiz TAM SDU/CGH 200,00 08/04/2014 09/06/2014 62 
Paiva/Roberto AVIANCA SDU/CGH 126,00 25/02/2014 11/03/2014 14 
Ronaldo/Cristian 
o 
TAM SDU/CGH 258,70 25/11/2014 17/12/2014 22
dados de negócio? 
• o que define uma boa compra? 
• quais são as variáveis que mais 
influenciam na compra? 
• por que uma compra ruim, foi ruim?
definição de um 
processo automático 
para obter respostas 
Statistical Learning
qual seria a entrada de dados 
necessária? 
passageiro companhia trecho preço 
data da 
compra 
data do 
embarque 
case contexto e objetivo 
dias de diferença 
Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8 
Costa/Luiz TAM SDU/CGH 200,00 08/04/2014 09/06/2014 62 
Paiva/Roberto AVIANCA SDU/CGH 126,00 25/02/2014 11/03/2014 14 
Ronaldo/Cristian 
o 
TAM SDU/CGH 258,70 25/11/2014 17/12/2014 22
como definir o que é uma boa compra? 
preço 
570,00 
200,00 
126,00 
258,70
como definir o que é uma boa compra? 
preço 
570,00 
200,00 
126,00 
258,70 
preço <= 181,50
quais são as variáveis que mais 
influenciam na compra?
quais são as variáveis que mais 
influenciam na compra? 
lineares? 
Não lineares? 
variáveis mais 
importantes
quais são as variáveis que mais 
influenciam na compra? 
Ex. código R
por que uma compra ruim, foi ruim? 
passageiro companhia trecho preço 
data da 
compra 
data do 
embarque 
dias de diferença 
Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8
por que uma compra ruim, foi ruim? 
utilizando as variáveis identificadas, é 
possível ter alguns insights 
dias de diferença companhia 
boas case boas case 
14 8 
100% 
Avianca 
TAM 
passageiro companhia trecho preço 
data da 
compra 
data do 
embarque 
dias de diferença 
Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8
muita estatística
considere R para 
prototipação. Para 
produção existem boas 
alternativas, mas não 
deixe de olhar python + 
pandas + scikit
existem vários cenários que 
é possível aplicar as idéias 
de machine learning dentro 
da sua empresa e não 
precisa ser big data small 
data
Obrigado.
Referências 
Introdução a sistemas de recomendação - 
https://www.coursera.org/course/recsys 
Recommender Systems: An Introduction - http://www.amazon.com/Recommender-Systems- 
Introduction-Dietmar-Jannach/dp/0521493366 
Process Mining - http://www.processmining.org/ 
Statistical Learning Theory -http://en.wikipedia.org/wiki/Statistical_learning_theory 
An Introduction to Statistical Learning with applications in R - Gareth James, Daniela 
Wittern, Trevor Hastie, Robert Tibshirani 
R Language - http://www.r-project.org/ 
scikit learn - http://scikit-learn.org/stable/ 
Vandal - www.vandal.com.br

Aplicações Práticas de Machine Learning

  • 1.
    aplicações práticas de machine learning Luiz Costa @gutomcosta www.sagadoprogramador.com.br
  • 3.
  • 4.
  • 5.
  • 7.
    machine learning Inwhich we describe agents that can improve their behaviour through diligent study of their own experiences. “Artificial Intelligence -A modern approach" -Stuart Russell and Peter Norvig
  • 8.
    Field of studythat gives computers the ability to learn without being explicitly programmed. Arthur Samuel (1959)
  • 9.
    Machine learning isa subfield of computer science (CS) and artificial intelligence (AI) that deals with the construction and study of systems that can learn from data, rather than follow only explicitly programmed instructions. Besides CS and AI, it has strong ties to statistics and optimization, which deliver both methods and theory to the field. Machine Learning - Wikipedia
  • 10.
    Machine learning isa subfield of computer science (CS) and artificial intelligence (AI) that deals with the construction and study of systems that can learn from data, rather than follow only explicitly programmed instructions. Besides CS and AI, it has strong ties to statistics and optimization, which deliver both methods and theory to the field. Machine Learning - Wikipedia
  • 11.
    supervised learning Aprendendoatravés de exemplos
  • 12.
  • 13.
    unsupervised learning semexemplos, o que é possível fazer?
  • 14.
  • 15.
  • 16.
    marketing descobrir gruposdistintos em uma base de clientes e usar estes grupos para ajudar no desenvolvimento de campanhas focadas nos nestes grupos
  • 17.
    seguros descobrir perfiscom alto risco para seguros de automóveis
  • 18.
    na prática doisexemplos de uso. Será que dá tempo?
  • 19.
    evoluindo um sistema de recomendação
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 27.
    1. Mostrar itens similares
  • 28.
    vector space model skull caveira flower vintage caveiras produto1 1 1 1 0 0 produto2 1 1 0 1 1 produto3 1 1 0 0 0
  • 29.
    O quanto umproduto é similar a outro?
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 38.
  • 40.
    Como mostrar aquio que é interessante para um usuário?
  • 41.
    construindo um profile de preferências do usuário
  • 42.
    capturando ações dousuário Usuário: Paulo José data evento conteúdo 01/09/2014 08:35 buscou {query: "caveira", produtos: [1991, 1331, 3892] } 01/09/2014 08:39 visualizou {id: 1991} 01/09/2014 08:34 visualizou {id:1331} 01/09/2014 08:40 like {id: 1331} 01/09/2014 08:44 comprou {id: 1331}
  • 43.
    capturando ações dousuário data evento conteúdo 01/09/2014 08:35 buscou {query: "caveira", produtos: [1991, 1331, 3892] } 01/09/2014 08:39 visualizou {id: 1991} 01/09/2014 08:34 visualizou {id:1331} 01/09/2014 08:40 like {id: 1331} 01/09/2014 08:44 comprou {id: 1331}
  • 44.
  • 45.
  • 46.
    algumas ações não seriam mais importantes que outras?
  • 47.
    capturando ações dousuário data evento conteúdo peso 01/09/2014 08:35 buscou {query: "caveira", produtos: [1991, 1331, 3892] } 0.3 01/09/2014 08:39 visualizou {id: 1991} 0.1 01/09/2014 08:34 visualizou {id:1331} 0.1 01/09/2014 08:40 like {id: 1331} 0.6 01/09/2014 08:44 comprou {id: 1331} 1
  • 48.
  • 49.
    vector space model skull caveira flowers metal caveiras ilustração arte cool produto_1331 1 1 1 0 0 0 0 0 produto_1991 0 1 0 1 1 1 1 0 produto_3892 1 1 0 0 1 0 0 1 Paulo José 1 1 0 1 1 1 1 0
  • 50.
    agora é sócalcular a similaridade das preferências de usuário com os produtos
  • 51.
    agora é sócalcular a similaridade das preferências de usuário com os produtos
  • 52.
  • 55.
    processos inteligentes e process mining aquela história de BPM, Enterprise, pode ser divertida
  • 56.
  • 57.
    process mining •process discovery • performance analysis • process prediction • process improvement o que realmente aconteceu? quais são os gargalos do meu processo? esta instância vai estourar o sla? como posso redesenhar este processo com o que foi aprendido?
  • 59.
  • 60.
  • 61.
    e a análisesobre dados de negócios? exemplo compra de passagens aéreas
  • 62.
    log resumido processode compra de passagens aéreas passageiro companhia trecho preço data da compra data do embarque dias de diferença Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8 Costa/Luiz TAM SDU/CGH 200,00 08/04/2014 09/06/2014 62 Paiva/Roberto AVIANCA SDU/CGH 126,00 25/02/2014 11/03/2014 14 Ronaldo/Cristian o TAM SDU/CGH 258,70 25/11/2014 17/12/2014 22
  • 63.
    dados de negócio? • o que define uma boa compra? • quais são as variáveis que mais influenciam na compra? • por que uma compra ruim, foi ruim?
  • 64.
    definição de um processo automático para obter respostas Statistical Learning
  • 65.
    qual seria aentrada de dados necessária? passageiro companhia trecho preço data da compra data do embarque case contexto e objetivo dias de diferença Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8 Costa/Luiz TAM SDU/CGH 200,00 08/04/2014 09/06/2014 62 Paiva/Roberto AVIANCA SDU/CGH 126,00 25/02/2014 11/03/2014 14 Ronaldo/Cristian o TAM SDU/CGH 258,70 25/11/2014 17/12/2014 22
  • 66.
    como definir oque é uma boa compra? preço 570,00 200,00 126,00 258,70
  • 67.
    como definir oque é uma boa compra? preço 570,00 200,00 126,00 258,70 preço <= 181,50
  • 68.
    quais são asvariáveis que mais influenciam na compra?
  • 69.
    quais são asvariáveis que mais influenciam na compra? lineares? Não lineares? variáveis mais importantes
  • 70.
    quais são asvariáveis que mais influenciam na compra? Ex. código R
  • 71.
    por que umacompra ruim, foi ruim? passageiro companhia trecho preço data da compra data do embarque dias de diferença Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8
  • 72.
    por que umacompra ruim, foi ruim? utilizando as variáveis identificadas, é possível ter alguns insights dias de diferença companhia boas case boas case 14 8 100% Avianca TAM passageiro companhia trecho preço data da compra data do embarque dias de diferença Souza/Jose TAM SDU/CGH 570,00 28/01/2014 05/02/2014 8
  • 73.
  • 74.
    considere R para prototipação. Para produção existem boas alternativas, mas não deixe de olhar python + pandas + scikit
  • 75.
    existem vários cenáriosque é possível aplicar as idéias de machine learning dentro da sua empresa e não precisa ser big data small data
  • 76.
  • 77.
    Referências Introdução asistemas de recomendação - https://www.coursera.org/course/recsys Recommender Systems: An Introduction - http://www.amazon.com/Recommender-Systems- Introduction-Dietmar-Jannach/dp/0521493366 Process Mining - http://www.processmining.org/ Statistical Learning Theory -http://en.wikipedia.org/wiki/Statistical_learning_theory An Introduction to Statistical Learning with applications in R - Gareth James, Daniela Wittern, Trevor Hastie, Robert Tibshirani R Language - http://www.r-project.org/ scikit learn - http://scikit-learn.org/stable/ Vandal - www.vandal.com.br

Notas do Editor

  • #6 Podemos citar várias conceitos aqui, que são tradicionais no mundo OO. Por exemplo, Encapsulamento, polimorfismo, herança, estado. Tudo isso faz parte do que nós conhecemos como OO. Mas o que é mais importante é que isso forma um Conjunto de idéias
  • #7 Podemos citar várias conceitos aqui, que são tradicionais no mundo OO. Por exemplo, Encapsulamento, polimorfismo, herança, estado. Tudo isso faz parte do que nós conhecemos como OO. Mas o que é mais importante é que isso forma um Conjunto de idéias
  • #8 Podemos citar várias conceitos aqui, que são tradicionais no mundo OO. Por exemplo, Encapsulamento, polimorfismo, herança, estado. Tudo isso faz parte do que nós conhecemos como OO. Mas o que é mais importante é que isso forma um Conjunto de idéias
  • #95 final dos anos 80 John Huges escreveu um paper sobre a importancia da programação funcional. Eu gosto bastante de destacar 2 pontos destes paper. É um paper bem denso, e recomendo vcs darem uma olhada, mas ele fala logo no início sobre isso.
  • #96 final dos anos 80 John Huges escreveu um paper sobre a importancia da programação funcional. Eu gosto bastante de destacar 2 pontos destes paper. É um paper bem denso, e recomendo vcs darem uma olhada, mas ele fala logo no início sobre isso.
  • #97 final dos anos 80 John Huges escreveu um paper sobre a importancia da programação funcional. Eu gosto bastante de destacar 2 pontos destes paper. É um paper bem denso, e recomendo vcs darem uma olhada, mas ele fala logo no início sobre isso.