1) O documento discute técnicas de machine learning (ML) e análise de dados, apresentando dois exemplos de aplicação: monitoramento de atletas e análise de aprendizagem (learning analytics) em cursos a distância.
2) Ferramentas como Spark MLlib, Weka e Orange são apresentadas para modelagem de ML.
3) Resultados de um caso real de predição de conclusão de curso a distância usando ML são mostrados.
3. 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)
4. 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”)
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
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
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
13. 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
14. 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
17. 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
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
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
22. 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
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
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)
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
30. 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"