• No results found

6. Caser

6.4 General Motors

Uma das formas de melhorar o resultado de um modelo de classificação é através do método de associação (Ensemble). Ao invés da tradicional execução de um algoritmo para indução de um modelo, este permite executar vários algoritmos induzindo vários modelos e avaliar os diferentes resultados de forma combinada. Existem diversos métodos de combinação e de avaliação de resultados, e.g. é possível executar o mesmo algoritmo diversas vezes ou correr vários algoritmos e o resultado pode ser calculado como uma média dos resultados ou aceitando o melhor resultado obtido.

Sabendo que a associação de classificadores poderá melhorar o resultado, importa saber se essa melhoria é positivamente significativa. Com base nesta premissa foi realizado um teste com as possibilidades de associação da ferramenta Weka, tendo por base os resultados do estudo descrito anteriormente.

Os seguintes algoritmos foram testados pela ferramenta Weka:

 Adaboost (Freund & Schapire, 1996) – Usa um método de atribuir maior peso às

instâncias mal classificadas pelo modelo induzido anteriormente como forma destas virem a ser bem classificadas no modelo induzido posteriormente. A decisão final é obtida pela soma ponderada dos modelos induzidos. A desvantagem deste método prende-se pelo facto de ser sensível ao ruído, ou seja, de tentar classificar instâncias que podem conter dados errados em detrimento das instâncias corretas.

 Bagging (Breiman, Bagging predictors, 1996) – Usa um método de manipulação dos

dados de treino que recolhe amostras de forma aleatória, mas permite substituições

(bootstrapping) criando possíveis omissões e duplicações de instâncias. A decisão

final é por voto maioritário.

 Dagging (Ting & Witten, 1997) - Este algoritmo cria subconjuntos de dados de treino

modelo diferente. A decisão final é por voto maioritário. A técnica é útil para classificadores de tempo quadrático ou pior.

 Decorate (Melville & Mooney, 2003) – Usa um método de construção de diversos

modelos usando instâncias artificiais de treino especialmente construídas através dos valores dos atributos das instâncias existentes. Experiências têm demonstrado que esta técnica é consistentemente mais precisa do que o classificador base, Bagging e

Random Forests. Esta técnica obtém maior acurácia em conjuntos de testes pequenos

e desempenho comparável em conjuntos maiores.

 MultiBoostAB (Webb, 2000) – Esta técnica resulta da combinação do Adaboost

(Boosting) com Wagging. Este último equivale à técnica de Bagging, mas ao invés

de usar amostras aleatórias de bootstrap para formar os conjuntos de treino, o

Wagging atribui pesos aleatórios para os casos em cada conjunto de treino.

 MultiClassClassifier – Esta técnica permite criar vários classificadores binários a

partir de conjunto de dados de treino que tenham duas ou mais classes. Esta técnica permite usar o método de classificação de 1-1, 1-R, mas também ECOC.

 Random Forest (Breiman, 2001) – Envolve a aplicação de Bagging, o que introduz

aleatoriedade na escolha dos dados de treino, à técnica de árvores de decisão, embora existam variantes para outras técnicas. A decisão final é obtida pela moda da classe obtida nos diferentes modelos induzidos.

 RandomSubSpace (Ho, 1998) – É similar ao algoritmo Random Forest visto que

constrói vários modelos de árvores de decisão, mas em vez de selecionar as instâncias de forma aleatória, esta técnica seleciona subespaços (subconjuntos dos dados de treino) de forma aleatória.

 Rotation Forest (Rodriguez, Kuncheva, & Alonso, 2006) – O algoritmo treina

diversos modelos de árvores de decisão usando conjuntos de treino obtidos através de recolha de instâncias selecionadas de aleatória com substituição (bootstrapping) mas sujeitos a uma análise e consequente extração de atributos não contributivos. Segundo os autores, desta forma são necessários menos modelos que em Adaboost

(Boosting) ou Bagging para obter uma taxa de acurácia elevada.

 Stacking (Wolpert, 1992) – Algoritmo baseada numa técnica realizada em duas fases:

a primeira envolve a indução de vários modelos com base no conjunto de dados de treino existente que, de acordo com os resultados combinados, irá dar origem a um novo conjunto de dados que generaliza as classificações obtidas. A segunda fase envolve a indução de um modelo com base no conjunto de dados criado na primeira fase.

 Vote – Este algoritmo permite combinar diversos modelos com base em regras de

média, produto, votação maioritária, mínimo, máximo e mediana.

Os algoritmos Stacking e Vote permitem combinar modelos de diferentes técnicas enquanto os restantes somente combinam modelos similares. Por este motivo, os testes dos algoritmos Stacking e Vote foram programados com uma combinação dos algoritmos de classificação que obtiveram o melhor resultado no teste para cada uma das técnicas (Quadro 4:19).

Quadro 4:19 – Ensemble programado no estudo de classificação para os algoritmos Stacking e

Vote

Dataset Técnica Widget/Algoritmo

Adult Árvores de Decisão J48graft

Regras DTNB

Rede Neuronal Artificial MultilayerPerceptron Classificador Bayesiano BayesNet

Clustering IB1

SVM SMO

Breast-cancer Árvores de Decisão LMT

Regras LBR

Rede Neuronal Artificial VotedPerceptron Classificador Bayesiano BayesNet

Clustering IBk

SVM SMO

Car Evaluation Árvores de Decisão LMT

Regras Ridor

Rede Neuronal Artificial MultilayerPerceptron Classificador Bayesiano HNB

Clustering IBk

SVM SMO

Credit Approval Árvores de Decisão ADTree

Regras Jrip

Rede Neuronal Artificial MultilayerPerceptron Classificador Bayesiano BayesNet

Clustering LWL

SVM SMO

Iris Árvores de Decisão BFTree

Regras Jrip

Rede Neuronal Artificial MultilayerPerceptron Classificador Bayesiano NaiveBayes

Clustering LWL

SVM SMO

Lung-cancer Árvores de Decisão J48

Regras NNge

Rede Neuronal Artificial MultilayerPerceptron Classificador Bayesiano AODE

Clustering IB1

SVM SMO

Wine Árvores de Decisão FT

Regras NNge

Rede Neuronal Artificial MultilayerPerceptron Classificador Bayesiano BayesNet

SVM SMO

Zoo Árvores de Decisão Id3

Regras NNge

Rede Neuronal Artificial MultilayerPerceptron Classificador Bayesiano HNB

Clustering IB1

SVM SMO

Todos os algoritmos são parametrizáveis embora para o teste tenham sido usados os valores pré- definidos.

Foram realizados 408 testes de Ensemble dos quais 89 revelaram uma melhoria relativamente à classificação anterior para o mesmo algoritmo sem Ensemble. A média dessa melhoria para os 89 casos foi de 1,60%. O algoritmo SMO (com o método de Ensemble Bagging, para o Dataset Lung-cancer e a técnica SVM) alcançou o maior aumento que se cifrou em 9,37%.

Dos 408 testes realizados, 28 revelaram uma melhora relativamente ao melhor resultado obtido nos testes anteriores para um determinado Dataset. A média de melhoria nesses testes foi de 0,96%. O melhor resultado deu-se com o algoritmo NNge (com o método de Ensemble Rotation Forest, para o Dataset Lung-cancer na técnica Regras) onde se alcançou uma melhoria de 6,25%.