32
Globalcode – Open4education Marcelo Pias Bravi Analytics Data Analytics com Machine Learning (ML): “dando sentido aos dados” Trilha Big Data

Tdc2015 bigdata-mpias-final-pdf

Embed Size (px)

Citation preview

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

M A C H I N EL E A R N I N G#

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

comportamento?

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

comportamento 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!

[email protected]

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.