Data Stream Mining: trabalhando com dados massivos. Apresentação exibida no TDC 18 de Porto Alegre, nas trilhas de Data Science. Uma breve explicação sobre o contexto data stream, exemplos e resultados aplicando regressão.
4. andré luís nunes
Gestor Técnico | Cientista de Dados
CWI Software
São Leopoldo/RS
Mestrado em Ciência da Computação, UNISINOS (2017)
Bacharel em Sistemas de Informação, FACCAT (2008) P&I
Crescer
Núcleo de
Tecnologia
7. data stream
• Sequência de dados potencialmente infinita.
• Velocidade na chegada:
➢ Importantes apenas na chegada;
➢ Após processamento são descartados.
• BASES NÃO-ESTACIONÁRIOS
10. data stream
A partir da implementação da árvore de
Hoeffding.
Probability Inequalities for Sums
of Bounded Random Variables
(1962,Wassily Hoeffding)
20. data stream mining
Três dimensões
influenciam
EQUILÍBRIO
memória tempo
poder de generalização
21. data stream mining | ferramenta
{M}assive {O}nline {A}nalysis
Evolução do popular WEKA,
voltado para Data Stream Mining.
https://github.com/Waikato/moa
27. data stream mining
Leitura dos dados, capturando amostras ( f ).
Conjunto de dados (5M)
𝒊 𝒏
( f =100K ) Tamanho da amostragem
𝒊 𝟏
28. data stream mining
Leitura dos dados, capturando amostras ( f ).
Conjunto de dados (5M)
𝒊 𝟏 𝒊 𝒏
( f =100K ) Tamanho da amostragem
29. data stream mining
Leitura dos dados, capturando amostras ( f ).
Conjunto de dados (5M)
𝒊 𝟏 𝒊 𝒏
( f =100K ) Tamanho da amostragem
(w) tamanho da janela
30. data stream mining
Uma janela (w) desliza sobre a amostragem.
Conjunto de dados (5M)
𝒊 𝟏 𝒊 𝒏
( f =100K ) Tamanho da amostragem
(w=1K) tamanho da janela
31. data stream mining
Uma janela (w) desliza sobre a amostragem.
𝒊 𝟏 𝒊 𝒏
( f =100K ) Tamanho da amostragem
(w=1K) tamanho da janela
32. data stream mining
Para cada amostragem, o processo de aprendizado:
PARA CADA AMOSTRAGEM ( f =100K )
CAPTURA JANELAS (w=1K)
1. Processa o Algoritmo;
2. Atualiza Estatísticas;
3. Atualiza Modelo;
33. data stream mining
Para cada amostragem, o processo de aprendizado:
PARA CADA AMOSTRAGEM ( f =100K )
CAPTURA JANELAS (w=1K)
1. Processa o Algoritmo;
2. Atualiza Estatísticas;
3. Atualiza Modelo;
34. data stream mining
Dentro do processo de aprendizado:
1. Definição do Algoritmo;
2. Definição dos critério para a
seleção de atributos;
35. data stream mining
Aplicando a ferramenta na prática.
Exemplo Base Airlines
Passo 1: qual o tipo de tarefa ? REGRESSÃO
39. data stream mining
Aplicando a ferramenta na prática.
• FIMT-DD
• AMRules
Alguns algoritmos (MOA) para REGRESSÃO
• IBLStreams
• SNF Regressor
40. data stream mining
Algoritmos selecionados:
• FIMT-DD: Fast Incremental Model Tree with Drift Detect
• AMRules: Associate Model Rules
• IBLStreams: Instance-Base Learning
• SNF Regressor: Scalar Free-Network
41. regressão
Como avaliar o resultado da regressão (erro)?
x1 x2 x3 y predicted
3.0 5.0 4.0 18 16
1.5 6.0 4.5 26 27
1.0 4.0 7.8 4 1
Mean Absolute ErrorMétrica muito utilizada:
56. concept drift - configuração
Base Friedman:
Geração de 4 diferentes configurações (concept) com 1M de instâncias:
C1 C2 C3 C4
57. concept drift - configuração
Base Friedman:
Geração de 4 diferentes configurações (concept) com 1M de instâncias:
f
C1
58. concept drift - configuração
Base Friedman:
Geração de 4 diferentes configurações (concept) com 1M de instâncias:
f
C1
59. concept drift - configuração
Base Friedman:
Geração de 4 diferentes configurações (concept) com 1M de instâncias:
f
C2
60. concept drift - configuração
Base Friedman:
Geração de 4 diferentes configurações (concept) com 1M de instâncias:
f
C3
61. concept drift - configuração
Base Friedman:
Geração de 4 diferentes configurações (concept) com 1M de instâncias:
f
C4
62. concept drift - configuração
Base Friedman:
Última configuração é uma cópia da primeira:
C1 C2 C3 C4 C5
63. concept drift - configuração
Base Friedman:
Última configuração é uma cópia da primeira:
C1 C2 C3 C4 C5
1MI + 1MI + 1MI + 1MI + 1MI = 5 MI
instâncias
64. concept drift - configuração
Base Friedman, bases derivadas:
+ 2 bases foram geradas a partir da original:
Fried FriedChar FriedWOx4
Original Convertendo o valor (x4)
numérico para caractere
1=A, 2=B, ...
Removendo o atributo x4
65. concept drift - resultados
Tempo (min) de aprendizado para cada base de dados
8 8
55 5 4
29 27
19
8
21
17
0
5
10
15
20
25
30
35
Fried FriedChar FriedWOx4
AMRules FIMT-DD SFN AMRules SFN FIMT-DD
66. concept drift - resultados
Avaliando o comportamento durante a evolução do processo:
0
5
10
15
20
25
30
0,1 1,1 2,1 3,1 4,1
ErroMAE
Instâncias (Milhão)
Análise do Erro MAE - Fried
AMRules FIMT-DD SFN AMRules SFN FIMT-DD
67. concept drift - resultados
Avaliando o comportamento durante a evolução do processo:
0
5
10
15
20
25
30
35
40
0,1 1,1 2,1 3,1 4,1
ErroMAE
Instâncias (Milhão)
Análise do Erro MAE - FriedChar
AMRules FIMT-DD SFN AMRules SFN FIMT-DD
68. concept drift - resultados
Avaliando o comportamento durante a evolução do processo:
21
23
25
27
29
0,1 1,1 2,1 3,1 4,1
ErroMAE
Instâncias (Milhão)
Análise do Erro MAE - FriedWOx4
AMRules FIMT-DD SFN AMRules SFN FIMT-DD
69. data stream mining - resumo
•Pré-Processamento
•Treinamento
•Concept Drift
•Métodos de Validação
70. Globalcode – Open4education
Data Science
Data Stream Mining:
trabalhando com dados massivos
André Luís Nunes
nunes.br@gmail.com
THE DEVELOPER’S CONFERENCE POA-2018