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%.