meta-aprendizagem no problema de seleção de algoritmo de ... conjuntos de dados com...

89
1 Meta-aprendizagem no problema de seleção de algoritmo de Análise Classificatória por Vânia Patrícia Pereira Serra Dissertação de Master in Data Analytics Orientado por: Professora Doutora Maria Paula de Pinho de Brito Duarte Silva Professor Doutor Carlos Manuel Milheiro de Oliveira Pinto Soares Faculdade de Economia Universidade do Porto 2017

Upload: phungcong

Post on 09-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

1

Meta-aprendizagem no problema de seleção de algoritmo de

Análise Classificatória

por

Vânia Patrícia Pereira Serra

Dissertação de Master in Data Analytics

Orientado por:

Professora Doutora Maria Paula de Pinho de Brito Duarte Silva

Professor Doutor Carlos Manuel Milheiro de Oliveira Pinto Soares

Faculdade de Economia

Universidade do Porto

2017

2

Aos meus pais

3

Nota biográfica

Vânia Patrícia Pereira Serra, nasceu a 18 de Outubro de 1992, em Esposende.

Ingressou na Faculdade de Economia da Universidade do Porto, onde terminou a

Licenciatura em Economia, em Janeiro de 2015. Dado o seu interesse por áreas analíticas,

em 2015, começou a frequentar o Master in Data Analytics na mesma faculdade.

No mesmo ano, iniciou a sua primeira experiência profissional, onde exerceu

funções no âmbito da auditoria financeira e da auditoria a entidades executoras de projetos

cofinanciados por Fundos Comunitários. Atualmente, integra a equipa de gestão de

incentivos da Sonae IM.

4

Agradecimentos

Em primeiro lugar, quero agradecer aos professores que me orientaram no

desenvolvimento desta dissertação, a Professora Doutora Paula Brito e o Professor Doutor

Carlos Soares. O meu agradecimento pela paciência no esclarecimento de todas as minhas

questões, pela dedicação e pelas palavras de motivação quando os obstáculos surgiam.

À Marta, que me acompanhou ao longo do mestrado, pelas sugestões e ajuda na

resolução de problemas, pela preocupação e pelo companheirismo.

Quero ainda agradecer aos meus pais por, ao longo de toda a minha vida

académica, terem sempre uma palavra de força e por me mostrarem que o esforço é o

caminho para o sucesso.

5

Resumo

A utilização da aprendizagem automática tem vindo a generalizar-se nos últimos

anos devido à crescente evolução tecnológica e face ao volume de informação que

recebemos diariamente. A aprendizagem automática pressupõe que as decisões relativas

a novos casos sejam baseadas em modelos que são formulados com base em experiências

anteriores, utilizando-se para isso algoritmos de aprendizagem. Existem vários algoritmos

para cada tarefa (análise classificatória, regressão, …), assim, torna-se necessário um

mecanismo que conduza os utilizadores na seleção do algoritmo com melhor desempenho

em conjuntos de dados com características desconhecidas.

Este projeto foca-se no problema do uso da meta-aprendizagem na seleção de

algoritmo para tarefas de Análise Classificatória. O desenvolvimento de meta-

características informativas é o maior desafio nas abordagens da meta-aprendizagem. A

nossa contribuição principal é a proposta de subsampling landmarkers para Análise

Classificatória. São utilizados algoritmos de nível base como o K-Médias e o DBSCAN,

cujo desempenho é avaliado pelo coeficiente de silhueta e pela proporção de inércia

explicada. Ao nível meta, a análise discriminante linear e o Random Forest são utilizados

para aprender o modelo para a recomendação do algoritmo. As experiências realizadas

obtiveram resultados promissores.

Palavras Chave: Meta-aprendizagem, Análise Classificatória, Landmarking,

Algoritmos, Medidas de Avaliação

6

Abstract

The use of machine learning has become widespread in recent years due to the

increasing technological evolution and the amount of information collected. Machine

learning assumes that decisions concerning new cases are based on models that are based

on previous experiences, obtained with learning algorithms. Many algorithms are

available for each task (clustering, regression,…), thus, a mechanism is required that

guides users in the selection of the algorithm that is expected to obtain the best

performance for datasets with unknown characteristics.

This project addresses the problem of using meta-learning for algorithm

selection for Clustering tasks. The development of informative metafeatures is a major

challenge in metalearning approaches. Our main contribution is the proposal of

subsampling landmarkers for clustering. Base-level algorithms such as K-Means and

DBSCAN are used, whose performance is evaluated with the silhouette coefficient and

by the ratio of explained inertia. At the meta level, linear discriminant analysis and

Random Forest were used to learn the model for algorithm recommendation. The

experiments carried out obtained promising results.

Key Words: Meta-learning, Clustering, Landmarking, Algorithms, Evaluation

Measures

7

Índice

Nota biográfica ...................................................................................................... 3

Agradecimentos .................................................................................................... 4

Resumo.................................................................................................................. 5

Abstract ................................................................................................................. 6

Lista de Figuras ..................................................................................................... 9

Lista de Tabelas .................................................................................................. 12

1 Introdução ..................................................................................................... 13

1.1 Objetivos ............................................................................................... 15

1.2 Organização ........................................................................................... 16

2 Análise Classificatória .................................................................................. 17

2.1 Etapas da Análise Classificatória .......................................................... 17

2.2 Método das K-Médias ........................................................................... 21

2.3 Método DBSCAN ................................................................................. 22

2.4 Medidas de avaliação interna ................................................................ 24

2.4.1 Coeficiente de Silhueta .................................................................... 25

2.4.2 Inércia Explicada .............................................................................. 25

3 Meta-aprendizagem ...................................................................................... 27

3.1 Definição de Meta-aprendizagem ......................................................... 27

3.1.1 Meta-características ......................................................................... 30

3.2 Landmarking ......................................................................................... 32

3.2.1 Subsampling landmarkers ................................................................ 33

3.3 Análise Discriminante Linear ............................................................... 35

3.4 Random Forest ...................................................................................... 37

3.5 Meta-aprendizagem em Análise Classificatória .................................... 38

4 Estudo Empírico ........................................................................................... 41

5 Conclusões .................................................................................................... 49

6 Referências ................................................................................................... 51

Anexo A .............................................................................................................. 56

Anexo B .............................................................................................................. 72

Anexo C .............................................................................................................. 74

8

Anexo D .............................................................................................................. 76

Anexo E............................................................................................................... 84

9

Lista de Figuras

Figura 1 - Base de dados (Ester et al., 1996) ...................................................... 22

Figura 2 – Objetos centrais 𝑥, de fronteira 𝑦 e ruído 𝑧 ....................................... 23

Figura 3 – Processo da meta-aprendizagem para recomendação de algoritmo

(Brazdil, Giraud-Carrier, Soares, & Vilalta, 2009) ......................................................... 29

Figura 4 - kNNdistplot(abalone,k=4) .................................................................. 44

Figura A. 1 – abalone .......................................................................................... 56

Figura A. 2 – annealing ....................................................................................... 56

Figura A. 3 - auto mpg ........................................................................................ 56

Figura A. 4 – automobile .................................................................................... 57

Figura A. 5 – banknote ........................................................................................ 57

Figura A. 6 - blood transfusion ........................................................................... 57

Figura A. 7 - breast cancer .................................................................................. 58

Figura A. 8 - climate model ................................................................................ 58

Figura A. 9 - connectionist sonar ........................................................................ 58

Figura A. 10 - connectionist vowel ..................................................................... 59

Figura A. 11 – contraceptive ............................................................................... 59

Figura A. 12 - credit approval ............................................................................. 59

Figura A. 13 - cylinder bands .............................................................................. 60

Figura A. 14 – echocardiogram ........................................................................... 60

Figura A. 15 – ecoli............................................................................................. 60

Figura A. 16 - facebook metrics .......................................................................... 61

Figura A. 17 - forest type .................................................................................... 61

Figura A. 18 – flags............................................................................................. 61

Figura A. 19 - glass identification ....................................................................... 62

Figura A. 20 - haberman's survival ..................................................................... 62

Figura A. 21 – ilpd .............................................................................................. 62

Figura A. 22 - image segmentation ..................................................................... 63

Figura A. 23 – ionosphere ................................................................................... 63

10

Figura A. 24 – iris ............................................................................................... 63

Figura A. 25 – leaf .............................................................................................. 64

Figura A. 26 - liver disorders .............................................................................. 64

Figura A. 27 – lsvt............................................................................................... 64

Figura A. 28 – mammographic ........................................................................... 65

Figura A. 29 – madelon....................................................................................... 65

Figura A. 30 - mice protein ................................................................................. 65

Figura A. 31 – parkinsons ................................................................................... 66

Figura A. 32 - pima indians diabetes .................................................................. 66

Figura A. 33 – qsar .............................................................................................. 66

Figura A. 34 – seeds ............................................................................................ 67

Figura A. 35 - skillcraft1 ..................................................................................... 67

Figura A. 36 – spambase ..................................................................................... 67

Figura A. 37 - statlog australian .......................................................................... 68

Figura A. 38 - statlog german ............................................................................. 68

Figura A. 39 - statlog heart ................................................................................. 68

Figura A. 40 - statlog image................................................................................ 69

Figura A. 41 – turkiye ......................................................................................... 69

Figura A. 42 – urban ........................................................................................... 69

Figura A. 43 - water treatment plant ................................................................... 70

Figura A. 44 – wilt .............................................................................................. 70

Figura A. 45 – wine............................................................................................. 70

Figura A. 46 – yeast ............................................................................................ 71

Figura A. 47 - zoo ............................................................................................... 71

Figura D. 1 - K-Médias s50 CF K-Médias .......................................................... 76

Figura D. 2 - K-Médias s75 CF K-Médias .......................................................... 76

Figura D. 3 - K-Médias s100 CF K-Médias ........................................................ 76

Figura D. 4 - DBSCAN s50 CF K-Médias ......................................................... 77

Figura D. 5 - DBSCAN s75 CF K-Médias ......................................................... 77

Figura D. 6 - DBSCAN s100 CF K-Médias ....................................................... 77

Figura D. 7 - K-Médias s50 CF DBSCAN ......................................................... 78

11

Figura D. 8 - K-Médias s75 CF DBSCAN ......................................................... 78

Figura D. 9 - K-Médias s100 CF DBSCAN ....................................................... 78

Figura D. 10 - DBSCAN s50 CF DBSCAN ....................................................... 79

Figura D. 11 - DBSCAN s75 CF DBSCAN ....................................................... 79

Figura D. 12 - DBSCAN s100 CF DBSCAN ..................................................... 79

Figura D. 13 - K-Médias s50 IE K-Médias ......................................................... 80

Figura D. 14 - K-Médias s75 IE K-Médias ......................................................... 80

Figura D. 15 - K-Médias s100 IE K-Médias ....................................................... 80

Figura D. 16 - DBSCAN s50 IE K-Médias ........................................................ 81

Figura D. 17 - DBSCAN s75 IE K-Médias ........................................................ 81

Figura D. 18 - DBSCAN s100 IE K-Médias ...................................................... 81

Figura D. 19 - K-Médias s50 IE DBSCAN ........................................................ 82

Figura D. 20 - K-Médias s75 IE DBSCAN ........................................................ 82

Figura D. 21 - K-Médias s100 IE DBSCAN ...................................................... 82

Figura D. 22 - DBSCAN s50 IE DBSCAN ........................................................ 83

Figura D. 23 - DBSCAN s75 IE DBSCAN ........................................................ 83

Figura D. 24 - DBSCAN s100 IE DBSCAN ...................................................... 83

Anexo E. 1 – Código do R .................................................................................. 89

12

Lista de Tabelas

Tabela 1 – Recomendação de algoritmo (Fürnkranz, Petrak, Brazil, & Soares,

2002) ............................................................................................................................... 34

Tabela 2 - Características dos conjuntos de dados: número de variáveis, número

de exemplos, número de classes considerado para o K-Médias, eps e número de classes

proposto pelo DBSCAN ................................................................................................. 43

Tabela 3 – Desempenho dos algoritmos K-Médias e DBSCAN avaliado pelo

Coeficiente de Silhueta e Inércia Explicada relativo a alguns conjuntos de dados

analisados ........................................................................................................................ 45

Tabela 4- Distribuição de classes ........................................................................ 45

Tabela 5 - Meta matrizes de confusão obtidas pela análise discriminante ......... 47

Tabela 6 – Meta matrizes de confusão obtidas pelo Random Forest .................. 47

Tabela B. 1 - Coeficiente de Silhueta e Inércia Explicada .................................. 73

Tabela C. 1 - Coeficiente de Silhueta ................................................................. 74

Tabela C. 2 - Inércia Explicada ........................................................................... 75

13

1 Introdução

No nosso quotidiano, somos confrontados com várias situações como, por

exemplo, a solicitação de um empréstimo financeiro a um banco, a sugestão de pesquisa

do Google quando escrevemos uma palavra no motor de busca, a deteção de fraudes, a

descoberta de grupos de consumidores para otimizar as campanhas publicitárias, etc. No

entanto, raramente refletimos acerca do mecanismo que se encontra por detrás destes

sistemas, já que são uma constante no nosso dia-a-dia, algo que consideramos como um

dado adquirido.

A resposta centra-se nos algoritmos de aprendizagem automática (Machine

Learning, em Inglês). Em 1959, Arthur Samuel definiu aprendizagem automática como

“um campo de estudo que dá aos computadores a habilidade de aprender sem serem

explicitamente programados para o efeito”. A aprendizagem automática atua em

diferentes subcampos, nomeadamente o da inteligência artificial onde se tem revelado

uma indispensável ferramenta para a análise de dados, para o reconhecimento de padrões

e na descoberta científica (Brazdil, Giraud-Carrier, Soares, & Vilalta, 2009). Por outro

lado, a aprendizagem automática suporta também a extração de conhecimento de dados

(Data Mining, em Inglês) numa base técnica, uma vez que, através de diversas

ferramentas e técnicas, permite trabalhar os dados na sua forma original, de modo a que

se encontrem padrões e se retire informação compreensível e pronta a ser utilizada para

diversos propósitos (Witten, Frank, Hall, & Pal, 2016).

Os algoritmos de aprendizagem automática podem ser supervisionados, não

supervisionados ou semi-supervisionados. No primeiro caso, são abordadas questões de

Classificação e Regressão, em que são disponibilizados, à partida, os exemplos e a

respetiva classificação. Assim, é necessário que o algoritmo seja capaz de construir um

modelo baseado nas propriedades e correspondências observadas a partir destes dados,

que permita classificar corretamente um novo conjunto de dados. Por sua vez, na

aprendizagem não supervisionada não é fornecida qualquer informação ou valor objetivo,

sendo necessário o reconhecimento de padrões nos dados iniciais de forma a classificar

os exemplos, como acontece na aprendizagem de Regras de Associação e na Análise

Classificatória (Clustering, em Inglês), que agrupa os objetos tendo em conta a sua

14

similaridade, dividindo-os em classes usando métodos hierárquicos ou não hierárquicos.

Por último, a aprendizagem semi-supervisionada combina os dois tipos de aprendizagem

anteriores, considerando problemas em que somente alguns casos apresentam

classificação.

A crescente utilização da aprendizagem automática está relacionada com o

aumento de informação que nos é disponibilizada diariamente e pela evolução da

tecnologia. Atentemos no seguinte exemplo: outrora os consumidores adquiriam os

produtos nas lojas físicas e era difícil encontrar um padrão nas compras de cada pessoa

por falta de informação; atualmente, com as constantes pesquisas na internet acerca de

informação relativa a vários produtos, podem ser identificados padrões e cada cliente é

comparado com perfis de outras pessoas e, assim, são sugeridos a cada cliente novos

produtos para compra, dentro da linha de produtos que são usualmente adquiridos.

A aprendizagem automática não necessita de intervenção humana - na medida em

que são formulados modelos baseados em situações passadas - que, posteriormente, são

capazes de dar resposta a novos casos. Estas respostas são baseadas em algoritmos de

aprendizagem ou na combinação de algoritmos. Face a um conjunto de dados novo, torna-

se difícil saber qual o algoritmo com melhor desempenho e mais adequado a analisar estes

dados, dado o desconhecimento das suas características. De forma a que seja selecionada

a melhor solução, seria necessário executar todos os algoritmos, o que conduziria a um

esforço computacional demasiadamente elevado. Além disso, para um mesmo algoritmo

podem ser considerados diferentes valores dos respetivos parâmetros, resultando em

soluções diferentes.

Para tornar este processo eficiente é necessária a existência de orientações que

permitam ao utilizador final usar o melhor algoritmo de aprendizagem, tendo em conta o

problema em estudo (Brazdil, Giraud-Carrier, Soares, & Vilalta, 2009). Assim, em

primeiro lugar, é essencial que se obtenha algum conhecimento acerca dos dados de modo

a que seja feita uma pré-seleção dos algoritmos a utilizar e que se perceba qual a relação

entre as características dos dados em análise e o mecanismo relativo a cada algoritmo,

sendo a Meta-aprendizagem (Meta-learning, em inglês) um dos campos que aborda esta

temática.

15

A meta-aprendizagem é um campo da aprendizagem automática, cuja definição

não se encontra ainda uniformizada pelos vários autores. Brazdil et al. (2009) definiram

meta-aprendizagem como uma área que utiliza a aprendizagem automática com a

finalidade de gerar meta-conhecimento, através da definição da relação entre as

características dos problemas, denominadas por meta-características, e o desempenho

relativo dos algoritmos. De uma forma simplista, o meta-conhecimento pode ser definido

como o conhecimento relativo ao processo de aprendizagem, enquanto as meta-

características descrevem características do conjunto de dados que servem como

indicadores do desempenho relativo dos algoritmos.

A meta-aprendizagem tem sido comummente aplicada a questões de classificação

e de regressão, isto é, a problemas de aprendizagem supervisionada. Existem alguns

trabalhos já realizados no âmbito da utilização da meta-aprendizagem em problemas de

Análise Classificatória, como De Souto et al. (2008), Soares (2009), Ferrari & De Castro

(2012). No entanto, este é considerado um campo muito pouco explorado, pelo que

consideramos ser uma oportunidade interessante para estudo. Assim, esta dissertação

debruça-se sobre o processo de recomendação de um algoritmo, de forma a torná-lo

menos moroso e custoso, através da obtenção de conhecimento de uma forma rápida e

eficiente acerca de um determinado conjunto de dados, focando na exploração do uso de

algoritmos de aprendizagem não-supervisionada, a Análise Classificatória.

1.1 Objetivos

O objetivo deste trabalho centra-se na exploração de meta-aprendizagem no

problema de seleção de algoritmo de análise classificatória, usando meta-características

baseadas em landmarking. Em particular, consideram-se os seguintes objetivos

específicos:

Adaptação de subsampling landmarkers para Análise Classificatória;

Avaliação empírica das meta-características propostas em conjunto de

dados públicos;

Recomendação de algoritmo para Análise Classificatória, tendo em

consideração as características dos dados, de forma a extrair regras de

apoio à seleção de métodos.

16

Neste trabalho, serão utilizadas várias bases de dados públicas, que serão extraídas

do repositório UCI.

1.2 Organização

Esta dissertação está dividida em cinco capítulos. No segundo Capítulo são

descritos conceitos relacionados com a Análise Classificatória, como a descrição dos

algoritmos e as medidas utilizadas. No terceiro Capítulo aborda-se a meta-aprendizagem,

referindo a separação do nível base e do nível meta, bem como a apresentação de alguns

algoritmos mais utilizados e meta-características já usadas noutros estudos. No Capítulo

4, é apresentado o estudo empírico. Descrevem-se aqui os conjuntos de dados utilizados,

o pré-processamento e a modelação dos dados e discutem-se os resultados obtidos. Por

fim, no último Capítulo referem-se as principais conclusões obtidas e apresentam-se

propostas de trabalho futuro.

17

2 Análise Classificatória

Neste capítulo, irá ser feita uma exposição sobre a análise classificatória e uma

descrição pormenorizada dos algoritmos de clustering e das medidas de desempenho que

serão utilizados posteriormente no estudo empírico.

2.1 Etapas da Análise Classificatória

A Análise Classificatória reúne um conjunto de métodos exploratórios de análise

multivariada, cujo objetivo se prende no estudo do grau de semelhança dos objetos,

agrupando-os em classes homogéneos (clusters), de forma que os elementos dentro de

uma classe sejam similares e distintos dos elementos pertencentes às restantes classes

(Ferrari & De Castro, 2015). Geometricamente, perante uma boa classificação, os objetos

pertencentes a uma mesma classe encontram-se próximos uns dos outros e distantes de

outras classes (Hair, 2010).

A Análise Classificatória é, então, o processo de classificação de objetos em

subconjuntos que tenham significado no contexto de um problema particular. Tem vindo

a ser aplicada a um conjunto diverso de disciplinas, como a economia, a sociologia e a

psicologia.

De uma forma geral, a Análise Classificatória pode ser dividida em cinco fases

(Reis, 2001):

1. A seleção de elementos ou de uma amostra de elementos a serem agrupados;

2. A seleção e tratamento de um conjunto de variáveis a partir das quais será

extraída a informação necessária para agrupar os elementos;

3. A definição de uma medida de semelhança ou de distância entre os elementos;

4. A seleção de um algoritmo de clustering;

5. A validação dos resultados obtidos.

A execução do primeiro passo do processo de análise classificatória está

relacionada com o objetivo do estudo e com as preferências do investigador.

18

O segundo passo diz respeito à seleção das variáveis a considerar, na medida em

que o investigador poderá escolher as variáveis mais importantes a incluir, dado o seu

prévio conhecimento sobre o objetivo do estudo. Definidas as variáveis, por vezes, torna-

se necessário fazer um pré-processamento dos dados de forma que os algoritmos sejam

capazes de operar.

Os dados a serem agrupados podem apresentar-se sob duas formas distintas: uma

matriz com 𝑛 linhas, que correspondem às observações e 𝑝 colunas às variáveis que

caracterizam os indivíduos; ou uma matriz quadrada onde as entradas respeitam a uma

medida de proximidade entre cada par de indivíduos.

No caso da escolha de um algoritmo que opere sobre a primeira estrutura de dados,

é comum que as variáveis não se encontrem todas na mesma unidade de medida,

revelando a necessidade de algum tratamento. Não há consenso quanto ao método mais

apropriado a utilizar nesta situação, no entanto a estandardização dos dados é o

procedimento mais comum. Assim, a estandardização tem por objetivo evitar que

variáveis com dispersões elevadas tenham um maior impacto no valor final de

similaridade (Hair, 2010). A forma mais corrente de estandardização é a subtração a cada

observação 𝑖 da média da variável 𝑗 e divisão desse resultado pelo respetivo desvio-

padrão da variável 𝑗, passando os valores da variável 𝑗 a ter média 0 e desvio padrão

unitário:

𝑍𝑖𝑗 =𝑋𝑖𝑗 − X𝑗

𝑠𝑗

Dado que muitos métodos de agrupamento não trabalham com dados que

apresentem valores omissos, por vezes também é necessário o tratamento desses valores,

que pode consistir na sua eliminação ou na imputação de um valor, e.g., a média da

variável.

O terceiro passo da análise classificatória diz respeito à escolha de uma medida

de semelhança ou dissemelhança para construção de uma matriz de proximidades, uma

vez que a definição dos agrupamentos é, geralmente, baseada nestas medidas. A escolha

da medida a ser utilizada deve ter em conta a natureza das variáveis em estudo. As

medidas de semelhança são geralmente utilizadas para características de dados

19

qualitativos, nomeadamente a similaridade de Jaccard e de Hamming. Por outro lado, o

uso de medidas de dissemelhança é preferível para características de dados quantitativos,

como a distância Euclideana ou a distância de Mahalanobis (Xu & Tian, 2015).

Reis (2001) apresenta quatro categorias de índice de semelhança: coeficientes de

correlação, medidas de distância, coeficientes de associação e medidas de semelhança

probabilística. As medidas de distância traduzem melhor o conceito de proximidade

geométrica comparativamente aos outros três tipos de índices pelo que estas medidas são

o tipo de índice de semelhança mais utilizado (Hair, 2010).

A medida que será utilizada no capítulo respeitante ao estudo empírico para a

construção da matriz de proximidades é a distância Euclideana, dada a popularidade e

simplicidade desta medida. Esta medida corresponde à distância entre dois pontos 𝑖 e 𝑘 e

é calculada da seguinte forma:

𝑑𝑖𝑘 = √∑(𝑋𝑖𝑗 − 𝑋𝑘𝑗)2

𝑝

𝑗=1

O quarto passo do processo corresponde à escolha de um algoritmo de

agrupamento. Os agrupamentos podem ser organizados seguindo diversas estruturas a

partir da aplicação dos algoritmos. Jain et al. (1999) distinguem duas abordagens ao nível

da análise classificatória: hierárquica e não hierárquica. A classificação hierárquica

consiste numa sequência de partições encaixadas dos elementos e é baseada em métodos

aglomerativos (ou ascendentes) ou divisivos (ou descendentes). O método denomina-se

por aglomerativo se, inicialmente, cada elemento representa um grupo e, ao longo do

processo, os grupos vão sendo aglomerados até ser formado um único cluster com todos

os elementos; e é divisivo se se parte de um único grupo e, no final do processo, se

obtiverem tantos clusters quanto os elementos do conjunto a analisar. A aglomeração dos

grupos, no primeiro caso, ou a subdivisão, no segundo caso, têm por base uma matriz de

proximidades.

A sequência de partições numa hierarquia pode ser representada por um

dendograma, um tipo de diagrama que apresenta grande eficiência e utilidade em questões

de classificação, comparação e análise de agrupamentos.

20

Por sua vez, a classificação não-hierárquica é um processo iterativo que permite a

atribuição de um elemento a um grupo diferente do inicialmente definido, ao contrário da

classificação hierárquica, onde isso não acontece. Num método de classificação não-

hierárquica é fixado, à partida, um número 𝑘 de grupos em que se subdividem as

observações. As observações vão sendo movidas entre as diferentes classes segundo

algum critério, com o objetivo de maximizar a homogeneidade das classes.

Este tipo de métodos apresenta vantagem na facilidade de tratamento de matrizes

de dados de grande dimensão, uma vez que não é necessário calcular a matriz de

dissemelhança completa em cada etapa do algoritmo. No entanto, a necessidade da

definição do número de clusters a priori constitui uma desvantagem, dado que, em geral,

desconhecemos a estrutura dos dados. A solução passa pela definição do número de

clusters a partir da aplicação de métodos hierárquicos ou considerando o conhecimento

do investigador. Existem vários métodos de classificação não hierárquica, neste estudo

serão aplicados os métodos K-Médias (MacQueen, 1967) e DBSCAN (Ester, 1996),

detalhados nas secções 2.2 e 2.3.

O último passo da análise classificatória diz respeito à validação dos resultados

obtidos. Na literatura são apontados inúmeros algoritmos de clustering, no entanto não

existe um algoritmo que seja o melhor para todos os problemas. A validação dos

resultados tem por objetivo avaliar se os resultados da análise classificatória captam

efetivamente a estrutura dos dados. A validação pode ser feita de uma forma quantitativa,

utilizando, para isso, um índice ou critério de validação. Jain e Dune (1988) definem três

tipos de critérios de validação da estrutura de clustering:

Critérios externos – estes critérios baseiam-se na comparação dos

agrupamentos que resultaram do algoritmo com informação obtida a

priori. Os problemas de análise classificatória, à partida, não terão uma

solução conhecida, dada a sua natureza não supervisionada. No entanto,

os agrupamentos podem ser comparados com partições resultantes do

conhecimento do investigador, de classificações conhecidas quando se

usam as bases de dados públicas e do reconhecimento de clusters naturais;

Critérios internos – ao contrário dos anteriores, estes critérios não usam

informação externa e a estrutura é validada utilizando os próprios dados;

21

Critérios relativos – estes critérios comparam estruturas de dados obtidas

por diferentes algoritmos de clustering.

2.2 Método das K-Médias

O algoritmo K-Médias (MacQueen, 1967) é um algoritmo de classificação não

hierárquica que se caracteriza pela sua popularidade e simplicidade e cujo objetivo se

prende na determinação de uma partição num número de classes determinado a priori, de

forma a minimizar a distância das observações ao centro da respetiva classe, centróide,

iterativamente. O centróide do grupo é calculado pela média aritmética dos valores de

atributos dos objetos pertencentes a cada classe.

O algoritmo consiste nas seguintes etapas:

1. Inicialização: Escolher 𝑘 elementos distintos para centros iniciais dos grupos

(possivelmente, de forma aleatória);

2. Para cada um dos restantes 𝑛 − 𝑘 indivíduos:

a. Alocar ao grupo de cujo centróide se encontra mais próximo;

b. Recalcular o centróide do grupo;

3. Depois de se terem alocados todos os elementos, o método pode ser iterado,

realocando os indivíduos um a um e ajustando, em cada etapa, o centróide da

classe de origem e da classe de chegada.

Este método tem por objetivo a minimização da inércia intra-classes, em que em

cada etapa é obtida uma nova partição em que a inércia intra-classes é inferior à inércia

intra-classes da partição anterior. Pretende-se, assim, minimizar a soma do quadrado dos

desvios de cada indivíduo da classe, 𝑋𝑗𝑢, ao centróide dessa classe, ��𝑗:

𝑚𝑖𝑛 ∑ ∑(𝑋𝑗𝑢 − ��𝑗)2

𝑛𝑗

𝑢=1

𝑘

𝑗=1

Em contraste com os métodos hierárquicos, que utilizam as matrizes de

proximidade, este algoritmo opera sobre uma matriz de dados. No entanto é necessário

apurar as distâncias entre os centróides e as observações, cujo cálculo é, geralmente, feito

através da distância Euclideana.

22

O algoritmo das K-Médias pressupõe a escolha prévia do número de grupos pelo

investigador. O número escolhido pode afetar a qualidade dos resultados na medida em

que um número pequeno demais pode causar a junção de dois clusters naturais, enquanto

um número demasiado grande pode fazer com que cluster natural seja repartido entre

vários clusters. A escolha do número de clusters e dos centróides iniciais exerce uma

grande influência na solução final. O procedimento habitual consiste em aplicar o método

fazendo variar o número de clusters, e avaliar as diferentes partições obtidas. Em cada

caso, fazem-se repetidas inicializações, retendo a melhor solução em termos do critério a

optimizar.

Este algoritmo enfatiza a importância da homogeneidade dentro dos grupos e,

apesar de apresentar vantagens como a aplicabilidade a conjuntos de dados muito grandes

e a eficiência, o algoritmo apresenta também limitações, como o facto de não identificar

clusters de tamanhos e densidades muitos diferentes ou clusters não esféricos.

2.3 Método DBSCAN

O algoritmo DBSCAN (Ester, 1996), Density Based Spatial Clustering of

Application with Noise, é um método de classificação não hierárquica baseado na

densidade. Os métodos baseados na densidade foram desenvolvidos dada a dificuldade

que outros procedimentos apresentam em identificar clusters com um qualquer formato,

contendo ruído e outliers.

Figura 1 - Base de dados (Ester et al., 1996)

A Figura 1 representa um conjunto de dados onde facilmente são identificados

três clusters - dois com forma esférica e outro com um formato arbitrário -, tendo em

23

conta a elevada densidade em três regiões do espaço quando comparado com o resto da

área, que apresenta baixa densidade.

A ideia principal do DBSCAN é que, para cada ponto de um cluster, a vizinhança

determinada por um dado raio Ɛ contenha pelo menos um número mínimo de pontos. Este

algoritmo calcula a densidade à volta de cada ponto numa vizinhança Ɛ - raio máximo da

vizinhança de uma determinada observação - e aplica limites de MinPts - número mínimo

de vizinhos - especificados para determinar os pontos de núcleo, fronteira e ruído,

definidos abaixo. Desta forma, duas observações pertencem a um mesmo cluster se a

distância entre estas for inferior a Eps.

Figura 2 – Objetos centrais 𝑥, de fronteira 𝑦 e ruído 𝑧

Segundo este algoritmo, as observações podem ser classificadas como:

Objetos centrais (core points, em Inglês), quando as observações

pertencem a uma região densa. A densidade relativa de uma observação é

determinada pelo número de observações que se encontram na vizinhança

de raio Ɛ, com centro nessa observação e que tem de exceder um limiar,

MinPts. Na Figura 2 b), 𝑥 é um objeto central, uma vez que o número de

vizinhos é igual a 6;

Objetos de fronteira (border points, em Inglês), se a observação tiver

menos vizinhos que MinPts mas pertencer à vizinhança de um objeto

central, como é o caso da observação 𝑦, Figura 2 b);

Ruído (noise, em Inglês), quando as observações se encontram em regiões

de baixa densidade, 𝑧. Estas observações não fazem parte de nenhum

cluster.

De seguida, descreve-se formalmente o algoritmo:

24

1. Fixar os valores de Ɛ e MinPts;

2. Classificar todas as observações como objetos centrais, de fronteira ou ruído;

3. Eliminar as observações identificadas como ruído;

4. Agrupar todos os objetos centrais que se encontrem a uma distância menor

que Ɛ;

5. Identificar cada grupo de objetos centrais agrupados anteriormente como

clusters diferentes;

6. Atribuir cada objeto de fronteira a um cluster que contenha os objetos centrais

associados.

Este algoritmo apresenta como vantagens a eficiência no tratamento de grandes

bases de dados, a insensibilidade a ruído, a identificação de clusters de formato arbitrário

e, ainda, o facto de não ser necessária a definição de um número de clusters a priori. No

entanto, também apresenta desvantagens como a sensibilidade relativa à definição dos

parâmetros Ɛ e MinPts e o elevado tempo para identificar os vizinhos mais próximos em

bases de dados de elevada dimensão, pois têm de ser calculadas medidas de

dissemelhança entre todos os pares de observações.

2.4 Medidas de avaliação interna

Como mencionado acima, a última fase da análise classificatória corresponde à

validação dos resultados, que pode ser feita recorrendo à definição de um indicador de

avaliação (Ferrari & De Castro, 2012; Xu & Tian, 2015). Neste estudo serão utilizados

critérios relativos, terceiro tipo de critérios de validação sugeridos por Jain e Dune (1988),

pois estas medidas de avaliação permitem a comparação das partições de forma a

identificar a que melhor se adequa.

Rousseeuw P. (1987) apresenta o coeficiente de silhueta como uma proposta de

avaliação de métodos de partição. Kirkland e Iglesia (2013) referem o critério de razão

das variâncias, que é uma medida semelhante à inércia explicada. Estas medidas

apresentam-se de seguida e serão as utilizadas para avaliar a partição obtida pelos

algoritmos K-Médias e DBSCAN no estudo empírico.

25

2.4.1 Coeficiente de Silhueta

O coeficiente de silhueta é uma medida de validação interna que estima a distância

média entre os clusters. Esta medida combina a coesão e a separação e é calculada a partir

da seguinte fórmula:

𝑠𝑖 =𝑏𝑖 − 𝑎𝑖

max(𝑎𝑖, 𝑏𝑖)

Para cada indivíduo, calcula-se a dissemelhança média, 𝑎𝑖, entre o indivíduo 𝑖 e

todos os outros elementos do cluster a que esta observação pertence, 𝐶𝑖. De seguida,

calcula-se a dissemelhança média, 𝑏𝑖, entre o indivíduo 𝑖 e todos os elementos

pertencentes a clusters diferentes de 𝐶𝑖. O coeficiente de silhueta de um cluster é a média

do coeficiente de silhueta dos elementos desse cluster e o coeficiente de silhueta da

partição é a média do coeficiente de silhueta de todas os elementos do conjunto em

análise.

O valor do coeficiente de silhueta varia entre -1 e 1. Valores negativos são

indesejáveis, uma vez que o coeficiente de silhueta é negativo quando 𝑎𝑖 > 𝑏𝑖, ou seja,

quando a distância média entre um indivíduo e todos os elementos do mesmo cluster é

maior que a distância média do indivíduo a todos os elementos de todos os outros clusters.

Assim, deseja-se que o coeficiente de silhueta seja positivo, 𝑎𝑖 < 𝑏𝑖 e que 𝑎𝑖 seja o mais

baixo possível dado que coeficiente de silhueta de um indivíduo 𝑖 atinge o seu máximo,

1, quando 𝑎𝑖 = 0.

2.4.2 Inércia Explicada

A inércia total, 𝑇, de um conjunto de elementos define-se como a média das

distâncias quadráticas de cada elemento, 𝐼𝑖, ao centróide (centro de gravidade), 𝑔, do

conjunto.

𝑇 =1

𝑛∑ 𝑑2(𝐼𝑖, 𝑔)

𝑛

𝑖=1

A inércia intra-classes, 𝑊, é o somatório dos quadrados dos desvios dentro das

classes e corresponde à média das distâncias quadráticas de cada elemento de um cluster

ℎ ao centróide desse cluster, 𝑔ℎ.

26

𝑊 =1

𝑛∑ ∑ 𝑑2(𝐼, 𝑔ℎ)

𝐼 ∈ 𝐶ℎ

𝑘

ℎ=1

A inércia inter-classes, 𝐵, é a soma dos quadrados dos desvios entre as classes,

que se calcula pela média da distância quadrática entre os centróides das variáveis dos

clusters e o centróide do conjunto multiplicado pelo cardinal da classe, 𝑛ℎ.

𝐵 =1

𝑛∑ 𝑛ℎ𝑑2(𝑔ℎ, 𝑔)

𝑘

ℎ=1

É fácil mostrar que 𝑇 = 𝑊 + 𝐵, isto é, a inércia total de um conjunto de dados

pode ser decomposta numa parcela que mede a dispersão intra-classes e uma parcela que

mede a separação das classes.

A inércia explicada corresponde ao quociente entre a inércia inter-classes e a

inércia total.

𝐼𝑛é𝑟𝑐𝑖𝑎 𝐸𝑥𝑝𝑙𝑖𝑐𝑎𝑑𝑎 = 𝐵

𝑇

Maximizar a inércia explicada passa pela minimização da inércia intra-classes, 𝑊,

que mede a dispersão das classes e pela maximização da inércia inter-classes, que mede

a separação das mesmas.

Esta medida de avaliação representa a percentagem de variabilidade explicada

pela partição e pode variar entre 0 e 1. Pretende-se que o valor seja tão próximo de 1

quanto possível, dado que valores próximos de 1 indicam maior homogeneidade e melhor

separação das classes e, por isso, indicam uma melhor partição.

27

3 Meta-aprendizagem

Neste capítulo, irá ser abordado o conceito de meta-aprendizagem e será feita uma

apresentação mais detalhada dos tipos de meta-características. Irá ser apresentada a

abordagem do landmarking que será utilizada no estudo empírico, subsampling

landmarkers. Além destes assuntos, irá ser descrita a análise discriminante linear e o

Random Forest, métodos que serão utilizados posteriormente no estudo empírico.

3.1 Definição de Meta-aprendizagem

No seu dia-a-dia, as empresas recebem um grande volume de informação

proveniente das redes sociais, entidades financeiras, indústrias, etc. De modo a ser útil

para posterior análise e tomada de decisão, torna-se necessário que esta informação seja

tratada, isto é, que se extraia conhecimento a partir dos dados, através do reconhecimento

de padrões e associações no conjunto de dados, usando algoritmos de aprendizagem.

No entanto, existe uma enorme variedade de algoritmos disponíveis e, na

literatura, os diversos autores concordam acerca da inexistência de um algoritmo que

apresente sempre o melhor desempenho quando aplicado a um qualquer conjunto de

dados (Smith-Miles, 2008). Desta forma, perante um determinado problema, a melhor

alternativa seria executar todos os algoritmos e escolher aquele que atingisse melhor

desempenho (Kanda, 2011). Este procedimento pressupõe um grande consumo de tempo

e complexidade computacional, conduzindo à necessidade de serem desenvolvidos

métodos que reduzam o número de alternativas a serem experimentadas (Brazdil, Giraud-

Carrier, Soares, & Vilalta, 2009).

Este problema foi já reconhecido por Rice, J.R., em 1976, onde o autor postulava

o Problema de Seleção de Algoritmo, mapeando através de uma função a relação entre o

desempenho de um algoritmo e as características dos dados em análise. O sistema de

recomendação de algoritmo integra o processo de extração de conhecimento de dados,

funcionando como uma ferramenta de suporte aos utilizadores na escolha do algoritmo.

No entanto, tem vindo a ser frisada a falta de linhas orientadoras aos utilizadores relativas

à seleção do algoritmo com melhor desempenho a aplicar a determinado conjunto de

dados com certas características (Brazdil, Giraud-Carrier, Soares, & Vilalta, 2009).

28

Assim, para guiar automaticamente o utilizador na escolha de um modelo ou

combinação de modelos a aplicar numa base de dados, é obtido conhecimento através de

experiências passadas. Ou seja, através do desempenho de algoritmos em conjuntos de

dados anteriores, é possível perceber qual o melhor algoritmo a ser executado numa certa

base de dados com determinadas características, uma vez que se espera que os algoritmos

apresentem desempenhos similares quando aplicados a bases de dados com características

semelhantes. Estamos assim no campo da meta-aprendizagem (Vilalta & Drissi, 2002;

Giraud-Carrier, Vilalta, & Brazdil, 2004; Brazdil, Giraud-Carrier, Soares, & Vilalta,

2009).

O termo meta-aprendizagem surgiu, pela primeira vez, na área de Psicologia

Educacional, contudo só no século XX começa a aparecer na literatura de aprendizagem

automática (Lemke, Budka, & Gabrys, 2015). Nesta dissertação, irá ser utilizado o

conceito de meta-aprendizagem aplicado ao contexto de extração de conhecimento dos

dados.

Brazdil et al. (2009) definem meta-aprendizagem como o estudo de métodos que

exploram meta-conhecimento para obter modelos e soluções eficientes, adaptando os

processos de aprendizagem automática e data mining. A afirmação de que a meta-

aprendizagem está firmemente ligada ao processo de aquisição e exploração de meta-

conhecimento é consensual entre os investigadores da área (Giraud-Carrier, Vilalta, &

Brazdil, 2004; Brazdil, Giraud-Carrier, Soares, & Vilalta, 2009; Lemke, Budka, &

Gabrys, 2015). Giraud-Carrier et al. (2004) definiram meta-conhecimento como qualquer

tipo de conhecimento sobre aprendizagem automática resultante da implementação de um

determinado sistema de aprendizagem, que pode ser um algoritmo de aprendizagem

simples ou um conjunto de diferentes algoritmos de aprendizagem aplicados a um mesmo

problema.

Importa, agora, distinguir a aprendizagem ao nível base e a aprendizagem ao nível

meta, a meta-aprendizagem. No primeiro caso, é obtido conhecimento relativo a um só

conjunto de dados, isto é, acumula-se experiência a partir de uma tarefa de aprendizagem

específica, enquanto no segundo caso cada exemplo do conjunto em que o algoritmo vai

operar corresponde a um conjunto de dados, por isso é acumulada experiência relativa ao

desempenho de múltiplas aplicações do sistema de aprendizagem.

29

A Figura 3 ilustra o processo de meta-aprendizagem para recomendação de

algoritmo e representa bem a diferença entre estes dois tipos de aprendizagem: a

aprendizagem ao nível base na parte superior da Figura e a meta-aprendizagem na parte

inferior da Figura (Brazdil, Giraud-Carrier, Soares, & Vilalta, 2009).

Figura 3 – Processo da meta-aprendizagem para recomendação de algoritmo (Brazdil, Giraud-Carrier, Soares, &

Vilalta, 2009)

Num primeiro momento são recolhidos muitos conjuntos de dados, aos quais vão

ser aplicados vários algoritmos. O desempenho destes algoritmos é avaliado segundo as

medidas selecionadas. Paralelamente, são recolhidas propriedades dos conjuntos de dados

que os caracterizam, denominadas por meta-características (metafeatures, em Inglês), que

são armazenadas na meta base de dados. As meta-características revestem-se de elevada

importância e serão descritas mais pormenorizadamente na secção 3.1.1.. A meta base de

dados é constituída por meta-exemplos, que correspondem aos conjuntos de dados

inicialmente recolhidos. Cada meta-exemplo indica as meta-características e o meta-

atributo-objetivo (meta-target, em Inglês), que indica o algoritmo que obteve melhor

desempenho no nível base.

Depois de construída a meta base de dados, o objetivo prende-se na obtenção de

meta-conhecimento através da construção de um modelo que relacione as características

dos dados com o desempenho dos algoritmos para que, perante um novo conjunto de

dados, seja possível indicar o melhor algoritmo, de acordo com as características dos

dados. Desta forma, considerando-se 𝑘 algoritmos de clustering, os exemplos vão sendo

etiquetados com o nome de um desses algoritmos, nomeadamente aquele que tiver

30

alcançado melhor desempenho no sentido da medida selecionada. A meta base de dados

assim construída representa um problema de classificação.

No estudo empírico da presente dissertação os algoritmos que serão utilizados

para modelar a relação entre as características dos dados e o desempenho dos algoritmos

são a análise discriminante linear e o Random Forest, dada a popularidade dos dois

métodos.

Os algoritmos de classificação usados no nível meta são designados por vários

autores como meta-learners ou meta-algoritmos (Ferrari & De Castro, 2012). Soares et

al., (2009) definem um meta-learner como um sistema responsável por adquirir

conhecimento a partir de um conjunto de meta-exemplos (meta-características e

desempenho dos algoritmos) e capaz de sugerir algoritmos para novos problemas.

Nos estudos realizados à volta deste tema, foi identificada uma propriedade

importante a ter em conta neste processo: as áreas de conhecimento ou regiões de

especialização. Bensusan e Giraud-Carrier (2000a) definem este conceito como um

conjunto de problemas onde um algoritmo apresenta um bom desempenho. Assim,

diferentes algoritmos de aprendizagem têm diferentes áreas de conhecimento nos

conjuntos de dados.

3.1.1 Meta-características

Como já foi mencionado, o algoritmo que será recomendado a aplicar num novo

conjunto de dados depende da semelhança entre as suas características e as características

de um conjunto de dados já analisado. Assim, as meta-características tornam-se essenciais

no processo acima mencionado, uma vez que a construção do modelo depende das meta-

características e do desempenho dos algoritmos. A extração de meta-características deve

ser representativa do domínio do problema e, dada a sua importância, este campo tem

merecido alguma atenção por parte dos investigadores (Lemke, Budka, & Gabrys, 2015).

Como ilustrado na Figura 3, as meta-características são extraídas a partir dos

dados iniciais e são armazenadas na meta base de dados (Brazdil, Giraud-Carrier, Soares,

& Vilalta, 2009). Inicialmente, a literatura definia três grupos distintos de meta-

características, muitas vezes denominadas por caracterização direta (Brazdil, Gama, &

31

Henery, 1994, Gama & Brazdil, 1995; Vilalta, 1999; Brazdil, Giraud-Carrier, Soares, &

Vilalta, 2009; Ferrari e Castro, 2015):

medidas simples - por exemplo, o número de exemplos do conjunto de

dados, número de atributos e número de classes;

estatísticas – medidas como o valor médio de correlação entre atributos, a

assimetria e a curtose;

baseadas na teoria da informação – por exemplo, a entropia média dos

atributos e a média da informação mútua de classes e atributos.

Posteriormente, foram propostas outras abordagens:

caracterização baseada no modelo – que corresponde a um modelo

induzido a partir de um conjunto de dados e, com base nas propriedades

do modelo, definem-se as meta-características (Brazdil, Giraud-Carrier,

Soares, & Vilalta, 2009). Peng et al. (2002) propuseram 15 medidas

geradas a partir das propriedades das árvores de decisão, nomeadamente o

número de nós e folhas e a largura;

landmarking – que será abordada pormenorizadamente na secção 3.2., por

se tratar do objeto de estudo desta dissertação (Brazdil, Giraud-Carrier,

Soares, & Vilalta, 2009).

Uma vasta maioria das publicações investiga a extração de características na

forma de medidas estatísticas e baseadas na teoria da informação (Brazdil, Giraud-

Carrier, Soares, & Vilalta, 2009; Lemke, Budka, & Gabrys, 2015). No entanto, Brazdil et

al. (2008) e Reif et al. (2014), utilizam nos seus trabalhos meta-características dos cinco

grupos: simples, estatísticas, baseadas na teoria da informação, baseadas em modelos e

landmarking. Pfahringer et al. (2000a) afirmam que não há consenso quanto à estratégia

mais adequada para a meta-aprendizagem.

O problema da recomendação de algoritmo tem vindo a ser abordado em muitos

projetos de investigação europeus que apresentam resultados tangíveis, como é o caso do

ML Toolbox, o Statlog project, o MetaL project e o MiningMart. (Giraud-Carrier, Vilalta,

& Brazdil, 2004; Brazdil, Giraud-Carrier, Soares, & Vilalta, 2009). O projeto Statlog

decorreu entre 1991 e 1994 e apresentou como objetivo a descrição de um conjunto de

32

dados em termos de propriedades informacionais e estatísticas, usando, para isso, 15

características (Peng, Flach, Soares, & Brazdil, 2002). Os principais resultados deste

projeto estão latentes no livro de Michie et al. (1994), onde são apresentadas as meta-

características usadas, categorizadas nas classes acima definidas. As meta-características

descritas neste projeto são tomadas como padrão pela comunidade na caracterização de

problemas de classificação (Peng, Flach, Soares, & Brazdil, 2002).

Entre 1998 e 2001, decorreu o projeto MetaL (Meta-learning assistant for

providing user support in machine learning and data mining), que se centrou na

investigação de abordagens de seleção de modelos e combinação de métodos. Como

resultado deste projeto foi apresentado o data mining advisor, um sistema na web que

providencia rankings de algoritmos de classificação (Smith-Miles, 2008; Lemke, Budka,

& Gabrys, 2015). Neste projeto foram utilizadas outras medidas, além das definidas no

projeto Statlog como o número de atributos nominais e numéricos (simples); número de

atributos com outliers e valor da estatística de Lambda de Wilks (estatísticas) e entropia

conjunta de classe e atributos (informacionais) (Souza, 2011).

3.2 Landmarking

O landmarking é uma abordagem de meta-aprendizagem, proveniente do projeto

MetaL, cujo objetivo se centra na rápida estimativa do desempenho de um algoritmo num

determinado conjunto de dados, de uma forma mais simples, intuitiva e eficaz (Bensusan

and Giraud-Carrier, 2000b; Pfahringer, Bensusan, & Giraud-Carrier, 2000b; Fürnkranz

& Petrak, 2001; Brazdil, Giraud-Carrier, Soares, & Vilalta, 2009).

Estas características podem ser obtidas de duas formas: através da simplificação

de algoritmos como, por exemplo, as árvores de decisão, num contexto de classificação,

que são aplicados diretamente ao problema e cuja caracterização é obtida pela

determinação da precisão deste algoritmo (Ferrari & De Castro, 2015); ou por uma

abordagem denominada de subsampling landmarkers, onde os landmarkers

correspondem às estimativas do desempenho dos algoritmos quando aplicados a amostras

dos dados, reduzindo assim o esforço computacional (Petrak, 2000; Fürnkranz & Petrak,

2001).

33

É importante aqui relembrar o conceito de áreas de conhecimento abordadas na

secção 3.1. As regiões de especialização de algoritmos complexos podem ser descritas

pela identificação de áreas de conhecimento de algoritmos mais simples, isto é, se um

decision stump (versão simplificada do algoritmo árvores de decisão) obtiver um bom

desempenho num determinado conjunto de dados avaliado por certa medida, então é

expectável que a árvore de decisão também obtenha um bom desempenho nesse conjunto

de dados se avaliado pela mesma medida.

Por outro lado, também se espera que a área de conhecimento de um algoritmo

nos dados completos, à partida, corresponda, de forma justa, à região de especialização

do mesmo algoritmo em amostras desses conjuntos de dados, isto é, se um algoritmo

apresenta um bom desempenho num conjunto de dados é expectável que também

apresente um bom desempenho numa amostra desse mesmo conjunto de dados

(Pfahringer, Bensusan, & Giraud-Carrier, 2000b; Fürnkraz and Petrak, 2001).

Nos trabalhos realizados relativos à abordagem que sugere a simplificação de

algoritmos, os landmarkers utilizados centram-se maioritariamente na simplificação das

árvores de decisão. No entanto, também podemos encontrar alguns landmarkers relativos

ao uso de algoritmos computacionalmente pouco pesados como, por exemplo, o Naives

Bayes, e a análise discriminante linear (Bensusan & Giraud-Carrier, 2000a; Bensusan, &

Giraud-Carrier, 2000b; Pfahringer et al., 2000 a); (Pfahringer, Bensusan, & Giraud-

Carrier, 2000b; Fürnkraz and Petrak, 2001; Balte, Pise, & Kulkarni 2014).

3.2.1 Subsampling landmarkers

O subsampling landmarkers é a abordagem na qual se centra esta dissertação.

Como já foi referido, este tipo de meta-característica consiste na estimação rápida do

desempenho dos algoritmos, uma vez que os algoritmos são executados numa amostra do

conjunto de dados (Fürnkraz and Petrak, 2001).

As amostras são extraídas do conjunto de dados sobre o qual se pretende obter o

desempenho do algoritmo. As amostras podem ser obtidas segundo dois critérios:

tamanho fixo (por exemplo, 100 ou 200 observações), ou a determinação uma

percentagem (e.g., 10% do número de observações do conjunto de dados).

34

O desempenho dos algoritmos pode ser avaliado segundo qualquer medida,

normalmente, é apresentado de uma forma absoluta: o desempenho do algoritmo K-

Médias avaliado pela inércia explicada é de 0.92, ou seja, 92%. No entanto, esta

representação do desempenho nem sempre é a mais favorável. Atentemos no seguinte

quadro:

Tabela 1 – Recomendação de algoritmo (Fürnkranz, Petrak, Brazil, & Soares, 2002)

Esta tabela apresenta uma meta base de dados com quatro conjuntos de dados,

caracterizados por dois landmarkers, 1 e 2, cujo objetivo é a previsão do melhor algoritmo

a ser utilizado, A ou B. Numa observação isolada do desempenho dos landmarkers,

conclui-se que estes obtiveram melhores resultados nos dois primeiros conjuntos de dados

e que nenhum dos dois deverá recomendar o algoritmo a ser utilizado dado o baixo

desempenho de ambos nos conjunto de dados 3 e 4. No entanto, comparando os

desempenhos dos dois landmarkers, apercebemo-nos que as regiões de especialização

dos algoritmos estão correlacionadas com as regiões de especialização dos landmarkers,

pois o algoritmo A deverá ser recomendado quando o landmarker 1 apresenta melhor

desempenho do que o landmarker 2 e o algoritmo B deverá ser recomendado na situação

inversa (Fürnkranz and Petrak, 2001).

Assim sendo, Fürnkranz and Petrak (2001) abordam uma variante desta nova

classe de meta-características, designadamente o relative landmarking, onde os valores

absolutos de desempenho são substituídos pela relação entre esses mesmos valores. De

seguida, apresentam-se as várias formas de representação do landmarking (Fürnkranz and

Petrak, 2001; Fürnkranz, Petrak, Brazdil, & Soares, 2002; Balte, Pise, & Kulkarni 2014):

Absoluta (LM): técnica tradicional que indica o valor da medida usada

para avaliar o desempenho do landmarker;

Ranks (RM): os landmarkers são classificados tendo em conta o seu

desempenho, de tal modo que o landmarker que obteve melhor

35

desempenho se situa em primeiro lugar, o que teve o segundo melhor

desempenho, em segundo lugar, e assim sucessivamente;

Ordem (OR): organiza os landmarkers por ordem de desempenho;

Pairwise (RL): é utilizada a comparação entre o desempenho de pares de

landmarkers. Assim, no caso em que o desempenho do primeiro

landmarker seja superior, é atribuído +1 à relação; no caso inverso, a

relação é pontuada com -1;

Rácios (RT): esta representação assemelha-se à anterior, na medida em

que se utilizam pares de landmarkers, o resultado é o quociente entre a

medida do landmarker com melhor desempenho sobre a medida do outro

landmarker.

A forma de representação mais utilizada em trabalhos é a pairwise, no entanto,

em alguns problemas, pode ser mais adequada a utilização de outras formas de

landmarking (Petrak, 2000; Balte, Pise, & Kulkarni, 2014).

Os trabalhos realizados nesta área revelam que os resultados obtidos com o uso

dos landmarkers como meta-características são, a maior parte das vezes, comparáveis

com os resultados das características tradicionais como a teoria da informação

(Pfahringer, Bensusan, & Giraud-Carrier, 2000a). Balte et al. (2014) sugerem que se

comparem com outras meta-características - simples, estatísticas ou baseados nos

modelos – em trabalhos futuros.

3.3 Análise Discriminante Linear

Depois da construção da meta base de dados, como referido, torna-se necessária a

modelação da relação entre as características e o desempenho dos algoritmos para

posterior classificação de um novo conjunto de dados. Um dos modelos a utilizar no

estudo empírico desta dissertação será a análise discriminante linear.

A análise discriminante surgiu pela primeira vez na Botânica com o objetivo de

distinguir as plantas tendo em conta certas características como o tamanho e tipo de

folhas, de modo a classificar novas plantas (Fisher, 1936). No entanto, a sua utilização

rapidamente se generalizou a outros campos de estudo (Reis, 2001).

36

Esta técnica de análise multivariada tem por objetivo identificar as variáveis que

permitem discriminar populações e classificar novos indivíduos em populações já

definidas. Para isso são utilizadas combinações lineares das variáveis, denominadas por

funções discriminantes (Reis, 2001).

𝑍 = 𝛾1𝑌1 + 𝛾2𝑌2 + ⋯ + 𝛾𝑝𝑌𝑝

em que γ são os coeficientes de ponderação e 𝑌𝑗 são as variáveis discriminantes

não normalizadas. Os coeficientes de ponderação servem para identificar quais as

variáveis que mais contribuem para a discriminação na função discriminante em questão.

O número máximo de funções discriminantes a definir corresponde ao menor

número entre o número de grupos menos 1 e o número de variáveis discriminantes que,

no caso em estudo, será utilizada uma função discriminante pois o número de grupos é

igual a 2, K-Médias ou DBSCAN.

Importa ter em atenção que a análise discriminante considera um conjunto de

pressupostos (Reis, 2001):

1. O conjunto de dados dos quais são constituídos os grupos deve seguir uma

distribuição normal multivariada para as 𝑝 variáveis;

2. A variabilidade deve ser idêntica dentro dos grupos, isto é, as matrizes de

variância e covariância devem ser iguais para todos os grupos.

Além destes pressupostos, deve ser considerado que o número de exemplos deve

ser maior ou igual a 2, o número de exemplos em cada grupo deve ser também maior ou

igual a 2, o número de variáveis deve ser, no máximo, igual ao número de exemplos

menos 2 e, ainda que, as variáveis discriminantes não devem ser combinações lineares

das restantes.

Um dos objetivos da análise discriminante é a possibilidade de classificar novos

indivíduos, que pode ser feita segundo o método cut-off, quando o número de grupos é

igual a 2 (Reis, 2001). Segundo este método, cada exemplo é classificado tendo em conta

se o valor da função discriminante é superior ou inferior ao valor do ponto crítico, 𝑌𝑐.

37

𝑌𝑐 =𝑍1 + 𝑍2

2

em que 𝑍1 e 𝑍2

são as médias da função discriminante nos grupos 1 e 2,

respetivamente.

Assim, se 𝑍 > 𝑌𝑐, o exemplo deve ser classificado no grupo 1; caso contrário, 𝑍 <

𝑌𝑐, o exemplo será afeto ao grupo 2. Se as condições de multinormalidade e igualdade

das matrizes de variância-covariância indicadas acima estiverem verificadas, e, se além

disso, os grupos forem igualmente prováveis e os custos de classificação errada forem

iguais em ambos os casos, esta é a regra ótima que minimiza o valor esperado do custo

de classificação errada.

Para estimar o desempenho do modelo, irá ser utilizado o método leave-one-out

cross validation, um caso específico da validação cruzada. A validação cruzada tem por

objetivo a divisão do conjunto de dados em dois grupos, onde alguns subconjuntos são

utilizados para dados de treino e os restantes para dados de teste, de forma a validar o

modelo. Num conjunto de 𝑛 exemplos, o leave-one-out utiliza um exemplo para teste e

os restantes 𝑛 − 1 exemplos para dados de treino. Este processo é repetido 𝑛 vezes, uma

vez que em cada volta é utilizado um exemplo diferente para teste. Dessa forma, o custo

computacional deste método é elevado e deve ser utilizado em conjunto de dados com

reduzido número de exemplos. No final do processo, o erro é calculado pela proporção

de classificações erradas.

3.4 Random Forest

O algoritmo Random Forest (Breiman, 2001) é utilizado em problemas de

classificação e regressão e usa combinações de árvores de decisões. No início do processo

são extraídas amostras aleatórias do conjunto de dados, a partir das quais são geradas

árvores de decisão. Ao longo do processo, o melhor nó da árvore vai sendo escolhido

tendo em conta as variáveis mais informativas escolhidas a partir de um subconjunto

aleatório de variáveis.

38

No final do processo, este algoritmo produz uma lista das variáveis mais

importantes ao longo do processo, determinada pela importância que essas variáveis

foram tendo no desenvolvimento da árvore.

Este método gera árvores decisões binárias, isto é, cada nó origina dois nós e cada

árvore tem o mesmo peso nas votações.

É um algoritmo vantajoso uma vez que permite analisar com conjuntos de dados

de grande dimensão e porque consegue alcançar bons resultados, mesmo que exista ruído

nas variáveis. No entanto, necessita de muito espaço de memória comparativamente com

outros algoritmos.

3.5 Meta-aprendizagem em Análise Classificatória

No que respeita a problemas de Análise Classificatória, não está estabelecido um

conjunto padrão de características a utilizar, ao contrário do que acontece em problemas

de classificação. De facto, a literatura não apresenta investigações sólidas acerca da

definição de meta-características a serem usadas para caracterizar os dados em tarefas de

clustering (Soares, 2009; Ferrari & Castro, 2012).

Os resultados alcançados com o uso da meta-aprendizagem aplicada a problemas

de Análise Classificatória são, em geral, bons. Apesar de o ranking de algoritmos não

constar do objeto deste estudo, de seguida, serão apresentados alguns estudos com esse

objetivo realizados no âmbito dos algoritmos de Análise Classificatória.

Souto et al. (2008) estudaram 32 conjuntos de dados relativos a vários tipos de

cancro gerados a partir de microarray data. A escolha dos algoritmos foi guiada pela

familiaridade dos especialistas em Biologia, tendo sido considerados 7 algoritmos:

classificação hierárquica com índice do mínimo, índice do máximo, índice das distâncias

médias entre grupos, k-médias, modelos de misturas finitas, spectral clustering e shared

nearest neighbors. Além disso, foram utilizados 8 meta-atributos descritivos e máquinas

de vetores de suporte como meta-learner, tendo em conta a sua maior precisão quando

comparados com redes neuronais e k-vizinhos mais próximos. Concluiu-se que as

classificações geradas por esta proposta têm maior semelhança ao ranking de referência

quando comparado com a default ranking, que é o ranking médio para todos os conjuntos

39

de dados. O ranking de referência representa a ordem correta de modelos de acordo com

o índice de Rand corrigido, a similaridade com ranking obtido foi medida pelo coeficiente

de correlação de Spearman.

Soares (2009) investigou o ranking de algoritmos de clustering num conjunto

alargado de problemas artificiais de análise classificatória. Para isso o autor usou 160

conjuntos de dados artificiais, dos quais foram extraídos dois conjuntos de meta-

características, num total de nove, baseadas em medidas estatísticas. Os algoritmos de

clustering candidatos utilizados foram a classificação hierárquica com o índice do

mínimo, índice do máximo, índice das distâncias médias entre grupos, k-médias, shared

nearest neighbors, modelo de misturas finitas, vizinho mais distante, DB-scan e algoritmo

de x-médias. Foram selecionados os seguintes meta-learners: redes multilayer perceptron

(MLP) e máquinas de vetores de suporte (SVM). A precisão do ranking proposto pelos

meta-learners foi comparado com a do default ranking. Essa precisão foi medida pelo

coeficiente de correlação de Spearman, entre o ranking proposto (seja pelo método

proposto seja o default ranking) e o ranking ideal. O ranking ideal corresponde à ordem

correta dos modelos de acordo com uma medida de desempenho que permite uma

comparação entre os algoritmos de clustering. Concluiu-se que as duas metas bases de

dados que utilizam os dois grupos sugeridos de meta-características são mais

correlacionadas com o ranking ideal do que o default ranking, não sendo evidente a

diferença entre o resultado dos dois meta-learners. Desta forma, conclui-se que os grupos

de meta-características propostos podem ser considerados válidos para descrever tarefas

de aprendizagem artificiais.

Ferrari & Castro (2012) propõem o uso da meta-aprendizagem para recomendação

dos algoritmos de clustering baseados em meta-características descritas na literatura para

problemas de classificação. Assim, utilizam-se 30 conjuntos de dados do repositório UCI,

dos quais foram removidos os objetos com os valores omissos. Foram considerados 10

meta-atributos e 5 algoritmos de análise classificatória: k-médias, classificação

hierárquica com índice do mínimo, índice do máximo, índice da média e self-organizing

feature map. Os 4 meta-learners usados foram o k-vizinhos mais próximos, MLP, árvores

de decisão (CART) e Naive Bayes. Foi utilizado o coeficiente de correlação de Spearman

para medir a semelhança entre o ranking sugerido e o ideal. Concluiu-se que os resultados

40

alcançados com o meta-learner k-vizinhos mais próximos apresentam maior semelhança

com o ranking ideal.

41

4 Estudo Empírico

Neste capítulo pretende-se explorar a meta-aprendizagem no caso concreto do

problema de seleção de algoritmo de Análise Classificatória num caso prático, utilizando

para isso o software R. Os algoritmos de análise classificatória que serão usados são o K-

Médias e o DBSCAN, cujo desempenho será avaliado pelo coeficiente de silhueta e pela

inércia explicada. Nesta abordagem de meta-aprendizagem, serão utilizadas meta-

características baseadas em landmarking, adaptando subsampling landmarkers para

Análise Classificatória.

Assim, neste capítulo são descritos, numa primeira fase, os conjuntos de dados

utilizados, bem como o seu pré-processamento. De seguida, é exposta a metodologia

experimental, os resultados obtidos e a respetiva interpretação.

4.1 Descrição e pré-processamento dos dados

Os dados foram extraídos do repositório UCI segundo os seguintes dois critérios:

ter como função a classificação, a regressão ou o clustering e os dados serem

multivariados. De forma a que sejam atingidos resultados mais fiáveis, é necessário que

seja recolhido um conjunto alargado de conjuntos de dados.

Antes de se passar à fase de estudo, os dados têm de ser previamente preparados,

em particular uniformizando o formato dos conjuntos de dados. Como um dos objetivos

desta dissertação é o estudo de algoritmos de clustering, o atributo classe dos conjuntos

de dados foi eliminado.

De seguida eliminaram-se as colunas categóricas dos conjuntos de dados,

eliminaram-se as colunas cujo valor apresentado era o mesmo para todos os exemplos,

estandardizaram-se os dados e eliminaram-se os exemplos que contivessem valores

omissos. Depois do pré-processamento, alguns conjuntos de dados deixaram de ser

considerados pelo facto de o número de variáveis numéricas e/ou o número de exemplos

não serem representativos para análise. Assim, os conjuntos de dados que apresentassem

um número de variáveis numéricas menor que dois e/ou um número de exemplos menor

que 100 foram excluídos da análise.

42

O estudo recaiu, assim, em 47 conjuntos de dados que se listam na tabela 2:

Conjuntos de dados Nº

Variáveis

Exemplos

Nº de classes

considerado

para o K-

Médias

Eps

Nº de classes

proposto pelo

DBSCAN

abalone 7 4177 28 0,2 31

annealing 10 798 6 1,6 7

auto mpg 8 398 3 0,8 6

automobile 16 205 5 0,8 6

banknote 4 1372 2 0,6 4

blood transfusion 4 748 2 0,6 4

breast cancer 10 699 2 1,6 4

climate model 18 540 2 3,4 3

connectionist sonar 60 208 2 6 3

connectionist vowel 10 990 11 1,7 15

contraceptive 5 1473 3 2,4 4

credit approval 6 690 2 0,7 3

cylinder bands 20 540 2 2,8 4

echocardiogram 11 132 2 1,5 2

ecoli 7 336 8 0,6 7

facebook metrics 18 500 4 0,6 2

flags 21 194 8 2 8

forest type 27 325 4 2,3 3

glass identification 9 214 7 0,7 6

haberman's survival 3 306 2 0,5 2

ilpd 9 583 2 0,7 3

image segmentation 19 210 7 1,6 6

ionosphere 34 351 2 0,7 2

iris 4 150 3 0,2 3

leaf 15 340 30 1,2 11

liver disorders 6 345 2 0,8 2

lsvt 310 126 2 9 2

madelon 500 2000 2 28,3 2

mammographic 2 961 2 0,2 4

mice protein 77 1080 8 2,6 8

parkinsons 22 195 2 1,2 2

pima indians diabetes 8 768 2 1,5 3

qsar 41 1055 2 1,1 2

seeds 7 210 3 0,8 5

skillcraft1 19 3395 8 2,2 7

43

spambase 57 4601 2 4 34

statlog australian 6 690 2 0,6 3

statlog german 7 1000 2 0,2 5

statlog heart 10 270 2 1,2 2

statlog image 19 2310 7 0,1 4

turkiye 32 5820 13 1,9 11

urban 147 507 9 6,8 6

water treatment plant 38 527 13 2,9 7

wilt 5 4339 2 0,9 3

wine 13 178 3 1,5 2

yeast 8 1484 10 0,7 12

zoo 17 101 7 2,1 7

Tabela 2 - Características dos conjuntos de dados: número de variáveis, número de exemplos, número de classes

considerado para o K-Médias, eps e número de classes proposto pelo DBSCAN

4.2 Metodologia Experimental

A abordagem foi testada na seleção de dois algoritmos, K-médias e DBSCAN e

avaliados de acordo com duas medidas de avaliação de desempenho, o coeficiente de

silhueta e a inércia explicada. Foram utilizadas as implementações do package cluster do

algoritmo k-médias e da medida coeficiente de silhueta e as implementações do package

fpc do algoritmo DBSCAN.

Em primeiro lugar, como explicado no capítulo 3, é necessário executar os

algoritmos nos conjuntos de dados recolhidos e avaliar a partição feita por cada uma pelas

medidas de avaliação escolhidas.

O método K-médias carece da definição do número de classes da partição a

construir. Este número varia de acordo com o conjunto de dados e, tendo em conta que

inicialmente foi feita uma recolha do número de classes pré-definidas pelo repositório

UCI para cada conjunto de dados, são usados esses valores para preencher esse parâmetro.

A tabela 2 mostra qual o número de classes utilizado para cada conjunto de dados.

Depois de executado este algoritmo, segue-se a avaliação da partição pelas duas

medidas de avaliação: coeficiente de silhueta, secção 2.4.1, e inércia explicada, secção

2.4.2. Para o cálculo do coeficiente de silhueta foi usada a função silhouette do package

cluster (Rousseeuw, 1987).

44

O segundo algoritmo a ser utilizado é o DBSCAN, que requer dois parâmetros,

eps e MinPts. A definição destes dois valores teve por base a metodologia apresentada

inicialmente por Ester et al., (1996) e reforçado por Sander et al. (1998). Assim, o valor

do parâmetro MinPts é fixado em 4 e, para obter o valor de eps, são calculadas as

distâncias de todos os pontos ao respetivo k-ésimo vizinho mais próximo que, depois de

ordenadas por ordem crescente, se representam graficamente, utilizando o comando

𝑘𝑁𝑁𝑑𝑖𝑠𝑡𝑝𝑙𝑜𝑡(𝑑𝑎𝑡𝑎, 𝑘 = 4), do package DBSCAN. Neste comando é utilizado 𝑘 = 4,

que é o valor padrão da função kNNdistplot do package DBSCAN, do autor Michael

Hahsler. A título de exemplo, apresenta-se o gráfico correspondente ao conjunto de dados

abalone, os gráficos referentes aos restantes conjuntos de dados estão expostos no Anexo

A.

Figura 4 - kNNdistplot(abalone,k=4)

O cotovelo do gráfico indica um bom valor para eps que, neste caso, é 𝑒𝑝𝑠 = 0,2.

Para cada conjunto de dados, a tabela 1 indica o valor de eps utilizado.

É importante referir que a definição destes parâmetros não tem um suporte firme

na literatura. A determinação do valor de eps não é precisa, dado que é feita pela

observação de um ponto no gráfico, o que pode conduzir a valores de eps diferentes.

Assim, o desempenho do algoritmo DBSCAN está fortemente relacionado com a

definição destes parâmetros.

eps=0,2

45

O desempenho dos algoritmos avaliado pelas duas medidas consideradas

encontra-se representado na matriz evaluation no Anexo B. De seguida, apresentam-se as

primeiras linhas deste anexo, a título de exemplo.

Tabela 3 – Desempenho dos algoritmos K-Médias e DBSCAN avaliado pelo Coeficiente de Silhueta e Inércia

Explicada relativo a alguns conjuntos de dados analisados

Temos dois problemas de meta-aprendizagem: a seleção de algoritmo quando o

desempenho é avaliado pelo coeficiente de silhueta e a seleção de algoritmo quando o

desempenho é avaliado pela inércia explicada. Torna-se então necessária a construção de

duas meta bases de dados, que são compostas pelas meta-características e pelo meta-

target.

O meta-target indica o algoritmo que obteve melhor desempenho tendo em conta

a medida em questão, isto é, na meta base de dados relativa ao coeficiente de silhueta, o

meta-target para cada conjunto de dados será o algoritmo que obteve melhor desempenho

na matriz evaluation quando avaliado pelo coeficiente de silhueta; analogamente para a

inércia explicada.

A tabela 4 revela a distribuição das classes nas duas meta bases de dados:

Tabela 4- Distribuição de classes

As classes resultantes da avaliação feita pelo coeficiente de silhueta são bastante

desbalanceadas, como ilustra a tabela 4, ao contrário do que ocorre no caso da inércia

explicada onde o desempenho esperado na previsão da classe maioritária é de cerca de

53,19%.

Coeficiente de Silhueta Inércia Explicada

K-Médias DBSCAN K-Médias DBSCAN

abalone 0,193143225 -0,45407769 0,95353495 0,466350325

annealing 0,210274106 0,382471842 0,4755349 0,571852745

auto mpg 0,337821281 0,170899282 0,66157285 0,727350904

automobile 0,168216889 -0,19424292 0,48414317 0,97878532

DBSCAN K-Médias DBSCAN K-Médias

4 43 25 22

Coeficiente de Silhueta Inércia Explicada

46

4.3 Desenvolvimento das meta-características

Nesta fase do processo são definidas as meta-características, utilizando para isso

a metodologia exposta nos capítulos anteriores, o subsampling landmarking. Tendo em

consideração que o número de exemplos difere bastante entre os vários conjuntos de

dados, a amostragem foi feita tendo por base uma dimensão fixa, especificamente 50, 75

e 100. Os algoritmos de nível base escolhidos (método das K-Médias e o método

DBSCAN) executam-se sobre as amostras de cada conjunto de dados, assim são obtidos

seis landmarkers para cada medida de desempenho.

Importa referir que quando a partição do DBSCAN resulta num só cluster, o valor

do coeficiente de silhueta desses conjuntos foi substituído por -1 e o valor da inércia

explicada por 0.

As meta bases de dados encontram-se representados no Anexo C. Pode-se

perceber que para o conjunto de dados auto mpg, quando a partição é avaliada pelo

coeficiente de silhueta, o algoritmo que apresentou melhor desempenho foi o K-Médias,

no entanto quando a avaliação é feita pela inércia explicada, o algoritmo a selecionar é o

DBSCAN.

4.4 Resultados

Construídas as meta bases de dados, vamos agora utilizar um modelo que

relacione as características dos dados com o desempenho dos algoritmos, de forma a

poder obter uma recomendação para um novo conjunto de dados. Tendo em consideração

a existência de duas meta bases de dados, têm de ser induzidos dois modelos. Para isso

utilizou-se a análise discriminante linear e o Random Forest, considerando as

implementações do package MASS e do package randomForest, respetivamente, e a

metodologia de estimação do desempenho leave-one-out, dado o número reduzido de

exemplos.

Como já foi referido no Capítulo 3, um dos pressupostos da análise discriminante

é a multinormalidade das variáveis. Os histogramas presentes no Anexo D revelam que

este requisito não é cumprido, no entanto, dada a robustez da análise discriminante linear

face a este problema, o método foi mesmo assim utilizado.

47

Conclui-se que a função discriminante das duas meta bases de dados não são

estatisticamente significativa, isto é, não conseguem discriminar bem os dois grupos, K-

Médias e DBSCAN, uma vez que o teste de Lamba de Wilks, revela um 𝑝 − 𝑣𝑎𝑙𝑢𝑒 =

0.428 para a meta base de dados referente ao coeficiente de silhueta e um 𝑝 − 𝑣𝑎𝑙𝑢𝑒 =

0.244 para a meta base de dados relativa à inércia explicada, ou seja, superiores aos níveis

de significância habituais.

Ainda assim, conclui-se que as três variáveis que mais contribuem para a

separação das classes das duas meta base de dados são os landmarkers relacionados com

o DBSCAN: desempenho do DBSCAN numa amostra de 50, 75 e 100 exemplos.

Os resultados da classificação pela análise discriminante linear apresentam-se nas

seguintes matrizes de confusão:

Tabela 5 - Meta matrizes de confusão obtidas pela análise discriminante

As taxas de acerto para o caso do coeficiente de silhueta e da inércia explicada

foram 89,36% e 48,94%, respetivamente, o que indica uma reduzida taxa de sucesso para

os dois índices tendo em conta o desbalanceamento das classes.

Por sua vez, as matrizes de confusão que revelam os resultados da classificação

pelo Random Forest apresentam-se na tabela 6:

Tabela 6 – Meta matrizes de confusão obtidas pelo Random Forest

A taxa de acerto para o coeficiente de silhueta foi de aproximadamente 87,23%,

enquanto a taxa de acerto para o caso da inércia explicada foi cerca de 59,57%. A taxa de

acerto relativa à inércia explicada é superior à que se obteria se se escolhesse a classe

mais frequente (25/47=53,19%).

DBSCAN K-Médias DBSCAN K-Médias

DBSCAN 0 1 DBSCAN 1 0

K-Médias 4 42 K-Médias 24 22

Inércia ExplicadaCoeficiente de Silhueta

DBSCAN K-Médias DBSCAN K-Médias

DBSCAN 0 4 DBSCAN 16 9

K-Médias 2 41 K-Médias 10 12

Inércia ExplicadaCoeficiente de Silhueta

48

Considerando o desequilíbrio das classes nas experiências preliminares relativas

ao coeficiente de silhueta, decidimos focar a análise nos resultados obtidos com a inércia

explicada. Como se pode concluir, a taxa de acerto da inércia explicada aumentou para

cerca de 59,6% quando se utiliza o Random Forest, o que significa uma melhoria de

aproximadamente 6 pontos percentuais face à análise discriminante linear.

Podemos assim concluir que a utilização das meta-características acima

mencionadas indicam resultados promissores na utilização da meta-aprendizagem no

problema de seleção de algoritmo de Análise Classificatória.

49

5 Conclusões

Neste capítulo serão apresentadas as conclusões das experiências realizadas e

expostas no Capítulo 4, bem como sugestões de desenvolvimento de trabalho futuro.

5.1 Conclusões

A utilização da aprendizagem automática tem vindo a crescer nos últimos anos

dada a elevada informação que nos é disponibilizada todos os dias e a grande evolução

da tecnologia. A aprendizagem automática não necessita de intervenção humana na

medida em que são formulados modelos baseados em situações passadas de forma a dar

resposta a novos casos, utilizando para isso algoritmos de aprendizagem.

Um desafio importante prende-se na seleção do algoritmo que apresente melhor

desempenho para um novo conjunto de dados com características desconhecidas, sem que

seja necessária a experimentação de todos os algoritmos, o que levaria a um esforço

computacional desmesurado. Desta forma, é visível a necessidade de linhas orientadoras

que conduzam o utilizador na seleção do algoritmo que apresente melhor desempenho.

A proposta desta dissertação é a utilização de meta-aprendizagem na seleção de

algoritmo, no caso concreto de Análise Classificatória, utilizando meta-características

baseadas em landmarking. Os algoritmos de Análise Classificatória considerados foram

o K-Médias e o DBSCAN e o seu desempenho foi avaliado por medidas como o

coeficiente de silhueta e a proporção de inércia explicada. As meta-características

utilizadas foram subsampling landmarkers, obtidas a partir da avaliação do desempenho

dos algoritmos de aprendizagem em amostras de reduzida dimensão (três valores

considerados), extraídas dos dados originais. No que respeita à modelação das

características com o desempenho dos algoritmos foram utilizadas a análise discriminante

linear e o Random Forest.

As experiências realizadas indicam resultados promissores quando aplicamos a

meta-aprendizagem no problema de seleção de algoritmo: tendo sido feita uma só iteração

no desenvolvimento das meta-características e do número de meta-algoritmos testados, o

desempenho esperado de prever a classe maioritária foi de aproximadamente 60%.

50

5.2 Trabalho Futuro

No desenvolvimento das metas bases de dados, foram utilizados landmarkers

simples, permitindo alcançar um bom resultado na previsão da classificação de novos

casos. Seria interessante aumentar a complexidade das meta-características, o que poderia

conduzir a uma melhoria assinalável dos resultados obtidos.

Por outro lado, dado o desequilíbrio das classes relativo ao coeficiente de silhueta,

uma proposta de trabalho futuro prende-se com a abordagem de técnicas adequadas para

classes desbalanceadas.

Por fim, ao longo do desenvolvimento da parte experimental, foi visível a

dificuldade na definição dos parâmetros do DSBCAN, eps e MinPts. Assim, o

desenvolvimento de uma metodologia que permitisse a definição destes parâmetros de

forma a que fosse facilmente aplicada a qualquer conjunto de dados é, no nosso ponto de

vista, um aspeto fundamental a desenvolver de forma a melhorar os resultados alcançados

com este método.

51

6 Referências

Balte, A., Pise, N., & Kulkarni, P. (2014). Meta-learning with landmarking: A survey.

Journal of Computer Applications, 47-51.

Bensusan, H., & Giraud-Carrier, C. (2000a). Casa Batló is in Passeig de Gràcia or how

landmark performances can describe tasks. Proceedings of the ECML 2000

Workshop on Meta-Learning: Building Automatic Advice Strategies for Model

Selection and Method Combination, (pp. 29-46).

Bensusan, H., & Giraud-Carrier, C. (2000b). Discovering task neighbourhoods through

landmark learning performances. Proceedings of the Fourth European

Conference on Principles of Data Mining and Knowledge Discovery in Databases

(PKDD2000), 325-330.

Brazdil, P., Gama, J., & Henery, B. (1994). Characterizing the applicability of

classification algorithms using meta-level learning. Proceeding of the European

conference on machine learning (pp. 83-102). Catania, Italy: Springer-Verlag

New Yorl, Inc.

Brazdil, P., Giraud-Carrier, C., Soares, C., & Vilalta, R. (2009). Metalearning:

Applications no Data Mining. Springer Science & Business Media.

Breiman, L. (2001). Random Forests. Machine Learning, 5-32.

De Souto, M., Prudencio, R., Soares, R., De Araújo, D., Costa, I., Ludermir, T., &

Schliep, A. (2008). Ranking and selecting clustering algorithms using a meta-

learning approach. Proceedings of the International Joint Conference on Neural

Networks. IEEE .

De Souza, B., Prudêncio, R., & De Carvalho, A. (2001). Meta-Aprendizado para

Recomendação de Algoritmos. Jornadas de atualização em Informática (pp. 159-

208). Rio de Janeiro: PUC Rio.

52

Ester, M., Kriegel, H. P., Sander, J., & Xu, X. (1996). A density-based algorithm for

discovering clusters in large spatial databases with noise. In Kdd Vol. 96, No.

34, 226-231.

Ferrari, D. G., & De Castro, L. N. (2012). Clustering algorithm recommendation: a meta-

learning approach. International Conference on Swarn, Evolutionary, and

Memetic Computing (pp. 143-150). Heidelberg, Berlin: Springer.

Ferrari, D., & De Castro, L. (2015). Clustering algorithm selection by meta-learning

systems: A new distance-based problem characterization and ranking

combination methods. Information Scieces, 301, pp. 181-194.

Fisher, R. A. (1936). The use of multiple measurements in taxonomic problems. Annals

of human genetics, (pp. 179-188).

Fürnkranz, J., & Petrak, J. (2001). An evolution of landmarking variants. Working Notes

of the ECML/PKDD 2000 Workshop on Integrating Aspects of Data Mining,

Decision Support and Meta-Learning, (pp. 57-68).

Fürnkranz, J., Petrak, J., Brazdil, P., & Soares, C. (2002). On the use of fast subsampling

estimates for algorithm recommendation. Technical Report, Austrian Research

Institute for Artificial Intelligence.

Gama, J., & Brazdil, P. (1995). Characterization of classification algorithms. Progress in

Artificial Intelligence, Proceedings of the Seventh Portuguese Conference on

Artificial Intelligence, pp. 189-200.

Giraud-Carrier, C., Vilalta, R., & Brazdil, P. (2004). Introduction to the special issue on

meta-learning. Machine Learning, 54 (3), pp. 187-193.

Hair, J. (2010). Multivariate data analysis: a global perspective. 7th ed. - Upper Saddle

River: Pearson, 2010 - XXVIII 800 p.

Jain, A., & Dubes, R. (1988). Algorithms for clustering data. Prentice-Hall, Inc.

Englewood Cliffs, New Jersey.

53

Jain, A., Murty, M., & Flynn, P. (1999). Data clustering: a review. 31 (3), pp. 264-323.

ACM computing surveys (CSUR).

Kanda, J. (2011). Uso de meta-aprendizado na recomendação de meta-heurísticas para

o problema do caixeiro viajante. USP - São Carlos, Instituto de Ciências

Matemáticas e de Computação.

Kirkland, O., & De La Iglesia, B. (2013). Experimental evaluation of cluster quality

measures. 13th UK Workshop on Computational Intelligence (pp. 236-243).

IEEE.

Lemke, C., Budka, M., & Gabrys, B. (2015). Metalearning: a survey of trends and

technologies. Artificial intelligence review, 44 (1), pp. 117-130.

MacQueen, J. (1967). Some methods for classification and analysis of multivariate

observations. Proceedings of the fifth Berkeley symposium on mathematical

statistics and probability, (pp. 281-297).

Michie, D., Spiegelhalter, D., & Taylor, C. (1994). Machine learning, Neural and

Statistical Classification. Ellis Horwood.

Peng, Y., Flach, P., Soares, C., & Brazdil, P. (2002). Improved dataset characterization

for meta-learning. International Conference on Discovery Science (pp. 141-152).

Springer, Berlin, Heidelberg.

Petrak, J. (2000). Fast subsampling performance estimates for classification algorithm

selection. Proceedings of the ECML-00 Workshop on Meta-Learning: Building

Automatic Advice Strategies for Model Selection and Method Combination, (pp.

3-14).

Pfahringer, B., Bensusan, H., & Giraud-Carrier, C. (2000a). Meta-Learning by

Landmarking Various Learning Algorithms. Proceedings of the Seventeeth

International Conference on Machine Learning, (pp. 743-750).

Pfahringer, B., Bensusan, H., & Giraud-Carrier, C. (2000b). Tell me who can learn you

and I can tell you who you are: Landmarking various learning algorithms.

54

Proceedings of the 17th International Conference on Machine Learning, (pp. 743-

750).

Pinto, F., Soares, C., & Mendes-Moreira, J. (2016). Towards automatic generation of

metafeatures. Pacific-Asia Conference on Knowledge Discovery and Data Mining

(pp. 215-226). Springer International Publishing.

Reif, M., Shafait, F., Goldstein, M., Breuel, T., & Dengel, A. (2014). Automatic classifier

selection for non-experts. Pattern Analysis and Applications, 17 (1), pp. 83-96.

Reis, E. (2001). Estatística Multivariada Aplicada. 2ª ed. rev. e aument. - Sílabo, 343 p.

Rice, J. (1976). The algorithm selection problem. Advances in computers, 15, pp. 65-118.

Rousseeuw, P. J. (1987). Silhouettes: a graphical aid to the interpretation and validation

of cluster analysis. Journal of computational and applied mathematics, 53-65.

Sander, J. E. (1998). Density-based clustering in spatial databases: The algorithm gdbscan

and its application. Data mining and knowledge discovery, (pp. 169-194).

Smith-Miles, K. (2008). Cross-disciplinary perspectives on meta-learning for algorithm

selection. 41 (1), 6, p. 1:25. ACM Computing Surveys (CSUR).

Soares, R. G. (2009). An analysis of meta-learning techniques for ranking clustering

algorithms applied to artificial data . International Conference on Artificial

Neural Networks (pp. 131-140). Springer, Berlin, Heidelberg.

Souza, B. P. (2011). Meta-aprendizado para Recomendação de Algoritmos. Jornada de

Atualização em Informática, (pp. 1-50).

Vilalta, R. (1999). Understanding accuracy performance through concept characterization

and algorithm analysis. Proceedings of the ICML-99 Workshop on Recent

Advances in Meta-Learning and Future Work, (pp. 3-9).

Vilalta, R., & Drissi, Y. (2002). A perspective view and survey of meta-learning.

Artificial Intelligence Review, 18 (2), 77-95.

55

Witten, I., Frank, E., Hall, M., & Pal, C. (2016). Data Mining: Practical machine learning

tools and techniques. Morgan Kaufmann.

Xu, D., & Tian, Y. (2015). A comprehensive survey of clustering algorithms. Annals of

Data Science, 2 (2), pp. 165-193.

56

Anexo A

Figura A. 1 – abalone

Figura A. 2 – annealing

Figura A. 3 - auto mpg

57

Figura A. 4 – automobile

Figura A. 5 – banknote

Figura A. 6 - blood transfusion

58

Figura A. 7 - breast cancer

Figura A. 8 - climate model

Figura A. 9 - connectionist sonar

59

Figura A. 10 - connectionist vowel

Figura A. 11 – contraceptive

Figura A. 12 - credit approval

60

Figura A. 13 - cylinder bands

Figura A. 14 – echocardiogram

Figura A. 15 – ecoli

61

Figura A. 16 - facebook metrics

Figura A. 17 - forest type

Figura A. 18 – flags

62

Figura A. 19 - glass identification

Figura A. 20 - haberman's survival

Figura A. 21 – ilpd

63

Figura A. 22 - image segmentation

Figura A. 23 – ionosphere

Figura A. 24 – iris

64

Figura A. 25 – leaf

Figura A. 26 - liver disorders

Figura A. 27 – lsvt

65

Figura A. 28 – mammographic

Figura A. 29 – madelon

Figura A. 30 - mice protein

66

Figura A. 31 – parkinsons

Figura A. 32 - pima indians diabetes

Figura A. 33 – qsar

67

Figura A. 34 – seeds

Figura A. 35 - skillcraft1

Figura A. 36 – spambase

68

Figura A. 37 - statlog australian

Figura A. 38 - statlog german

Figura A. 39 - statlog heart

69

Figura A. 40 - statlog image

Figura A. 41 – turkiye

Figura A. 42 – urban

70

Figura A. 43 - water treatment plant

Figura A. 44 – wilt

Figura A. 45 – wine

71

Figura A. 46 – yeast

Figura A. 47 - zoo

72

Anexo B

Coeficiente de Silhueta Inércia Explicada

K-Médias DBSCAN K-Médias DBSCAN

abalone 0,193143225 -0,45407769 0,95353495 0,466350325

annealing 0,210274106 0,382471842 0,4755349 0,571852745

auto mpg 0,337821281 0,170899282 0,66157285 0,727350904

automobile 0,168216889 -0,19424292 0,48414317 0,97878532

banknote 0,334996785 0,014174795 0,37075727 0,135757772

blood transfusion 0,463271671 0,231052808 0,37085563 0,080283763

breast cancer 0,501245602 0,369074834 0,50064066 0,601380479

climate model 0,046370275 -0,06773376 0,04864807 0,009582526

connectionist sonar 0,167986007 0,090643293 0,1335286 0,165614936

connectionist vowel 0,173618867 -0,12182831 0,57867446 0,156458641

contraceptive 0,476067924 0,462871993 0,40433417 0,412677627

credit approval 0,453296072 0,004072528 0,20307368 0,043009577

cylinder bands 0,121664689 -0,13102122 0,10450912 0,172895609

echocardiogram 0,236542322 -0,06676189 0,2622924 0,195151917

ecoli 0,231790689 -0,15296506 0,66185737 0,76842712

facebook metrics 0,072317278 -0,27456657 0,31419469 0,806334511

flags 0,143642618 -0,15728158 0,43509715 0,919404424

forest type 0,173391628 -0,07066265 0,44227961 0,090031073

glass identification 0,320944231 -0,09063914 0,64563736 0,805777702

haberman's survival 0,23176912 0,155415856 0,23516053 0,044765649

ilpd 0,202065429 -0,14695091 0,18972196 0,08632218

image segmentation 0,288205805 0,230636114 0,73082258 0,658958658

ionosphere 0,247312548 -0,25791148 0,21557612 0,902262823

iris 0,452071706 0,044436928 0,76505697 0,952083303

leaf 0,241631548 -0,05735844 0,87210192 0,65775543

liver disorders 0,480846416 -0,01307672 0,27723655 0,071107354

lsvt 0,830139205 -0,23300517 0,24558 0,284915644

madelon 0,007648858 -0,02043259 0,00885553 0,001715518

mammographic 0,368759679 0,338493603 0,33768217 0,223450743

mice protein 0,145996872 -0,26865625 0,48325265 0,947911353

parkinsons 0,412156353 -0,18005596 0,34281539 0,919126355

pima indians diabetes 0,177872478 0,25049692 0,16440712 0,14373796

qsar 0,205139066 -0,37042319 0,10540845 0,941331568

seeds 0,400689137 -0,01678007 0,70681912 0,604438656

skillcraft1 0,069021169 -0,1484814 0,38360091 0,015826149

73

spambase 0,699149358 0,033029068 0,07522367 0,360265627

statlog australian 0,44538343 -0,03942865 0,1985119 0,042194513

statlog german 0,203909778 -0,25778899 0,14008456 0,982436269

statlog heart 0,180910053 -0,17029885 0,18649182 0,691446466

statlog image 0,189692417 -0,28360968 0,63998674 0,998918556

turkiye 0,23206418 0,028575957 0,76153366 0,864286216

urban 0,095325945 -0,15001366 0,48104061 0,455135589

water treatment plant 0,079848769 -0,26619513 0,49559843 0,526376783

wilt 0,204050599 0,610722246 0,1733102 0,033340316

wine 0,279593029 -0,07319029 0,4477405 0,552933134

yeast 0,182114335 -0,36598405 0,65516673 0,237483242

zoo 0,266596839 0,277042081 0,64800306 0,867769967 Tabela B. 1 - Coeficiente de Silhueta e Inércia Explicada

74

Anexo C

Tabela C. 1 - Coeficiente de Silhueta

km

ean

ss5

0k

me

an

ss7

5k

me

an

ss1

00

db

scan

s5

0d

bscan

s7

5d

bscan

s1

00

me

ta.ta

rg

et.c

f

abalo

ne

0,2

1004201

0,2

3044788

0,2

44863364

-1-1

-1km

eans

annealin

g0,1

8034844

0,2

8531603

0,3

52778338

0,0

15420396

0,2

69118987

0,3

694121

dbscan

auto

mpg

0,3

3915836

0,3

2309896

0,3

38610783

0,0

42759406

-0,1

38452233

-0,1

2789347

km

eans

auto

mobile

0,2

4308372

0,1

8973179

0,2

02038496

-1-1

-1km

eans

banknote

0,2

2757269

0,3

545115

0,3

3173849

-0,0

39251083

0,1

056245

-0,0

3844047

km

eans

blo

od tra

nsfu

sio

n0,5

7094429

0,4

5415568

0,4

27500049

0,1

91565435

0,2

07867661

0,1

2352113

km

eans

bre

ast c

ancer

0,4

4614629

0,5

2416083

0,5

50083404

-1-1

-1km

eans

clim

ate

model

0,0

7764722

0,0

6324384

0,0

60488961

-1-1

-1km

eans

connectio

nis

t sonar

0,2

4461021

0,1

6117638

0,2

65655975

-0,0

22874697

0,0

03171359

-0,0

1622452

km

eans

connectio

nis

t vow

el

0,1

8267812

0,2

0093677

0,1

66984005

-1-0

,068146826

-0,0

4460504

km

eans

contra

ceptiv

e0,3

0350414

0,5

349081

0,3

96321189

0,4

73504588

0,5

13778648

0,5

7817207

km

eans

cre

dit a

ppro

val

0,4

9127469

0,4

8426298

0,3

62004132

-0,1

15978072

-0,0

16756347

0,0

3828613

km

eans

cylin

der b

ands

0,0

8114116

0,0

8430165

0,1

38144562

-1-1

-1km

eans

echocard

iogra

m0,2

2015348

0,1

6952789

0,2

17535216

-0,1

34668234

-0,0

93634981

-1km

eans

ecoli

0,2

820542

0,3

9253345

0,2

82391798

-1-0

,25250344

-0,1

3799643

km

eans

facebook m

etric

s0,1

6240849

0,0

8411676

0,1

4079642

-1-1

-1km

eans

flags

0,0

3923965

0,0

7854843

0,1

10016566

-1-1

-0,1

9768685

km

eans

fore

st ty

pe

0,1

8397542

0,1

7287404

0,1

93164054

-1-0

,181827775

-0,1

0727388

km

eans

gla

ss id

entific

atio

n0,2

9906729

0,3

9571427

0,3

35354527

-10,0

44061086

-1km

eans

haberm

an's

surv

ival

0,2

6288243

0,2

3631032

0,2

31887647

-0,0

08700391

0,0

83337825

-1km

eans

ilpd

0,2

095585

0,1

8400738

0,1

67353372

-1-0

,223041986

-0,2

2042208

km

eans

image s

egm

enta

tion

0,3

5604774

0,1

8931163

0,1

86085104

0,1

06781786

0,1

9182586

0,2

0106693

km

eans

ionosphere

0,3

734037

0,2

1957305

0,2

12025628

-1-1

-1km

eans

iris0,5

1533449

0,4

3502142

0,4

64075361

-1-1

-1km

eans

leaf

0,2

3887475

0,2

6721205

0,2

22629819

-1-1

-0,0

4791448

km

eans

liver d

isord

ers

0,4

3273204

0,4

094674

0,4

47701541

-1-0

,172386951

-0,1

8027842

km

eans

lsvt

0,6

3769704

0,7

7604692

0,8

51785278

-1-0

,207738992

-0,2

3342619

km

eans

madelo

n0,0

1274783

0,0

1086003

0,0

09677026

-1-1

-1km

eans

mam

mogra

phic

0,9

1985332

0,4

4228782

0,3

58840545

0,0

97436961

0,4

0262055

0,3

6022494

km

eans

mic

e p

rote

in0,2

5428158

0,1

5157116

0,1

50192274

-1-1

-1km

eans

park

insons

0,5

1759685

0,3

9065063

0,6

13855484

-1-1

-1km

eans

pim

a in

dia

ns d

iabete

s0,1

5964498

0,2

1034968

0,1

6223818

-0,0

98762352

-0,0

27748146

-0,0

6227006

dbscan

qsar

0,4

8950885

0,2

0469299

0,3

21397981

-1-1

-1km

eans

seeds

0,3

605949

0,3

7732675

0,4

38640159

-1-0

,037183759

0,2

2735576

km

eans

skillc

raft1

0,1

3644014

0,0

711663

0,0

70365059

-1-1

-1km

eans

spam

base

0,6

3806534

0,0

807796

0,2

39083482

-1-1

-0,0

2758473

km

eans

sta

tlog a

ustra

lian

0,1

5734156

0,7

0242076

0,2

88077926

-1-0

,235416281

-0,1

0463443

km

eans

sta

tlog g

erm

an

0,2

5601335

0,1

7410668

0,3

18977136

-1-1

-1km

eans

sta

tlog h

eart

0,1

8633505

0,4

5065103

0,1

97370302

-1-1

-1km

eans

sta

tlog im

age

0,3

4101671

0,2

204767

0,1

63167094

-1-1

-1km

eans

turk

iye

0,2

598356

0,2

1072039

0,2

06450122

0,0

48347538

-0,1

95363395

-0,0

3639754

km

eans

urb

an

0,1

538696

0,1

3610104

0,1

27455677

-1-0

,062169155

-1km

eans

wate

r treatm

ent p

lant

0,1

1358537

0,0

7666934

0,0

83691302

-1-1

-1km

eans

wilt

0,2

1577383

0,1

8985978

0,1

68163958

-1-1

-1dbscan

win

e0,2

9060351

0,2

3116579

0,2

84952464

-1-1

-1km

eans

yeast

0,1

9682588

0,1

6742343

0,1

61772451

-1-1

-1km

eans

zoo

0,3

9231421

0,3

3957525

0,3

71359461

0,1

54048305

0,2

51307915

0,2

7020611

dbscan

Co

efic

ien

te d

e S

ilhu

eta

75

Tabela C. 2 - Inércia Explicada

km

ean

ss5

0k

me

an

ss7

5k

me

an

ss1

00

db

scan

s5

0d

bscan

s7

5d

bscan

s1

00

me

ta.ta

rg

et.ie

abalo

ne

0,9

8815774

0,9

8172509

0,9

7663897

00

0km

eans

annealin

g0,6

6465295

0,5

9660956

0,5

9944525

0,3

036029

0,1

6134107

0,7

856221

dbscan

auto

mpg

0,6

6808425

0,6

6713332

0,6

6045272

0,7

436011

0,9

4275568

0,9

314394

dbscan

auto

mobile

0,6

1330456

0,5

5252196

0,5

3344052

00

0dbscan

banknote

0,2

4007714

0,4

0976898

0,4

092975

0,7

244149

0,9

5287591

0,8

908564

km

eans

blo

od tra

nsfu

sio

n0,4

8439039

0,3

740569

0,4

0869841

0,8

644889

0,4

1195893

0,6

403369

km

eans

bre

ast c

ancer

0,5

1935259

0,5

5777052

0,5

7824687

00

0dbscan

clim

ate

model

0,0

9779874

0,0

7809944

0,0

7386076

00

0km

eans

connectio

nis

t sonar

0,2

1106218

0,1

6545083

0,1

5414205

0,3

523635

0,0

8441457

0,2

626042

dbscan

connectio

nis

t vow

el

0,7

0266443

0,6

6014187

0,6

2571893

00,7

2611888

0,8

812976

km

eans

contra

ceptiv

e0,4

2820795

0,5

1054922

0,5

2852108

0,1

938016

0,5

1522827

0,4

290162

dbscan

cre

dit a

ppro

val

0,3

7333012

0,2

4952796

0,2

8542074

0,3

46581

0,4

7918804

0,1

247217

km

eans

cylin

der b

ands

0,1

0239195

0,1

2689027

0,1

3600602

00

0dbscan

echocard

iogra

m0,2

9267976

0,2

2709182

0,2

7414003

0,3

622273

0,4

1022574

0km

eans

ecoli

0,8

0671108

0,8

5348028

0,7

6689661

00,6

6788902

0,5

921312

dbscan

facebook m

etric

s0,4

5492316

0,3

9381525

0,4

1462677

00

0dbscan

flags

0,5

5022532

0,4

7346469

0,4

6890017

00

0,8

88034

dbscan

fore

st ty

pe

0,5

1576169

0,4

8598196

0,4

6361755

00,7

4328445

0,6

299259

km

eans

gla

ss id

entific

atio

n0,7

543102

0,7

5746625

0,6

930639

00,7

9594796

0dbscan

haberm

an's

surv

ival

0,2

865807

0,2

240168

0,2

5091469

0,8

200667

0,8

3880672

0km

eans

ilpd

0,3

0184413

0,2

8212194

0,1

8728181

00,8

702895

0,8

657889

km

eans

image s

egm

enta

tion

0,8

7142038

0,7

4824838

0,7

3687332

0,8

448143

0,6

0204816

0,6

340079

km

eans

ionosphere

0,1

1323928

0,1

8243632

0,2

0494796

00

0dbscan

iris0,6

457394

0,7

6869763

0,7

6836159

00

0dbscan

leaf

0,9

5205494

0,9

3525222

0,9

3114074

00

0,8

563017

km

eans

liver d

isord

ers

0,3

5298308

0,2

8808172

0,3

3492399

00,7

1417901

0,7

512903

km

eans

lsvt

0,2

4838222

0,3

596955

0,2

7249885

00,3

2870178

0,2

983498

dbscan

madelo

n0,0

3280144

0,0

2568496

0,0

1956008

00

0km

eans

mam

mogra

phic

0,9

5423054

0,6

8786559

0,6

0896385

0,8

877615

0,9

6242081

0,9

230218

km

eans

mic

e p

rote

in0,6

4890252

0,5

5204396

0,5

3950557

00

0dbscan

park

insons

0,4

4752335

0,4

0345856

0,3

9859197

00

0dbscan

pim

a in

dia

ns d

iabete

s0,2

1150683

0,2

3735704

0,1

9292381

0,3

50339

0,3

8681129

0,4

445833

km

eans

qsar

0,1

756093

0,1

1687795

0,1

1759773

00

0dbscan

seeds

0,6

6545055

0,6

6969331

0,7

1958456

00,9

0730883

0,8

627872

km

eans

skillc

raft1

0,6

0403907

0,4

4011131

0,4

6615705

00

0km

eans

spam

base

0,3

4844556

0,0

7928921

0,0

9330362

00

0,2

687639

dbscan

sta

tlog a

ustra

lian

0,1

8351386

0,2

914094

0,2

1985143

00,4

2389933

0,7

869376

km

eans

sta

tlog g

erm

an

0,2

0722845

0,1

8607041

0,1

4311682

00

0dbscan

sta

tlog h

eart

0,2

1108513

0,0

6017891

0,1

8282846

00

0dbscan

sta

tlog im

age

0,7

8285191

0,7

3423299

0,6

9243873

00

0dbscan

turk

iye

0,9

038594

0,7

9293397

0,7

9560449

0,8

4423

0,9

619711

0,8

751705

dbscan

urb

an

0,6

2287043

0,6

1400175

0,5

5705981

00,5

2558325

0km

eans

wate

r treatm

ent p

lant

0,7

3475237

0,5

9685233

0,6

3334465

00

0dbscan

wilt

0,2

8588913

0,1

4877846

0,2

1192204

00

0km

eans

win

e0,4

5028201

0,3

9253912

0,4

6933514

00

0dbscan

yeast

0,7

2277536

0,7

2032796

0,7

0528799

00

0km

eans

zoo

0,6

7584628

0,6

3625295

0,6

5991256

0,8

387737

0,8

7213389

0,8

657461

dbscan

In

ércia

Ex

plic

ad

a

76

Anexo D

Figura D. 1 - K-Médias s50 CF K-Médias

Figura D. 2 - K-Médias s75 CF K-Médias

Figura D. 3 - K-Médias s100 CF K-Médias

77

Figura D. 4 - DBSCAN s50 CF K-Médias

6

Figura D. 5 - DBSCAN s75 CF K-Médias

Figura D. 6 - DBSCAN s100 CF K-Médias

78

Figura D. 7 - K-Médias s50 CF DBSCAN

Figura D. 8 - K-Médias s75 CF DBSCAN

Figura D. 9 - K-Médias s100 CF DBSCAN

79

Figura D. 10 - DBSCAN s50 CF DBSCAN

Figura D. 11 - DBSCAN s75 CF DBSCAN

Figura D. 12 - DBSCAN s100 CF DBSCAN

80

Figura D. 13 - K-Médias s50 IE K-Médias

Figura D. 14 - K-Médias s75 IE K-Médias

Figura D. 15 - K-Médias s100 IE K-Médias

81

Figura D. 16 - DBSCAN s50 IE K-Médias

Figura D. 17 - DBSCAN s75 IE K-Médias

Figura D. 18 - DBSCAN s100 IE K-Médias

82

Figura D. 19 - K-Médias s50 IE DBSCAN

Figura D. 20 - K-Médias s75 IE DBSCAN

Figura D. 21 - K-Médias s100 IE DBSCAN

83

Figura D. 22 - DBSCAN s50 IE DBSCAN

Figura D. 23 - DBSCAN s75 IE DBSCAN

Figura D. 24 - DBSCAN s100 IE DBSCAN

84

Anexo E

library(cluster)

library(dbscan)

library(fpc)

library(MASS)

library(randomForest)

datasets<-read.csv("Caracteristicas dos dados.csv",sep=";",dec=",")

algorithms <- c("kmeans", "dbscan")

measures <- c("cf","ie")

evaluation<-array(NA,dim=c(nrow(datasets),length(algorithms),length(measures)))

dimnames(evaluation)<-

list(datasets=datasets[,1], algorithms=algorithms, measures=measures)

set.seed(1)

for (ds in 1:nrow(datasets))

{

load(file=paste(sep="", datasets[ds,1], ".RData"))

print(paste("Processing", datasets[ds,1], "..."))

print(paste("calling means with k:", datasets[ds, 6], "..."))

kmeans<-kmeans(data,centers=datasets[ds, 6])

d.aba<-daisy(data,metric="euclidean",stand=TRUE)

sk<-silhouette(kmeans$cl,d.aba)

sik<-(sum(sk[,3]))/nrow(data)

evaluation[ds,"kmeans","cf"]<-sik

iek<-kmeans$betweenss/kmeans$totss

evaluation[ds,"kmeans","ie"]<-iek

dbscan<-dbscan(data,eps=datasets[ds,12],MinPts=4)

sd<-silhouette(dbscan$cl,d.aba)

85

sid<-(sum(sd[,3]))/nrow(data)

evaluation[ds,"dbscan","cf"]<-sid

ied.dbscan <- function(df, clustering)

{

if(length(unique(clustering[[1]]))==1){

ied<-0

} else {

if(length(unique(clustering[[1]]))==2){

ied<-0

} else {

df.tmp <-data.frame(df,clustering[1])

df.c <- df.tmp[clustering[[1]]>0, ]

df.col.means <- colMeans(df.c[, -ncol(df.c)])

tots <- sum((t(df.c[, -ncol(df.c)]) - df.col.means)^2)

cluster.labels <- unique(clustering[[1]])[unique(clustering[[1]]) > 0]

bdi <- sapply(cluster.labels, function(i)

{

df.col.means.i <- colMeans(df.c[df.c[, ncol(df.c)] == i, -

ncol(df.c)])

(sum(df.c[,ncol(df.c)]==i)*(sum((df.col.means.i -

df.col.means)^2)))

})

ied <- sum(bdi) / tots

}

ied

}

}

ied <- ied.dbscan(data, dbscan)

evaluation[ds,"dbscan","ie"]<-ied

}

landmarkers<-

c("kmeanss50","kmeanss75","kmeanss100","dbscans50","dbscans75","dbscans100")

measures <- c("cf","ie")

evaluationsp<-array(NA,dim=c(nrow(datasets),length(landmarkers),length(measures)))

dimnames(evaluationsp)<-list(datasets=datasets[,1],

landmarkers=landmarkers, measures=measures)

set.seed(1)

for (ds in 1:nrow(datasets))

{

86

load(file=paste(sep="", datasets[ds,1], ".RData"))

s50<-sample(nrow(data),50,FALSE)

s75<-sample(nrow(data),75,FALSE)

s100<-sample(nrow(data),100,FALSE)

print(paste("calling means with k:", datasets[ds, 6], "..."))

kmeanss50<-kmeans(data[s50,],centers=datasets[ds, 6])

kmeanss75<-kmeans(data[s75,],centers=datasets[ds, 6])

kmeanss100<-kmeans(data[s100,],centers=datasets[ds, 6])

d.abas50<-daisy(data[s50,],metric="euclidean",stand=TRUE)

d.abas75<-daisy(data[s75,],metric="euclidean",stand=TRUE)

d.abas100<-daisy(data[s100,],metric="euclidean",stand=TRUE)

sks50<-silhouette(kmeanss50$cl,d.abas50)

sks75<-silhouette(kmeanss75$cl,d.abas75)

sks100<-silhouette(kmeanss100$cl,d.abas100)

siks50<-(sum(sks50[,3]))/nrow(data[s50,])

siks75<-(sum(sks75[,3]))/nrow(data[s75,])

siks100<-(sum(sks100[,3]))/nrow(data[s100,])

evaluationsp[ds,"kmeanss50","cf"]<-siks50

evaluationsp[ds,"kmeanss75","cf"]<-siks75

evaluationsp[ds,"kmeanss100","cf"]<-siks100

ieks50<-kmeanss50$betweenss/kmeanss50$totss

ieks75<-kmeanss75$betweenss/kmeanss75$totss

ieks100<-kmeanss100$betweenss/kmeanss100$totss

evaluationsp[ds,"kmeanss50","ie"]<-ieks50

evaluationsp[ds,"kmeanss75","ie"]<-ieks75

evaluationsp[ds,"kmeanss100","ie"]<-ieks100

dbscans50<-dbscan(data[s50,],eps=datasets[ds,12],MinPts=4)

dbscans75<-dbscan(data[s75,],eps=datasets[ds,12],MinPts=4)

dbscans100<-dbscan(data[s100,],eps=datasets[ds,12],MinPts=4)

sds50<-silhouette(dbscans50$cl,d.abas50)

sds75<-silhouette(dbscans75$cl,d.abas75)

sds100<-silhouette(dbscans100$cl,d.abas100)

if(length(unique(dbscans50[[1]]))==1){

sids50<--1

} else {

87

if(length(unique(dbscans50[[1]]))==2){

sids50<--1

} else {

sids50<-(sum(sds50[,3]))/nrow(data[s50,])

}

}

if(length(unique(dbscans75[[1]]))==1){

sids75<--1

} else {

if(length(unique(dbscans75[[1]]))==2){

sids75<--1

} else {

sids75<-(sum(sds75[,3]))/nrow(data[s75,])

}

}

if(length(unique(dbscans100[[1]]))==1){

sids100<--1

} else {

if(length(unique(dbscans100[[1]]))==2){

sids100<--1

} else {

sids100<-(sum(sds100[,3]))/nrow(data[s100,])

}

}

evaluationsp[ds,"dbscans50","cf"]<-sids50

evaluationsp[ds,"dbscans75","cf"]<-sids75

evaluationsp[ds,"dbscans100","cf"]<-sids100

ied.dbscan <- function(df, clustering)

{

if(length(unique(clustering[[1]]))==1){

ied<-0

} else {

if(length(unique(clustering[[1]]))==2){

ied<-0

} else {

df.tmp <-data.frame(df,clustering[1])

df.c <- df.tmp[clustering[[1]]>0, ]

df.col.means <- colMeans(df.c[, -ncol(df.c)])

tots <- sum((t(df.c[, -ncol(df.c)]) - df.col.means)^2)

cluster.labels <- unique(clustering[[1]])[unique(clustering[[1]]) > 0]

bdi <- sapply(cluster.labels, function(i)

{

df.col.means.i <- colMeans(df.c[df.c[, ncol(df.c)] == i, -

ncol(df.c)])

88

(sum(df.c[,ncol(df.c)]==i)*(sum((df.col.means.i -

df.col.means)^2)))

})

ied <- sum(bdi) / tots

}

ied

}

}

ieds50 <- ied.dbscan(data[s50,], dbscans50)

ieds75 <- ied.dbscan(data[s75,], dbscans75)

ieds100 <- ied.dbscan(data[s100,], dbscans100)

evaluationsp[ds,"dbscans50","ie"]<-ieds50

evaluationsp[ds,"dbscans75","ie"]<-ieds75

evaluationsp[ds,"dbscans100","ie"]<-ieds100

}

data.characteristics.cf <- c("k-means em n=50 por cf","k-means em n=75 por cf","k-

means em n=100 por cf","dbscan em n=50 por cf","dbscan em n=75 por cf","dbscan em

n=100 por cf")

data.characteristics.ie <- c("k-means em n=50 por ie","k-means em n=75 por ie","k-

means em n=100 por ie","dbscan em n=50 por ie","dbscan em n=75 por ie","dbscan em

n=100 por ie")

meta.features.cf <- matrix(NA, nrow=length(datasets[,1]),

ncol=length(data.characteristics.cf))

rownames(meta.features.cf) <- datasets[,1]

colnames(meta.features.cf) <- data.characteristics.cf

meta.features.ie <- matrix(NA, nrow=length(datasets[,1]),

ncol=length(data.characteristics.ie))

rownames(meta.features.ie) <- datasets[,1]

colnames(meta.features.ie) <- data.characteristics.ie

meta.features.cf[, "k-means em n=50 por cf"] <- evaluationsp[,"kmeanss50","cf"]

meta.features.cf[, "k-means em n=75 por cf"] <- evaluationsp[,"kmeanss75","cf"]

meta.features.cf[, "k-means em n=100 por cf"] <- evaluationsp[,"kmeanss100","cf"]

meta.features.cf[, "dbscan em n=50 por cf"] <- evaluationsp[,"dbscans50","cf"]

meta.features.cf[, "dbscan em n=75 por cf"] <- evaluationsp[,"dbscans75","cf"]

meta.features.cf[, "dbscan em n=100 por cf"] <- evaluationsp[,"dbscans100","cf"]

meta.features.ie[, "k-means em n=50 por ie"] <- evaluationsp[,"kmeanss50","ie"]

meta.features.ie[, "k-means em n=75 por ie"] <- evaluationsp[,"kmeanss75","ie"]

meta.features.ie[, "k-means em n=100 por ie"] <- evaluationsp[,"kmeanss100","ie"]

meta.features.ie[, "dbscan em n=50 por ie"] <- evaluationsp[,"dbscans50","ie"]

meta.features.ie[, "dbscan em n=75 por ie"] <- evaluationsp[,"dbscans75","ie"]

89

meta.features.ie[, "dbscan em n=100 por ie"] <- evaluationsp[,"dbscans100","ie"]

meta.target.cf<ifelse(evaluation[,"kmeans","cf"]>evaluation[,"dbscan","cf"],"kmeans","

dbscan")

meta.data.cf <- data.frame(meta.features.cf, meta.target.cf)

meta.target.ie<ifelse(evaluation[,"kmeans","ie"]>evaluation[,"dbscan","ie"],"kmeans","

dbscan")

meta.data.ie <- data.frame(meta.features.ie, meta.target.ie)

meta.model.cf <- lda(meta.data.cf[, -7], meta.data.cf$meta.target.cf, CV = TRUE)

meta.confusion.matrix.cf <- xtabs(~ meta.model.cf$class + meta.target.cf, data =

meta.data.cf)

sum(diag(meta.confusion.matrix.cf)) /sum(meta.confusion.matrix.cf)

table(meta.data.cf$meta.target.cf)/nrow(meta.data.cf)

meta.model.ie <- lda(meta.data.ie[, -7], meta.data.ie$meta.target.ie, CV = TRUE)

meta.confusion.matrix.ie <- xtabs(~ meta.model.cf$class + meta.target.ie, data =

meta.data.ie)

sum(diag(meta.confusion.matrix.ie)) /sum(meta.confusion.matrix.ie)

table(meta.data.ie$meta.target.ie)/nrow(meta.data.ie)

meta.model.rf.cf <- randomForest(meta.data.cf[, -7], meta.data.ie$meta.target.cf)

meta.confusion.matrix.rf.cf <- xtabs(~ meta.model.rf.cf$class + meta.target.cf, data =

meta.data.cf)

meta.model.rf.ie <- randomForest(meta.data.ie[, -7], meta.data.ie$meta.target.ie)

meta.confusion.matrix.rf.ie <- xtabs(~ meta.model.rf.ie$class + meta.target.ie, data =

meta.data.ie)

Anexo E. 1 – Código do R