• Nenhum resultado encontrado

3 Proposta de um Meta-Escalonador Base ado em Aprendizado de Máquina

3.3.1 Comparação dos Algoritmos de ML

A abordagem a ser utilizada neste trabalho é a Aprendizagem de Máquina Super- visionada, conforme apresentada na Seção 2.3. Ou seja, o modelo será treinado sobre um conjunto de dados predefinidos para que o mesmo possa tomar decisões futuras ao receber novos dados. Mais especificamente, serão investigados alguns classificadores, os quais po- dem ser considerados uma subcategoria da aprendizagem supervisionada. A razão para tal escolha se dá pelo encaixe perfeito dos tipos de dados obtidos, ou seja, toma-se uma entrada e um rótulo é atribuído a ela. No caso desse projeto, as entradas são as características (únicas de uma aplicação) e o rótulo é o melhor algoritmo de LB para ela.

rotulados, é possível construir um modelo no qual o classificador resultante é utilizado para associar os rótulos às novas instâncias sendo testadas. Foram escolhidos sete algoritmos dis- poníveis na biblioteca sk-learn para serem analisados no contexto deste trabalho:

• K-Nearest Neighbors Classifier (KNN) - a classificação é computada através da simi- laridade de um dado com os seus vizinhos mais próximos;

• Support Vector Machines - classificador binário não probabilístico: encontra uma li- nha de separação (hiperplano) entre dados de duas classes, buscando maximizar a dis- tância entre os pontos mais próximos em relação a cada uma das classes;

• Decision Tree Classifier - árvore de decisão onde cada nodo representa uma caracte- rística, cada ramo é uma regra de decisão e cada nodo folha é a classe;

• Random Forest Classifier - cria uma floresta de forma aleatória, sendo uma combina- ção (ensemble) de árvores de decisão;

• Ada Boost Classifier - constrói um classificador forte a partir da combinação de diver- sos classificadores de desempenho menor com o objetivo de aumentar a acurácia; • Gaussian Naive Bayes - classificador probabilístico baseado no Teorema de Bayes. Cal-

cula a probabilidade de uma instância pertencer a cada uma das classes e classifica com base na classe de maior probabilidade;

• Linear Discriminant Analysis - classificador com limite de decisão linear, fazendo uso da regra de Bayes, e ajustando uma densidade Gaussiana para cada classe;

• Quadratic Discriminant Analysis - classificador com limite de decisão quadrático, fa- zendo uso da regra de Bayes, e ajustando uma densidade Gaussiana para cada classe.

Há diversas formas visuais de analisar os resultados obtidos, como por exemplo, o re- latório de classificação resultante da comparação dos algoritmos. O relatório mostra a preci- são, recall e o F1 Score, tornando-se útil para um melhor entendimento do comportamento do classificador e para a comparação com outros classificadores (YELLOWBRICK, 2016). As métricas são definidas a seguir:

• Acurácia: proporção do número de predições corretas sobre o número total de predi- ções. Ou seja, qual a fração de predições que o modelo acertou?

• Precisão: habilidade do classificador em não determinar uma classe X quando na ver- dade espera-se uma classe Y. Ou seja, para todas as instâncias classificadas como uma classe X, qual o percentual de acertos?

• Recall: habilidade do classificador de encontrar todas as instâncias corretas. Ou seja, para todas as instâncias de uma classe X, qual o percentual de classificações corretas daquela classe?

• F1 Score: média harmônica com pesos da precisão e do recall, de tal forma que o me- lhor score possível é 1.0 e o pior é 0.0. Seu valor é mais baixo do que medidas de acu- rácia pois usa o recall e precisão na sua computação. Assim, só deve ser usado para comparar classificadores, e não para uso global.

Complementando o relatório de classificação, é feito o uso da matriz de confusão com a finalidade de comparar cada uma das previsões realizadas com a classe real esperada. Cada linha da matriz representa as previsões que resultaram na classe correspondente da mesma linha, e cada coluna representa a classe de fato esperada. A diagonal principal in- dica quantas previsões realizadas acertaram a classe original, enquanto as demais diagonais mostram os erros de classificação. O objetivo da matriz é entender quais classes são mais facilmente confundidas em comparação com as outras.

Para cada um dos algoritmos de ML escolhidos para análise, houve o treinamento do modelo com diversas alterações de parâmetros para se obter a maior acurácia possível. Por exemplo, no caso de uma árvore decisão, foi visto que sua profundidade máxima tem influência na qualidade das previsões. Da mesma forma, foi necessário realizar diversos ex- perimentos com cada um dos sete classificadores, alterando seus parâmetros como o nú- mero de estimadores, número de vizinhos, métricas, entre outros. Isso é importante pois um determinado classificador pode ter seu desempenho totalmente degradado por conta da escolha de parâmetros incorretos.

Após a realização desses experimentos, observou-se que os algoritmos com os me- lhores resultados foram o KNN, seguido do GaussianNB e QuadraticDiscriminantAnalysis. As acurácias obtidas foram de 34.92%, 33.33% e 33.33%, respectivamente. Esses valores cor- respondem aos acertos do meta-escalonador, ou seja, a porcentagem das vezes em que o algoritmo de LB de melhor desempenho foi de fato escolhido.

Foi necessário um estudo aprofundado para compreender as possíveis razões de ob- ter acurácias de valores abaixo do esperado. Além desse estudo para descobrir a causa, tam- bém foram testadas outras alternativas para o aumento dessa métrica, como a mudança de parâmetros e geração de novos dados. A Figura 11 mostra as acurácias obtidas por todos os classificadores analisados.

Documentos relacionados