SlideShare une entreprise Scribd logo
1  sur  18
Globalcode – Open4education
Trilha machine learning - Python x
R: mas e o Weka?
Dr. Mauro Pichiliani
mauro@pichiliani.com.br
Globalcode – Open4education
Quem sou eu
Mestre e doutor em computação pelo ITA
Escritor da SQL Magazine, .NET e Java Magazine
Colaborador do iMasters há 15 anos
Autor do livro “Conversando sobre banco de dados”
Co-produtor do DatabaseCast
Consultor independente e autor de cursos on-line
Globalcode – Open4education
Agenda
Machine learning e ferramentas
O Weka
Demo
R x Python x Weka
Case: Predição de dificuldade
Conclusão
Globalcode – Open4education
Machine learning e ferramentas
Mercado atual possui MUITAS ferramentas!
Críticas:
Precisamos de tantas?
E quanto a conhecer melhor o problema?
Criar próprio algoritmo ou combinar técnicas?
Soluções na núvem “salvam o dia”?
Kaggle e a realidade:
Talvez 5-10% do que um cientista de dados usa?
Denúncias de fraudes em rankings!
http://bit.ly/1syNk5n
Globalcode – Open4education
O Weka
Coleção de algoritmos de machine learning para tarefas de mineração
de dados
Projeto acadêmico desde 1993: univ. de Waikato (NZ). Versão atual:
3.8 (http://bit.ly/29xLbld)
Pode ser utilizado para Big Data. Foco em:
Ensino e aprendizado de machine learning e data mining
Pré-processamento de texto
Classificação
Regressão
Clusterting
Regras de associação
Visualização de dados
Pode ser utilizado stand-alone (GUI) ou chamado em código Java
Embutido na suíte da Pentaho
Globalcode – Open4education
O Weka – interesse
Globalcode – Open4education
O Weka – Divisão da interface
Explorer: uso geral (pré-processamento,
clusterizaç!ao, classificação, visualização)
Experimenter: controle de treinamento
(divisão dos conjunto testes/treinamento,
cross-valitation, etc)
KnowledgeFlow: Tarefas de ETL como
fluxos de dados
Workbench: GUI antiga
Simple CLI: linha de comandos ao estilo R
Globalcode – Open4education
O Weka – Dados
Weka suporta vários formatos de dados: Texto, URL, Database (JDBC)
e geração automática
Formato de dados comum: arquivo ARFF
(http://weka.wikispaces.com/ARFF)
Definição com palavras chaves prefixadas com @. Exemplos:
@RELATION, @ATTRIBUTE e @DATA
Exemplos:
Dados de tamanho de elementos de flores (famoso ‘iris dataset’) – iris.arff
Dados de animais de um zoológico (classificação de tipo) – zoo.arff
Diversos outros na pasta data
Globalcode – Open4education
O Weka – Demo
Classificação do ‘iris dataset’ utilizando o algoritmo J48 (árvore de
decisão)
Globalcode – Open4education
O Weka – Chamada em Java
Documentação: http://weka.wikispaces.com/Programmatic+Use
Nota: Não esqueça do arquivo weka.jar!
Exemplo de classificação:
1) Leia dados do arquivo ARFF (ou de outra fonte de dados)
2) Crie instância da classe Instances para guardar dados
3) Instancia o algoritmo utilizando alguma classe Classifier
4) Chame buildClassifier() do modelo
5) Obtenha os resultados na classe Evaluation
Demo: Acurácia de modelos com algoritmos J48, PART, DecisionTable
e DecisionDump para classificação simples de jogo de tênis
Arquivos: weather.txt e WekaTest.java
Globalcode – Open4education
O Weka – Em produção
Foco do Weka é no ensino/aprendizado aprofundado
Mais de 70 projetos ativos baseados no Weka:
http://weka.wikispaces.com/Related+Projects
Weka com Spark? distributedWekaSpark
Weka com Python? python-weka-wrapper
Weka com Matlab? Matlab Weka Interface
Weka em R? RWeka - an R interface to Weka.
Grid computing: Grid Weka
Pentaho possui repositório com + 170 pacotes para Weka:
http://bit.ly/29xZxSp
Weka: muito bom para customizar algoritmo e não apenas para ficar
utilizando algo pronto
Globalcode – Open4education
R x Python x Weka
R: muito utilizado por quem já conhecia MatLab (estatísticos e
engenheiros)
Python: facilidade de aprendizado na linguagem
Weka: UI complicada e dificuldade na programação 
Mercado adotando cada vez mais Python e R. Ex: SQL Server 2016 e
ecosistema Hadoop
Soluções na núvem abstraem vários detalhes
Outras abordagens: Scala, Lua e outras linguagens funcionais
Globalcode – Open4education
Aprendizado de Weka
Ótimos canais do Youtube:
https://www.youtube.com/user/WekaMOOC
https://www.youtube.com/user/rushdishams/videos
MOOC - Cursos da universidade de Waikato:
https://weka.waikato.ac.nz/explorer
Kaggle: Data Analysis in Weka:
https://www.kaggle.com/wiki/Start
Livro “Data Mining: Practical Machine Learning Tools and Techniques”
Globalcode – Open4education
Case: Predição de dificuldade
Objetivo: prever barreiras de programadores durante a codificação
Carter, C., Dewan P., Pichiliani, M. “Towards Incremental Separation of
Surmountable and Insurmountable Programming Difficulties”
http://dl.acm.org/citation.cfm?
id=2677294&CFID=641140328&CFTOKEN=84606346
Contexto:
Detectar tipo de barreira (intransponível ou não) de programadores
Java
Instrumentação do IDE: captura eventos do Eclipse com plug-in
Dependendo da barreira, pode-se oferecer ajuda
Aplicações em educação (MOOCs) e projetos de software na
indústria
Globalcode – Open4education
Case: Design
Sem dataset treinado: foi necessário elaborar experimento com
participantes para gerar amostra classificada
Design: features são ações de programação:
ContentAssist (intellisense)
Inserção, remoção e alteração de texto
Run, Compile, Save
Navegação na UI
Debug, break point
Features separadas por intervalos. Critérios:
Save
Largura da LCS (Longest Common Subsequence)
Uso do Weka por facilitar integração com plug-in no Eclipse
Globalcode – Open4education
Case: Resultados
Diversos algoritmos testados. Melhores resultados com K-NN (k=25)
Abordagens anteriores com margem de ~50% de predição
Resultados obtidos: ~96% de predição (não intransponíveis) e 63%
(intransponíveis)
Resultados aplicados em tese de doutorado e aprimorados com
classificação de programador fazendo progresso ou “emperrado”
(stuck)
Resultados combinados com outras métricas do programador (body
tracking)
Globalcode – Open4education
Conclusão
Existem diversas opções para colocar em prática projetos de ML
Weka é ferramenta víável para aprender machine learning
Não é usado somente no mundo acadêmico!
Weka é forte para quem quer entender funcionamento interno
de ML
E para criar/customizar seus próprios algoritmos!
Difícil para iniciantes em programação. UX ruim....
Conhecimentos específicos em Java são muito úteis
Possibilidades para escalar e integar em sistemas/aplicações (desktop)
Opinião: R e Python vão continuar sendo tecnologias de destaque no
mundo de machine learning
Globalcode – Open4education
Perguntas?
Dr. Mauro Pichiliani
mauro@pichiliani.com.br
@pichiliani @databasecast

Contenu connexe

Tendances (6)

MediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCastMediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCast
 
Análise de dados com R - TDC 2015
Análise de dados com R - TDC 2015Análise de dados com R - TDC 2015
Análise de dados com R - TDC 2015
 
Tdc2015 bigdata-mpias-final-pdf
Tdc2015 bigdata-mpias-final-pdfTdc2015 bigdata-mpias-final-pdf
Tdc2015 bigdata-mpias-final-pdf
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigData
 
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
 
Azure blob xamarin-tdc2016
Azure blob xamarin-tdc2016Azure blob xamarin-tdc2016
Azure blob xamarin-tdc2016
 

En vedette

EMC SAN Certificate - William Giba
EMC SAN Certificate - William GibaEMC SAN Certificate - William Giba
EMC SAN Certificate - William Giba
William Giba
 
Jd executive assistant shree renuka sugars
Jd executive assistant shree renuka sugarsJd executive assistant shree renuka sugars
Jd executive assistant shree renuka sugars
Urvashi Sikka
 
Situation management certification
Situation management certificationSituation management certification
Situation management certification
William Giba
 

En vedette (15)

Qa04 hcf & lcm
Qa04 hcf & lcmQa04 hcf & lcm
Qa04 hcf & lcm
 
EMC SAN Certificate - William Giba
EMC SAN Certificate - William GibaEMC SAN Certificate - William Giba
EMC SAN Certificate - William Giba
 
Jd executive assistant shree renuka sugars
Jd executive assistant shree renuka sugarsJd executive assistant shree renuka sugars
Jd executive assistant shree renuka sugars
 
shadow
shadowshadow
shadow
 
Situation management certification
Situation management certificationSituation management certification
Situation management certification
 
Procesos de venta
Procesos de ventaProcesos de venta
Procesos de venta
 
08 fase 2 sector y competencia
08 fase 2 sector y competencia08 fase 2 sector y competencia
08 fase 2 sector y competencia
 
Aparells comandament 1er ESO
Aparells comandament 1er ESOAparells comandament 1er ESO
Aparells comandament 1er ESO
 
Examen
Examen Examen
Examen
 
Sindrome burnout
Sindrome burnoutSindrome burnout
Sindrome burnout
 
Mixture & alligation with tricks
Mixture & alligation with tricksMixture & alligation with tricks
Mixture & alligation with tricks
 
Electricitat
ElectricitatElectricitat
Electricitat
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigData
 
Els plecs
Els plecsEls plecs
Els plecs
 
Presentación blog
Presentación blogPresentación blog
Presentación blog
 

Similaire à TDC2016SP - Python x R: mas e o Weka?

Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
Charles Jungbeck
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
Cleber Dantas
 
Planode Aula
Planode AulaPlanode Aula
Planode Aula
softeam
 
Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012
Frederico Maia Arantes
 

Similaire à TDC2016SP - Python x R: mas e o Weka? (20)

Machine Learning Black Boxes
Machine Learning Black BoxesMachine Learning Black Boxes
Machine Learning Black Boxes
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSF
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 
Dicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSFDicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSF
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
 
Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps Campinas
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
TDCSP2019 - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...
TDCSP2019  - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...TDCSP2019  - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...
TDCSP2019 - Trilha: Machine Learning - Uso de PyTorch para aplicações de Vis...
 
Java com Excelência
Java com ExcelênciaJava com Excelência
Java com Excelência
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
Introducao Spring ROO
Introducao Spring ROOIntroducao Spring ROO
Introducao Spring ROO
 
Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011
 
DataOps: da teoria a prática, como realmente se aplica em projetos de BigData
DataOps: da teoria a prática, como realmente se aplica em projetos de BigDataDataOps: da teoria a prática, como realmente se aplica em projetos de BigData
DataOps: da teoria a prática, como realmente se aplica em projetos de BigData
 
Planode Aula
Planode AulaPlanode Aula
Planode Aula
 
Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012
 
Fundamentos da Programação PHP OO - Aula 1
Fundamentos da Programação PHP OO - Aula 1Fundamentos da Programação PHP OO - Aula 1
Fundamentos da Programação PHP OO - Aula 1
 
TDC São Paulo Online 2020 - trilha Big Data
TDC São Paulo Online 2020 - trilha Big DataTDC São Paulo Online 2020 - trilha Big Data
TDC São Paulo Online 2020 - trilha Big Data
 
Certificacoes java
Certificacoes javaCertificacoes java
Certificacoes java
 

Plus de tdc-globalcode

Plus de tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Dernier

ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
rfmbrandao
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
LidianeLill2
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 

Dernier (20)

Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 

TDC2016SP - Python x R: mas e o Weka?

  • 1. Globalcode – Open4education Trilha machine learning - Python x R: mas e o Weka? Dr. Mauro Pichiliani mauro@pichiliani.com.br
  • 2. Globalcode – Open4education Quem sou eu Mestre e doutor em computação pelo ITA Escritor da SQL Magazine, .NET e Java Magazine Colaborador do iMasters há 15 anos Autor do livro “Conversando sobre banco de dados” Co-produtor do DatabaseCast Consultor independente e autor de cursos on-line
  • 3. Globalcode – Open4education Agenda Machine learning e ferramentas O Weka Demo R x Python x Weka Case: Predição de dificuldade Conclusão
  • 4. Globalcode – Open4education Machine learning e ferramentas Mercado atual possui MUITAS ferramentas! Críticas: Precisamos de tantas? E quanto a conhecer melhor o problema? Criar próprio algoritmo ou combinar técnicas? Soluções na núvem “salvam o dia”? Kaggle e a realidade: Talvez 5-10% do que um cientista de dados usa? Denúncias de fraudes em rankings! http://bit.ly/1syNk5n
  • 5. Globalcode – Open4education O Weka Coleção de algoritmos de machine learning para tarefas de mineração de dados Projeto acadêmico desde 1993: univ. de Waikato (NZ). Versão atual: 3.8 (http://bit.ly/29xLbld) Pode ser utilizado para Big Data. Foco em: Ensino e aprendizado de machine learning e data mining Pré-processamento de texto Classificação Regressão Clusterting Regras de associação Visualização de dados Pode ser utilizado stand-alone (GUI) ou chamado em código Java Embutido na suíte da Pentaho
  • 6. Globalcode – Open4education O Weka – interesse
  • 7. Globalcode – Open4education O Weka – Divisão da interface Explorer: uso geral (pré-processamento, clusterizaç!ao, classificação, visualização) Experimenter: controle de treinamento (divisão dos conjunto testes/treinamento, cross-valitation, etc) KnowledgeFlow: Tarefas de ETL como fluxos de dados Workbench: GUI antiga Simple CLI: linha de comandos ao estilo R
  • 8. Globalcode – Open4education O Weka – Dados Weka suporta vários formatos de dados: Texto, URL, Database (JDBC) e geração automática Formato de dados comum: arquivo ARFF (http://weka.wikispaces.com/ARFF) Definição com palavras chaves prefixadas com @. Exemplos: @RELATION, @ATTRIBUTE e @DATA Exemplos: Dados de tamanho de elementos de flores (famoso ‘iris dataset’) – iris.arff Dados de animais de um zoológico (classificação de tipo) – zoo.arff Diversos outros na pasta data
  • 9. Globalcode – Open4education O Weka – Demo Classificação do ‘iris dataset’ utilizando o algoritmo J48 (árvore de decisão)
  • 10. Globalcode – Open4education O Weka – Chamada em Java Documentação: http://weka.wikispaces.com/Programmatic+Use Nota: Não esqueça do arquivo weka.jar! Exemplo de classificação: 1) Leia dados do arquivo ARFF (ou de outra fonte de dados) 2) Crie instância da classe Instances para guardar dados 3) Instancia o algoritmo utilizando alguma classe Classifier 4) Chame buildClassifier() do modelo 5) Obtenha os resultados na classe Evaluation Demo: Acurácia de modelos com algoritmos J48, PART, DecisionTable e DecisionDump para classificação simples de jogo de tênis Arquivos: weather.txt e WekaTest.java
  • 11. Globalcode – Open4education O Weka – Em produção Foco do Weka é no ensino/aprendizado aprofundado Mais de 70 projetos ativos baseados no Weka: http://weka.wikispaces.com/Related+Projects Weka com Spark? distributedWekaSpark Weka com Python? python-weka-wrapper Weka com Matlab? Matlab Weka Interface Weka em R? RWeka - an R interface to Weka. Grid computing: Grid Weka Pentaho possui repositório com + 170 pacotes para Weka: http://bit.ly/29xZxSp Weka: muito bom para customizar algoritmo e não apenas para ficar utilizando algo pronto
  • 12. Globalcode – Open4education R x Python x Weka R: muito utilizado por quem já conhecia MatLab (estatísticos e engenheiros) Python: facilidade de aprendizado na linguagem Weka: UI complicada e dificuldade na programação  Mercado adotando cada vez mais Python e R. Ex: SQL Server 2016 e ecosistema Hadoop Soluções na núvem abstraem vários detalhes Outras abordagens: Scala, Lua e outras linguagens funcionais
  • 13. Globalcode – Open4education Aprendizado de Weka Ótimos canais do Youtube: https://www.youtube.com/user/WekaMOOC https://www.youtube.com/user/rushdishams/videos MOOC - Cursos da universidade de Waikato: https://weka.waikato.ac.nz/explorer Kaggle: Data Analysis in Weka: https://www.kaggle.com/wiki/Start Livro “Data Mining: Practical Machine Learning Tools and Techniques”
  • 14. Globalcode – Open4education Case: Predição de dificuldade Objetivo: prever barreiras de programadores durante a codificação Carter, C., Dewan P., Pichiliani, M. “Towards Incremental Separation of Surmountable and Insurmountable Programming Difficulties” http://dl.acm.org/citation.cfm? id=2677294&CFID=641140328&CFTOKEN=84606346 Contexto: Detectar tipo de barreira (intransponível ou não) de programadores Java Instrumentação do IDE: captura eventos do Eclipse com plug-in Dependendo da barreira, pode-se oferecer ajuda Aplicações em educação (MOOCs) e projetos de software na indústria
  • 15. Globalcode – Open4education Case: Design Sem dataset treinado: foi necessário elaborar experimento com participantes para gerar amostra classificada Design: features são ações de programação: ContentAssist (intellisense) Inserção, remoção e alteração de texto Run, Compile, Save Navegação na UI Debug, break point Features separadas por intervalos. Critérios: Save Largura da LCS (Longest Common Subsequence) Uso do Weka por facilitar integração com plug-in no Eclipse
  • 16. Globalcode – Open4education Case: Resultados Diversos algoritmos testados. Melhores resultados com K-NN (k=25) Abordagens anteriores com margem de ~50% de predição Resultados obtidos: ~96% de predição (não intransponíveis) e 63% (intransponíveis) Resultados aplicados em tese de doutorado e aprimorados com classificação de programador fazendo progresso ou “emperrado” (stuck) Resultados combinados com outras métricas do programador (body tracking)
  • 17. Globalcode – Open4education Conclusão Existem diversas opções para colocar em prática projetos de ML Weka é ferramenta víável para aprender machine learning Não é usado somente no mundo acadêmico! Weka é forte para quem quer entender funcionamento interno de ML E para criar/customizar seus próprios algoritmos! Difícil para iniciantes em programação. UX ruim.... Conhecimentos específicos em Java são muito úteis Possibilidades para escalar e integar em sistemas/aplicações (desktop) Opinião: R e Python vão continuar sendo tecnologias de destaque no mundo de machine learning
  • 18. Globalcode – Open4education Perguntas? Dr. Mauro Pichiliani mauro@pichiliani.com.br @pichiliani @databasecast