3. Luca Bastos,
conhecido apenas na família e pelo gerente do
banco como Luiz Arnaldo de Gusmão Bastos.
4. Luca Bastos,
conhecido apenas na família e pelo gerente do
banco como Luiz Arnaldo de Gusmão Bastos.
Dev do tempo da Carochinha.
5. Luca Bastos,
conhecido apenas na família e pelo gerente do
banco como Luiz Arnaldo de Gusmão Bastos.
Dev do tempo da Carochinha.
Eterno aprendiz. Fazer com paixão, aprender
e compartilhar sempre.
Minha receita de vida que sigo aplicando na
Concrete Solutions em SP.
6. Se tiver uma chance,
vem trabalhar com a gente.
Garanto que a Concrete Solutions
é um lugar legal de trabalhar.
10. ML estuda como construir sistemas
que automaticamente melhorem com a
experiência
11. ML estuda como construir sistemas
que automaticamente melhorem com a
experiência
e quais são as leis fundamentais que
governam os processos de aprendizado.
12. ML estuda como construir sistemas
que automaticamente melhorem com a
experiência
e quais são as leis fundamentais que
governam os processos de aprendizado.
Tom Mitchel, CMU
18. Conjunto de ferramentas e métodos
que visa perceber padrões e extrair visões
a partir de registros de observações e dados
de exemplos ou experiências passadas.
19. Ciência que faz computadores agirem sem ser
explicitamente programados!
20. Ciência que faz computadores agirem sem ser
explicitamente programados!
25. O que usamos:
Algoritmos"
+ computação on-demand
+ dados que estão em toda a parte
17 horas - Fernando Meyer:
Big data analytics – Por que o dado por si só
não significa nada.
26. Supervised learning!
A máquina aprende a partir de dados onde
a gente específica uma variável alvo.
27. Supervised learning!
A máquina aprende a partir de dados onde
a gente específica uma variável alvo.
A gente sabe o que está procurando.
28. Supervised learning!
A máquina aprende a partir de dados onde
a gente específica uma variável alvo.
A gente sabe o que está procurando.
Usamos a estrutura dos nossos dados para
obter as respostas.
29. Unsupervised learning!
Não sabemos o que procurar e
perguntamos a máquina o que os dados
tem em comum.
30. Unsupervised learning!
Não sabemos o que procurar e
perguntamos a máquina o que os dados
tem em comum.
Queremos descobrir estrutura em nossos
dados.
41. Previsões
Podem se dividir de acordo com o tipo de
tarefa que faz:
Classificação – prevê resultados qualitativos
discretos do tipo S/N, morre/sobrevive
Regressão – prevê resultados quantitativos
44. Classificação consiste em rotular um input
baseado em dados previamente vistos
Filtro anti spam
Identificação de linguagem
Detecção de rosto (você conhece o rosto)
45. Classificação consiste em rotular um input
baseado em dados previamente vistos
Filtro anti spam
Identificação de linguagem
Detecção de rosto (você conhece o rosto)
57. Exemplo: regra anti-spam
De um monte de mensagens, colocamos na tabela abaixo as
frequências relativas das palavras mais comuns e as marcas
de pontuação do que é spam ou não:
luiz
você
seu
CS
oferta
jantar
mês
eu
!
?
email! 1.27
1.28
0.44
0.90
0.07
0.43
0.11
0.42
0.18
0.29
58. Exemplo: regra anti-spam
De um monte de mensagens, colocamos na tabela abaixo as
frequências relativas das palavras mais comuns e as marcas
de pontuação do que é spam ou não:
luiz
você
seu
CS
oferta
jantar
mês
eu
!
?
email! 1.27
1.28
0.44
0.90
0.07
0.43
0.11
0.42
0.18
0.29
Por pura observação a gente poderia criar uma regra como:
Se (“luiz” < 0.60) e (“você” > 1.50) então é spam
69. DM foca na extração de conhecimento
compreensível
(padrões estruturais que capturam de uma
maneira explicita o conhecimento).
https://sites.google.com/site/gladyscjaprendizagem/program/data-mining-machine-learning
70. ML centra-se mais nos métodos
computacionais que fazem possível que
computadores aprendam e melhorem o seu
desempenho com a experiência.
https://sites.google.com/site/gladyscjaprendizagem/program/data-mining-machine-learning
76. Probabilidade
= Número de vezes que um determinado evento
pode ocorrer em relação ao total de ocorrências
77. Probabilidade
= Número de vezes que um determinado evento
pode ocorrer em relação ao total de ocorrências
P(A) é a probabilidade de que A seja verdadeiro
0 ≤ P(A) ≤ 1
78. Probabilidade de ocorrer um evento A em um
espaço S
número de casos favoráveis
n(A)
P(A) =
=
número de casos possíveis
n(S)
79. Qual a chance de sairem 2 números seis ao
lançar um par de dados?
80. Qual a chance de sairem 2 números seis ao
lançar um par de dados?
Resposta = ⅙ × ⅙!
85. Weka
Waikato Environment for Knowledge
Analysis
Criado por pesquisadores da Universidade
de Waikato na Nova Zelândia
86. Weka
Waikato Environment for Knowledge
Analysis
Criado por pesquisadores da Universidade
de Waikato na Nova Zelândia
Também é nome de uma ave nativa da NZL
87. É uma coleção de algoritmos de machine
learning no estado da arte úteis para tarefas de
data mining e mais diversas ferramentas de
pré-processamento de dados.
88. É uma coleção de algoritmos de machine
learning no estado da arte úteis para tarefas de
data mining e mais diversas ferramentas de
pré-processamento de dados.
Eles podem ser aplicados diretamente a um
conjunto de dados ou chamados via código
Java
89. Principais facilidades:
49 ferramentas de pré-processamento de
dados
76 algoritmos de classificação e regressão
8 algoritmos de clustering
3 algoritmos para achar regras de
associação
90. Principais facilidades – parte 2:
10 algoritmos para seleção de atributos
3 graphical user interfaces
- Explorer – exploratory data analysis
- Experimenter – experimental environment
- KnowledgeFlow – configurável para
streamed data processing
Interface de linha de comando
91. O Weka foi feito em Java e é distribuído como
open source sob licença GPL2.0 para v.3.6
92. O Weka foi feito em Java e é distribuído como
open source sob licença GPL3.0 Weka > 3.7.5
94. Quem usa OSX, na hora de instalar o .dmg,
além de copiar weka-3-6-6.app para
Aplicativos,
95. Quem usa OSX, na hora de instalar o .dmg,
além de copiar weka-3-6-6.app para
Aplicativos,
precisa copiar para algum lugar a seu gosto, o
diretório que contém os docs, isto é,
weka-3-6-6 (versão que estou usando)
96. As classes são organizadas como pacotes que
podem ser importados por uma aplicação Java
normal (GPL).
97. O tamanho máximo da heap padrão do Java é
insuficiente para executar ou usar o Weka.
Aumente usando o flag -Xmx2048M. "
98. O flag -server usa -Xmx2048M e é o default no
OSX. Mas o Weka vem com –Xmx256M. No
OSX use o Xcode para editar o Info.plist e
alterar Java/VMOptions.
99. Veja mais sobre configurações do Java em:
http://www.arquiteturajava.com.br/livro/principios-de-garbage-
collection.pdf
http://java.dzone.com/articles/how-tame-java-gc-pauses
100. Os recursos de pré-processamento, os
algoritmos de ML e as saídas gráficas podem
ser usados através de uma interface gráfica de
usuário (GUI) chamada de Weka workbench.
102. Explorer
Interface gráfica que dá acesso a todas as
facilidades usando seleção via menu e
preenchimento de formulários.
103. Explorer
Interface gráfica que dá acesso a todas as
facilidades usando seleção via menu e
preenchimento de formulários.
Fácil de usar mas carrega TODOS os dados
na memória. Casos pequenos e médios.
104. Explorer
Interface gráfica que dá acesso a todas as
facilidades usando seleção via menu e
preenchimento de formulários.
Fácil de usar mas carrega TODOS os dados
na memória. Casos pequenos e médios.
Faz pré-processamento de dados, executa
os algoritmos, mostra saídas e gráficos.
106. Explorer – pré processamento
Dados importados com vários formatos: arff,
csv, c4.5, binário
Dados lidos de uma URL ou de um banco
de dados relacional via JDBC
Filtros (ferramentas de pré-processamento):
discretização, normalização, resampling,
seleção, combinação e transformação de
atributos,…
117. Experimenter
Experimentar e avaliar algoritmos de ML.
Saber qual o mais adequado.
Comparar técnicas de aprendizado. Vai além
do Explorer porque permite automatizar
rodando com diferentes parâmetros.
118. Experimenter
Experimentar e avaliar algoritmos de ML.
Saber qual o mais adequado.
Comparar técnicas de aprendizado. Vai além
do Explorer porque permite automatizar
rodando com diferentes parâmetros.
Distribuir cargas por várias JVMs via RMI.
121. KnowledgeFlow
Projetar configurações para streamed data
processing.
Arrastar caixas representando algoritmos e
data sources unindo-os para carregar e
processar de forma incremental.
122. KnowledgeFlow
Projetar configurações para streamed data
processing.
Arrastar caixas representando algoritmos e
data sources unindo-os para carregar e
processar de forma incremental.
Os algoritmos incrementais do Weka
contornam a questão do Explorer não
conseguir tratar problemas grandes.
124. Simple CLI
Uma interface simples que permite digitar
comandos.
125. Simple CLI
Uma interface simples que permite digitar
comandos.
De forma alternativa, se pode usar a CLI do
sistema operacional para classes do
weka.jar
(segundo o README, precisa adicionar
$WEKAINSTALL/weka.jar no seu
CLASSPATH).
129. Data Mining – Practical Machine Learning
Tools and Techniques, Witten, Frank & Hall
130. Revista Mundo Java número 24 Jul/Ago 2007"
Artigo:
Mineração de Dados em Java: Weka
de Rafael Santos
131. IBM developerWorks:
Data mining with WEKA, Part 1:
Introduction and regression
Data mining with WEKA, Part 2:
Classification and clustering
Data mining with WEKA, Part 3:
Nearest Neighbor and server-side library
132. Introdução a mineração de dados utilizando o
Weka – Marcelo Damasceno - V CONNEPI,
Maceió 2010
Uma Abordagem para Classificação Online de
Tráfego TCP, InfoBrasil, Fortaleza, Março 2012
Naive Bayes com estimação de densidade de
kernel para Classificação de Tráfego Internet,
InfoBrasil, Fortaleza, Março 2012