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

Daniel Marostica
2 min readSep 4, 2020

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.

--

--

No responses yet