Globalcode	
  –	
  Open4education
Marcelo Pias
Bravi Analytics
Data Analytics com Machine Learning (ML):
“dando sentido aos dados”
Trilha Big Data
Globalcode	
  –	
  Open4education
•  Machine Learning (ML): overview
•  Exemplo 1: esportes (Activity Inference)
•  Exemplo 2: educação (Learning Analytics)
•  Spark Mllib
•  Orange, Weka
•  Data Literacy
•  Meetup Data science Florianópolis
Outline!
Globalcode	
  –	
  Open4education
MACHINE

LEARNING#
Criação de algoritmos que
aprendem e fazem
predições
Este modelo é usado para
fazer predições ou tomar
decisões
Estes algoritmos operam
criando um modelo através
de exemplos de dados
Sub-área da Ciência da Computação
Evoluiu do reconhecimento de
padrões e teoria de aprendizagem -
Inteligência Artificial (AI)
Globalcode	
  –	
  Open4education
Machine Learning – Metodologias!
•  Classificação: identificar qual das categorias/classes um
dado item pertence. A saída é uma função discreta (ex:
“Sim/Não”, “Baixo/Médio/Alto”)
•  Regressão: a saída é função contínua (ex: preço de um
produto, tempo de um atleta, preço futuro ação na bolsa
valores
•  Clustering: encontra padrões e agrupa os dados
“similares” em clusters (ex: “compradores de
smartphones”, “homens solteiros com carro”)
Globalcode	
  –	
  Open4education
•  Dado: Conjunto de treino {(xi, yi ) | i = 1 … n }
•  Encontre: aproximação de f : X → Y
•  Exemplos: o que são X e Y?
•  Filtro spam email
Mapeamento email para {Spam, Não Spam}
• Predição valor ação bolsa
Mapeamento novos, historico para números reais
Aprendizado Supervisionado !
Globalcode	
  –	
  Open4education
Ferramentas ML e análise dados!
•  Modo explorador (data scientist)
•  Matlab statistics toolbox
•  R
•  Python: NumPy, Pandas, Scikit-learn, Orange Data
Mining
•  Weka
•  Modo cloud
•  Google Prediction API
•  Microsoft Azure ML, Amazon ML
•  IBM Watson Analytics
•  Apache Spark
Globalcode	
  –	
  Open4education
Exemplo 1: 100m rasos!
•  Alto desempenho
•  100m @ <10s
•  Coordenação extrema
•  5 passos/segundo @2m passada
•  Separação final
•  0.001s diferença entre finalista
Globalcode	
  –	
  Open4education
Objetivo!
•  Monitorar atletas com sensores wireless na roupa
•  Desafios:
1. Alta precisão (taxa de dados, confiança dados,
modelagem precisa)
2. Processamento e resposta em tempo real (“bio-
feedback”)
3. Big Data:
1.  Videos com 1000 frames/sec
2.  Sensores inerciais na roupa com 1 KHz/sensor
3. 100 atletas; 4 anos
4.  20 Terabytes de dados série temporal
5.  500 Terabytes de vídeos
Globalcode	
  –	
  Open4education
Globalcode	
  –	
  Open4education
Lab móvel!
Globalcode	
  –	
  Open4education
IONs: On-body sensor nodes!
Globalcode	
  –	
  Open4education
Exemplo: feature contato pé-solo!
Globalcode	
  –	
  Open4education
Indexação automática de vídeos!
•  Regime de treinamento intenso
•  Videos coletados a 1000 quadros/seg
•  Humanamente impossível encontrar nos vídeos partes
relevantes de um treino
•  Simultaneamente dados de sensores na roupa são
coletados
Globalcode	
  –	
  Open4education
Problema classificação!
•  Automaticamente identificar os momentos do treino em
que o atleta está:
•  Sentado, caminhando, jogging, ou correndo 100m
Modelo
Classificador
Dados de
entrada
Sentado
Caminhando
Jogging
Correndo
Classificação: mapeando dados em classes
Globalcode	
  –	
  Open4education
Globalcode	
  –	
  Open4education
Indexação automática dos vídeos!
Globalcode	
  –	
  Open4education
Exemplo 2: Learning Analytics!
•  A evasão de alunos é uma das maiores dificuldades em
cursos EAD (Ensino à Distância).
•  20% de evasão em cursos EAD no Brasil (ABED, 2014)
•  Objetivo
•  Predizer com antecedência a probabilidade de
conclusão de curso de cada aluno.
•  Elaborar estratégias de intervenção com intuito de
motivar os alunos identificados como potencial de
evadir.
• Área de aplicação muito nova, muitos desafios
Globalcode	
  –	
  Open4education
Questions: Learning Analytics!
Pertence a
grupo de
risco?
Podemos
predizer
sucesso?
acurácia?
Podemos
guiá-lo ao
sucesso?
Qual a
probabilidade
de não
sucesso?
Estudante em
risco? Como
podemos
ajudar?
Podemos
mudar seu
comportamen
to?
Globalcode	
  –	
  Open4education
Mudança
Comportamento
INTELIGÊNCIA
COLETIVA
Classificação &
Regressão
Students at risk of non-success with a
certain probability
Conscientização
ANÁLISE PREDITIVA
Tecnologia
Persuasiva
“Orientar” estudantes em risco na
direção do comportamento de
estudantes de sucesso
Pertence a
grupo de
risco evasão?
Qual
probabilidade
de não-
sucesso?
É possível
mudar
comportamen
to para
sucesso?
Estudante em
risco? Como
podemos
adjudar?
Globalcode	
  –	
  Open4education
•  Cursos EaD de curta duração (10 a 20 dias)
•  Alunos podem concluir com sucesso mesmo interangindo
pouco com o ambiente virtual
•  Predição:
•  Probabilidade do aluno concluir o curso, já no terceiro
dia de aula
Estudo de Caso: Ensino a Distância (EaD)!
Globalcode	
  –	
  Open4education
Apache Spark MLlib (opensource)!
•  Plataforma genérica para computação
•  MapReduce e processamento de streams
•  Originado no AmpLAB UC Berkeley
•  Matei Zaharia, Ion Stoica, etc
•  MLlib
•  Framework distribuído de machine learning
•  Implementa métodos e algorítmos:
•  Estatísticos, correlações, geração de dados aleatórios
•  Classificação e regressão: SVM, regressão logística, regressào
linear, árvores de decisão, naive Bayes
•  Clustering: k-means
•  Redução de dimensionalidade: PCA/SVD
Globalcode	
  –	
  Open4education
Treinamento de modelos!
+ +
+
-
- -
+ +
+
-
- -
+ +
+
-
- -
+ +
+
-
- -
+ +
+
-
- -
Zero números
de dúvidas
No. telas acessadas
Cursos concluídos anteriormente
1. Escolha das
features (atributos)
3. Melhor
modelo
2. Modelo
Globalcode	
  –	
  Open4education
1. Escolha das features!
// Calcula 2 principais componentes
val pc: Matrix = mat.computePrincipalComponents(2)
val projected: RowMatrix = mat.multiply(pc)
Globalcode	
  –	
  Open4education
2. Modelagem no Spark MLlib!
•  Dados anotados (labeled data)
•  Regressão logística (saída score)
points = # (RDD of LabeledPoint)
model = LogisticRegressionModel.train(points, iterations=200)
Concluinte
 Não-concluinte
Total
 20786
 17733
Globalcode	
  –	
  Open4education
3. Modelagem no Weka!
Globalcode	
  –	
  Open4education
3. Modelagem no Weka!
●  Open Source (Java)
●  Transformação de dados
●  Seleção de atributos
●  Visualização
●  Geração de modelos preditivos e predições
●  Altamente configurável
●  Dezenas de algoritmos disponíveis
●  Ferramenta validada pela comunidade científica
(Machine Learning)
Globalcode	
  –	
  Open4education
4. Modelo no Orange Data Mining!
Globalcode	
  –	
  Open4education
4. Modelo no Orange Data Mining!
●  Open Source (C++ e Python)
●  Versão 3.0 vai ser 100% Python (NumPy, Scikit-
learn, Pandas etc)
●  Seleção de atributos
●  Visualização
●  Geração de modelos preditivos e predições
●  Fácil de comparar diferentes modelos
●  Interface muito intuitiva
●  Fácil de criar novos componentes usando PyQt
Globalcode	
  –	
  Open4education
Acurácia (acertos/total) = 74%
“Confusion Matrix”: compara verdadeiros positivos (VP), verdadeiros negativos
(VN), falsos positivos (FP) e falsos negativos (FN)
Real 
Predição
Concluinte
 Não-concluinte
Concluinte
 14.799 (VP)
 4.187 (FN)
Não-concluinte
 5.987 (FP)
 13.546 (VN)
Total
 20786
 17733
Resultados obtidos com EaD!
Globalcode	
  –	
  Open4education
Data Literacy: Alfabetismo de dados!
•  Excelentes cursos online
(Coursera, EdX)
•  Não é ficção científica
•  Dá pra começar aos poucos (o importante é ser curioso)
•  Muitas ferramentas interessantes e gratuitas
•  Um programador que sabe analisar dados está muito bem
posicionado nessa nova "economia orientada a dados"
Globalcode	
  –	
  Open4education
meetup.com/Florianopolis-Data-Science-Meetup
Floripa Data Science Meetup - 2/7 às 19:00 na Bravi Software
Globalcode	
  –	
  Open4education
Obrigado!
marcelo.pias@bravi.com.br
Estamos recrutando!
●  PhDs ou MSc em ciência da computação e afins
●  Full-stack devs (Node, Mongo, Docker)
●  Python (NumPy, Pandas)
●  Android e iOS
Vem falar com a gente.

Tdc2015 bigdata-mpias-final-pdf

  • 1.
    Globalcode  –  Open4education MarceloPias Bravi Analytics Data Analytics com Machine Learning (ML): “dando sentido aos dados” Trilha Big Data
  • 2.
    Globalcode  –  Open4education • Machine Learning (ML): overview •  Exemplo 1: esportes (Activity Inference) •  Exemplo 2: educação (Learning Analytics) •  Spark Mllib •  Orange, Weka •  Data Literacy •  Meetup Data science Florianópolis Outline!
  • 3.
    Globalcode  –  Open4education MACHINE
 LEARNING# Criaçãode algoritmos que aprendem e fazem predições Este modelo é usado para fazer predições ou tomar decisões Estes algoritmos operam criando um modelo através de exemplos de dados Sub-área da Ciência da Computação Evoluiu do reconhecimento de padrões e teoria de aprendizagem - Inteligência Artificial (AI)
  • 4.
    Globalcode  –  Open4education MachineLearning – Metodologias! •  Classificação: identificar qual das categorias/classes um dado item pertence. A saída é uma função discreta (ex: “Sim/Não”, “Baixo/Médio/Alto”) •  Regressão: a saída é função contínua (ex: preço de um produto, tempo de um atleta, preço futuro ação na bolsa valores •  Clustering: encontra padrões e agrupa os dados “similares” em clusters (ex: “compradores de smartphones”, “homens solteiros com carro”)
  • 5.
    Globalcode  –  Open4education • Dado: Conjunto de treino {(xi, yi ) | i = 1 … n } •  Encontre: aproximação de f : X → Y •  Exemplos: o que são X e Y? •  Filtro spam email Mapeamento email para {Spam, Não Spam} • Predição valor ação bolsa Mapeamento novos, historico para números reais Aprendizado Supervisionado !
  • 6.
    Globalcode  –  Open4education FerramentasML e análise dados! •  Modo explorador (data scientist) •  Matlab statistics toolbox •  R •  Python: NumPy, Pandas, Scikit-learn, Orange Data Mining •  Weka •  Modo cloud •  Google Prediction API •  Microsoft Azure ML, Amazon ML •  IBM Watson Analytics •  Apache Spark
  • 7.
    Globalcode  –  Open4education Exemplo1: 100m rasos! •  Alto desempenho •  100m @ <10s •  Coordenação extrema •  5 passos/segundo @2m passada •  Separação final •  0.001s diferença entre finalista
  • 8.
    Globalcode  –  Open4education Objetivo! • Monitorar atletas com sensores wireless na roupa •  Desafios: 1. Alta precisão (taxa de dados, confiança dados, modelagem precisa) 2. Processamento e resposta em tempo real (“bio- feedback”) 3. Big Data: 1.  Videos com 1000 frames/sec 2.  Sensores inerciais na roupa com 1 KHz/sensor 3. 100 atletas; 4 anos 4.  20 Terabytes de dados série temporal 5.  500 Terabytes de vídeos
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
    Globalcode  –  Open4education Indexaçãoautomática de vídeos! •  Regime de treinamento intenso •  Videos coletados a 1000 quadros/seg •  Humanamente impossível encontrar nos vídeos partes relevantes de um treino •  Simultaneamente dados de sensores na roupa são coletados
  • 14.
    Globalcode  –  Open4education Problemaclassificação! •  Automaticamente identificar os momentos do treino em que o atleta está: •  Sentado, caminhando, jogging, ou correndo 100m Modelo Classificador Dados de entrada Sentado Caminhando Jogging Correndo Classificação: mapeando dados em classes
  • 15.
  • 16.
  • 17.
    Globalcode  –  Open4education Exemplo2: Learning Analytics! •  A evasão de alunos é uma das maiores dificuldades em cursos EAD (Ensino à Distância). •  20% de evasão em cursos EAD no Brasil (ABED, 2014) •  Objetivo •  Predizer com antecedência a probabilidade de conclusão de curso de cada aluno. •  Elaborar estratégias de intervenção com intuito de motivar os alunos identificados como potencial de evadir. • Área de aplicação muito nova, muitos desafios
  • 18.
    Globalcode  –  Open4education Questions:Learning Analytics! Pertence a grupo de risco? Podemos predizer sucesso? acurácia? Podemos guiá-lo ao sucesso? Qual a probabilidade de não sucesso? Estudante em risco? Como podemos ajudar? Podemos mudar seu comportamen to?
  • 19.
    Globalcode  –  Open4education Mudança Comportamento INTELIGÊNCIA COLETIVA Classificação& Regressão Students at risk of non-success with a certain probability Conscientização ANÁLISE PREDITIVA Tecnologia Persuasiva “Orientar” estudantes em risco na direção do comportamento de estudantes de sucesso Pertence a grupo de risco evasão? Qual probabilidade de não- sucesso? É possível mudar comportamen to para sucesso? Estudante em risco? Como podemos adjudar?
  • 20.
    Globalcode  –  Open4education • Cursos EaD de curta duração (10 a 20 dias) •  Alunos podem concluir com sucesso mesmo interangindo pouco com o ambiente virtual •  Predição: •  Probabilidade do aluno concluir o curso, já no terceiro dia de aula Estudo de Caso: Ensino a Distância (EaD)!
  • 21.
    Globalcode  –  Open4education ApacheSpark MLlib (opensource)! •  Plataforma genérica para computação •  MapReduce e processamento de streams •  Originado no AmpLAB UC Berkeley •  Matei Zaharia, Ion Stoica, etc •  MLlib •  Framework distribuído de machine learning •  Implementa métodos e algorítmos: •  Estatísticos, correlações, geração de dados aleatórios •  Classificação e regressão: SVM, regressão logística, regressào linear, árvores de decisão, naive Bayes •  Clustering: k-means •  Redução de dimensionalidade: PCA/SVD
  • 22.
    Globalcode  –  Open4education Treinamentode modelos! + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - Zero números de dúvidas No. telas acessadas Cursos concluídos anteriormente 1. Escolha das features (atributos) 3. Melhor modelo 2. Modelo
  • 23.
    Globalcode  –  Open4education 1.Escolha das features! // Calcula 2 principais componentes val pc: Matrix = mat.computePrincipalComponents(2) val projected: RowMatrix = mat.multiply(pc)
  • 24.
    Globalcode  –  Open4education 2.Modelagem no Spark MLlib! •  Dados anotados (labeled data) •  Regressão logística (saída score) points = # (RDD of LabeledPoint) model = LogisticRegressionModel.train(points, iterations=200) Concluinte Não-concluinte Total 20786 17733
  • 25.
  • 26.
    Globalcode  –  Open4education 3.Modelagem no Weka! ●  Open Source (Java) ●  Transformação de dados ●  Seleção de atributos ●  Visualização ●  Geração de modelos preditivos e predições ●  Altamente configurável ●  Dezenas de algoritmos disponíveis ●  Ferramenta validada pela comunidade científica (Machine Learning)
  • 27.
    Globalcode  –  Open4education 4.Modelo no Orange Data Mining!
  • 28.
    Globalcode  –  Open4education 4.Modelo no Orange Data Mining! ●  Open Source (C++ e Python) ●  Versão 3.0 vai ser 100% Python (NumPy, Scikit- learn, Pandas etc) ●  Seleção de atributos ●  Visualização ●  Geração de modelos preditivos e predições ●  Fácil de comparar diferentes modelos ●  Interface muito intuitiva ●  Fácil de criar novos componentes usando PyQt
  • 29.
    Globalcode  –  Open4education Acurácia(acertos/total) = 74% “Confusion Matrix”: compara verdadeiros positivos (VP), verdadeiros negativos (VN), falsos positivos (FP) e falsos negativos (FN) Real Predição Concluinte Não-concluinte Concluinte 14.799 (VP) 4.187 (FN) Não-concluinte 5.987 (FP) 13.546 (VN) Total 20786 17733 Resultados obtidos com EaD!
  • 30.
    Globalcode  –  Open4education DataLiteracy: Alfabetismo de dados! •  Excelentes cursos online (Coursera, EdX) •  Não é ficção científica •  Dá pra começar aos poucos (o importante é ser curioso) •  Muitas ferramentas interessantes e gratuitas •  Um programador que sabe analisar dados está muito bem posicionado nessa nova "economia orientada a dados"
  • 31.
  • 32.
    Globalcode  –  Open4education Obrigado! marcelo.pias@bravi.com.br Estamosrecrutando! ●  PhDs ou MSc em ciência da computação e afins ●  Full-stack devs (Node, Mongo, Docker) ●  Python (NumPy, Pandas) ●  Android e iOS Vem falar com a gente.