Post on 09-Nov-2018
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
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
Nº
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.
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