Upload
ministry-of-data
View
179
Download
1
Tags:
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
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
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!
● 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!
● 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!
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.