GS Classification Tool
Um código de avaliação Machine Learning multi-parâmetro, multi-classificador, com grid search, k-fold cross validation e estatísticas visuais
Estudos de caso em Ciência de Dados exigem bons modelos de classificação. Este programa procura oferecer uma solução prática para avaliação inicial de algoritmos consagrados, utilizando grid search e k-fold cross validation.
O objetivo é detectar potenciais parâmetros e algoritmos com menos probabilidade de overfitting.
O código está disponível no GitHub sob a licença MIT. Acesse aqui.
Precisão média
A primeira visualização gerada representa a precisão média entre os subgrupos de teste da k-fold cross-validation. Além disso, mostra o desvio-padrão da precisão das validações em série. Pode receber os 8 classificadores atualmente compatíveis (scikit-learn) e também XGBoost.
Cumulative Accuracy Profile
O Perfil Cumulativo de Precisão (CAP) é uma métrica utilizada para avaliação de modelos de classificação. Provém uma visualização interessante da relação entre a taxa de verdadeiros e a de falsos positivos: para cada modelo treinado, computa uma curva entre classificações aleatórias e um modelo perfeito, capaz de acertar todas as previsões.
A relação de precisão (accuracy ratio) é a razão entre a área sob a curva do modelo treinado e a área sob a curva do modelo perfeito, ambas limitadas pela área sob a curva da classificação aleatória.
Utilização
Para utilizar o software, é necessário realizar o tratamento de dados de forma independente. O módulo data_preprocessing pode ser modificado de acordo com o problema, desde que retorne os dados no formato correto.
O executável gs_evaluation.py define os modelos que serão utilizados, os parâmetros para o grid search e o número de train/test splits para a k-fold crossvalidation. Modifique-os a gosto, de acordo com o hardware disponível.
Desenvolvimento
Esta é a primeira versão do software, sujeita a testes de eficiência e correções de possíveis inconsistências. Este artigo será atualizado conforme o avanço do desenvolvimento.
Caso tenha interesse em contribuir com o projeto, estou aberto a colaborações.