1. O documento discute pré-processamento de dados e comitês de classificadores. É apresentada a base de dados Covertype e várias técnicas de pré-processamento como redução de dimensionalidade são avaliadas.
2. Comitês de classificadores como boosting e bagging são analisados na base Covertype, demonstrando que os comitês superam os classificadores individuais em termos de acurácia.
3. Conclusões apontam a importância do pré-processamento para extrair medidas descritivas dos dados e que redução de dimensionalidade por LDA foi superior a PCA
Pré-Processamento de Dados & Comitês de Classificadores - Machine Learning
1. Pr´e Processamento de Dados
&
Comitˆes de Classificadores
Jo˜ao Helis Junior de Azevedo Bernardo
Universidade Federal do Rio Grande do Norte
Natal, 2015
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 1 / 25
2. Sum´ario
1 Ferramentas utilizadas
2 Pr´e-Processamento de Dados
A base de Dados Covertype
Correla¸c˜ao dos atributos da Base
Redu¸c˜ao de dimensionalidade com base no grau de corre¸c˜ao dos
atributos
Redu¸c˜ao aleat´oria de dimensionalidade
Redu¸c˜ao de dimensionalidade com PCA e LDA
Conclus˜ao
3 Comitˆes de Classificadores
Conceitos B´asicos
An´alise do desempenho do Boosting
An´alise do desempenho do Bagging
Conclus˜ao
4 O porquˆe de se utilizar Python
5 Referˆencias
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 2 / 25
3. Ferramentas utilizadas
1 Ferramentas utilizadas
2 Pr´e-Processamento de Dados
3 Comitˆes de Classificadores
4 O porquˆe de se utilizar Python
5 Referˆencias
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 3 / 25
4. Ferramentas utilizadas
Ferramentas utilizadas
Ferramentas utilizadas para o pr´e-processamento de dados e para
cria¸c˜ao Comitˆes de Classificadores:
weka Ferramenta para aprendizagem de m´aquina em Java
sklearn Ferramenta para minera¸c˜ao e an´alise de dados em Python.
Numpy Pacote para computa¸c˜ao cient´ıfica em python
matplotlib Plotagem de gr´aficos 2D multiplataforma
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 4 / 25
5. Pr´e-Processamento de Dados
1 Ferramentas utilizadas
2 Pr´e-Processamento de Dados
3 Comitˆes de Classificadores
4 O porquˆe de se utilizar Python
5 Referˆencias
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 5 / 25
6. Pr´e-Processamento de Dados A base de Dados Covertype
Pr´e-Processamento de Dados
A escolha da Base de Dados
Base de Dados utilizada
Covertype https://archive.ics.uci.edu/ml/datasets/Covertype
Detalhes da Base de Dados
Prevˆe o tipo de cobertura florestal a partir de vari´aveis cartogr´aficas
Composta por 54 atributos n˜ao escalares
44 atributos categ´oricos
10 atributos num´ericos
7 classes poss´ıveis
581012 instˆancias
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 6 / 25
7. Pr´e-Processamento de Dados A base de Dados Covertype
Pr´e-Processamento de Dados
Conhecendo os Atributos
Attribute Name Tipo M´etrica Qtd. Col
Elevation Quantitativo M´etros 1
Aspect Quantitativo M´etros 1
Slop Quantitativo Graus 1
Horizontal Distance to Hydrology Quantitativo M´etros 1
Horizontal Distance to Roadways Quantitativo M´etros 1
Hillshade 9am Quantitativo 0-255 1
Hillshade Noon Quantitativo 0-255 1
Hillshade 3pm Quantitativo 0-255 1
Horizontal Distance to Fire Points Quantitativo M´etros 1
Wilderness Area Qualitativo 0 ou 1 4
Soil Type Qualitativo 0 ou 1 40
Cover Type Quantitativo M´etros 1
Tabela : Descri¸c˜ao dos atributos da Base Covertype
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 7 / 25
8. Pr´e-Processamento de Dados A base de Dados Covertype
Pr´e-Processamento de Dados
Medidas Descritivas dos Atributos da Base
Normaliza¸c˜ao dos Dados
Atributos com maior variˆancia na Base Covertype
Wilderness Area 1
Wilderness Area 3
Atributo com menor variˆancia na Base Covertype
Soil Type 37
Attribute Name Med Var Std
Wilderness Area 1 0.45 0.25 0.5
Wilderness Area 3 0.44 0.25 0.5
Soil Type 29 0.20 0.16 0.4
... ... ... ...
Soil Type 37 0 0 0.02
Tabela : Medidas Descritivas dos Atributos da Base Covertype
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 8 / 25
9. Pr´e-Processamento de Dados Correla¸c˜ao dos atributos da Base
Pr´e-Processamento de Dados
Correla¸c˜ao entre os atributos da Base de Dados
Prepara¸c˜ao para o c´alculo de correla¸c˜ao:
Redu¸c˜ao de Dimensionalidade e Balanceamento da Base de Dados
De 581012 para 4900 instˆancias
700 instˆancias para cada classe
C´alculo da correla¸c˜ao para os atributos da base Covertype:
Com base na matriz de correla¸c˜ao foi gerada uma lista ordenada de
todos os atributos da base, a partir do coeficiente de correla¸c˜ao de
cada atributo
Os atributos mais correlacionados foram Elevation e Wilderness Area 4,
enquanto Soil Type 15 e Soil Type 8 foram os atributos com menor grau
de correla¸c˜ao
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 9 / 25
10. Pr´e-Processamento de Dados
Pr´e-Processamento de Dados
Configurando os parˆametros do K-NN
Melhor k para o K-NN: 1
Figura : Acur´acia do K-NN com varia¸c˜ao do valor de K
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 10 / 25
11. Pr´e-Processamento de Dados Redu¸c˜ao dos atributos mais correlacionados
Pr´e-Processamento de Dados
Desempenho do K-NN com a elimina¸c˜ao dos atributos mais correlacionados da Base
Acur´acia do K-NN sem a remo¸c˜ao de atributos: 75.6%
Figura : Acur´acia do K-NN removendo os atributos mais correlacionados da Base
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 11 / 25
12. Pr´e-Processamento de Dados Redu¸c˜ao aleat´oria de dimensionalidade
Pr´e-Processamento de Dados
Desempenho do K-NN com a elimina¸c˜ao aleat´oria de instˆancias da Base de Dados
Acur´acia do K-NN sem a remo¸c˜ao de instˆancias: 75.6%
Figura : Acur´acia do K-NN removendo os atributos mais correlacionados da Base
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 12 / 25
13. Pr´e-Processamento de Dados Redu¸c˜ao aleat´oria de dimensionalidade
Pr´e-Processamento de Dados
Desempenho do K-NN com a elimina¸c˜ao aleat´oria de atributos da Base de Dados
Estrat´egia de sele¸c˜ao de atributos - Randˆomica
Melhor n´umero de atributos: 38
Acur´acia: 69.6%
Figura : Acur´acia do K-NN removendo atributos da Base de forma Randˆomica
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 13 / 25
14. Pr´e-Processamento de Dados Redu¸c˜ao de dimensionalidade com PCA e LDA
Pr´e-Processamento de Dados
Desempenho do K-NN variando a quantidade de atributos com base no PCA
Estrat´egia de sele¸c˜ao de atributos - PCA
Melhor n´umero de atributos: 46
Acur´acia: 68.0%
Figura : Acur´acia do K-NN variando a quantidade de atributos a partir do PCA
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 14 / 25
15. Pr´e-Processamento de Dados Redu¸c˜ao de dimensionalidade com PCA e LDA
Pr´e-Processamento de Dados
Desempenho do K-NN variando a quantidade de atributos com base no LDA
Estrat´egia de sele¸c˜ao de atributos - LDA
Melhor n´umero de atributos: 5
Acur´acia: 71.1%
Figura : Acur´acia do K-NN variando a quantidade de atributos a partir do LDA
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 15 / 25
16. Pr´e-Processamento de Dados Conclus˜ao
Pr´e-Processamento de Dados
Conclus˜ao
´E importante normalizar os dados para extrair as suas medidas
descritivas
A remo¸c˜ao dos atributos mais correlacionados influenciou
negativamente na acur´acia do m´etodo de classifica¸c˜ao utilizado
A redu¸c˜ao de atributos de forma aleat´oria apresenta grande
probabilidade de degrada¸c˜ao no desempenho do processo de
classifica¸c˜ao
A redu¸c˜ao de dimensionalidade atrav´es do LDA foi muito superior ao
PCA para o caso espec´ıfico da Base de Dados Covertype
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 16 / 25
17. Comitˆes de Classificadores
1 Ferramentas utilizadas
2 Pr´e-Processamento de Dados
3 Comitˆes de Classificadores
4 O porquˆe de se utilizar Python
5 Referˆencias
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 17 / 25
18. Comitˆes de Classificadores Conceitos B´asicos
Comitˆes de Classificadores
Conceitos B´asicos
Motiva¸c˜ao
Defini¸c˜ao: Um comitˆe diz respeito a um conjunto de classificadores
individuais (tamb´em denominados classificadores bases) associados a
um m´etodo de combina¸c˜ao que se responsabiliza em gerar a sa´ıda
final do sistema [4] [1] [5] [2] [3]
M´etodos de Combina¸c˜ao
Fus˜ao
Sele¸c˜ao
A importˆancia da Diversidade
Estrat´egias de Aprendizagem
Bagging
Boosting
Stacking
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 18 / 25
19. Comitˆes de Classificadores An´alise do desempenho do Boosting
Comitˆes de Classificadores
An´alise do desempenho do Boosting aplicado a base Covertype
Classificadores Individuais X Comitˆes de classificadores
Acur´acia do classificador J48 individualmente: 75.44%
Acur´acia do Classificador K-NN individualmente: 75.59%
Acur´acia de Ensembles Boosting constru´ıdos com os m´etodos J48 e
K-NN, variando o n´umero de itera¸c˜oes
12 Iteractions 24 Iteractions 48 Iteractions
Boosting - J48 80.14% 81.14% 81.69%
Boosting - K-NN 75.59% 75.59% 75.59%
Tabela : Acur´acia de comitˆes utilizando o Boosting
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 19 / 25
20. Comitˆes de Classificadores An´alise do desempenho do Boosting
Comitˆes de Classificadores
An´alise do desempenho do Boosting aplicado a base Covertype
Classificadores Individuais X Comitˆes de classificadores
Acur´acia do classificador J48 individualmente: 75.44%
Acur´acia do Classificador K-NN individualmente: 75.59%
Figura : Acur´acia de comitˆes utilizando o Boosting
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 19 / 25
21. Comitˆes de Classificadores An´alise do desempenho do Bagging
Comitˆes de Classificadores
An´alise do desempenho do Bagging aplicado a base Covertype
Classificadores Individuais X Comitˆes de classificadores
Acur´acia do classificador ´Arvore de Decis˜ao individualmente:
75.44%
Acur´acia de um Comitˆe de Arvores de Decis˜ao utilizando o
Bagging como m´etodo de aprendizagem, e variando o n´umero de
itera¸c˜oes
12 Iteractions 24 Iteractions 48 Iteractions
Bagging - Decision Tree 79.12% 79.98% 80.42%
Tabela : Acur´acia de um comitˆe utilizando o Bagging
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 20 / 25
22. Comitˆes de Classificadores An´alise do desempenho do Bagging
Comitˆes de Classificadores
An´alise do desempenho do Bagging aplicado a base Covertype
Classificadores Individuais X Comitˆes de classificadores
Acur´acia do classificador ´Arvore de Decis˜ao individualmente:
75.44%
Figura : Acur´acia de um comitˆe utilizando o Bagging
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 20 / 25
23. Comitˆes de Classificadores Conclus˜ao
Comitˆes de Classificadores
Conclus˜ao
Comitˆes de classificadores s˜ao importantes ferramentas para
ambientes em que classificadores individuais n˜ao conseguem bom
desempenho
Para o problema espec´ıfico de classifica¸c˜ao da base de dados
Covertype, os comitˆes de classificadores bagging e boosting obtiveram
melhor acur´acia quˆe os m´etodos J48 e K-NN individualmente
O Boosting obteve um desepenho um pouco superiro ao Bagging
´E importante verificar se o aumento do desempenho oriundo da
constru¸c˜ao de um Comitˆe compensa o aumento da complexidade
introduzida ao sistema
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 21 / 25
24. O porquˆe de se utilizar Python
1 Ferramentas utilizadas
2 Pr´e-Processamento de Dados
3 Comitˆes de Classificadores
4 O porquˆe de se utilizar Python
5 Referˆencias
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 22 / 25
25. O porquˆe de se utilizar Python
Pr´e-Processamento de Dados
Utilizando python para cria¸c˜ao de Ensembles
Por que utilizar python? F´acil, r´apido e altamente intuitivo
Um exemplo pr´atico: Plotando um gr´afico da acur´acia de um
Ensemble em python, utilizando as bibliotecas sklearn & matplotlib
dataset name = ” c o v e r t y p e r e d u c e d n o r m a l i z e d . csv ”
d a t a s e t = np . l o a d t x t ( open ( dataset name , ” rb ” ) , d e l i m i t e r=” , ” )
X = d a t a s e t [: ,: −1]
Y = d a t a s e t [: , −1]
n u m b e r s o f e s t i m a t o r s = [12 , 24 , 48]
r e s u l t s = [ ]
f o r n e s t i m a t o r s i n n u m b e r s o f e s t i m a t o r s :
bagging = B a g g i n g C l a s s i f i e r ( t r e e . D e c i s i o n T r e e C l a s s i f i e r () , n e s t i m a t o r s=n e s t i m a t o r s )
s c o r e s = c r o s s v a l s c o r e ( bagging , X, Y, cv =10)
accuracy = s c o r e s . mean ()
r e s u l t s . append ( accuracy )
p r i n t r e s u l t s
p l . t i t l e ( ” B a g g i n g C l a s s i f i e r − Base C l a s s i f i e r : DecisionTree ” )
p l . p l o t ( n u m b e r s o f e s t i m a t o r s , r e s u l t s , ’−o ’ )
p l . x l a b e l ( ’ Numbers of E st ima tor s ’ ) , p l . y l a b e l ( ’ Accuracy ’ )
p l . show ()
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 23 / 25
26. Referˆencias
1 Ferramentas utilizadas
2 Pr´e-Processamento de Dados
3 Comitˆes de Classificadores
4 O porquˆe de se utilizar Python
5 Referˆencias
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 24 / 25
27. Referˆencias
Referˆencias
Thomas G Dietterich.
Ensemble methods in machine learning.
In Multiple classifier systems, pages 1–15. Springer, 2000.
Laura Emmanuella Alves dos Santos Santana.
Uma an´alise comparativa entre sistemas de combina¸c˜ao de classificadores com distribui¸c˜ao vertical dos dados.
Master’s thesis, Universidade Federal do Rio Grande do Norte, DIMAp, Natal, 2008.
Laura Emmanuella Alves dos Santos Santana.
Otimiza¸c˜ao em comitˆes de classificadores: uma abordagem baseada em filtro para sele¸c˜ao de subconjuntos de atributos.
PhD thesis, Universidade Federal do Rio Grande do Norte, DIMAp, Natal, 2012.
L´ıgia Maria Moura e Silva.
Sele¸c˜ao de atributos em comitˆes de classificadores utilizando algoritmos gen´eticos.
Master’s thesis, Universidade Federal do Rio Grande do Norte, DIMAp, Natal, 2010.
Ludmila I Kuncheva.
Combining pattern classifiers: methods and algorithms.
John Wiley & Sons, 2004.
Jo˜ao Helis Bernardo (UFRN) Aprendizagem de M´aquina Natal, 2015 25 / 25