Cross-Validation K-fold em Python

Vilson Rodrigues
2 min readFeb 20, 2020

--

O Cross-Validation K-fold é um das mais importantes técnicas de avaliação de um modelo de Machine Learning, ele permite dividir os conjuntos de treinamento e teste em K maneiras, prever e analisar os resultados de cada conjunto utilizando um modelo de Machine Learning.

Fonte: Wikipedia

O dataset é dividido em K conjuntos, K-1 para treino e o conjunto restante para teste, com o processo se repetindo K vezes. Com uma métrica escolhida como a acurácia, o Cross-Validation treina o modelo com os conjuntos de treinamento e ao fim ele é testado, retornando a métrica.

Essa medida de desempenho é fundamental para ver como o seu modelo se comporta com amostragens diferentes. Minimizando a possibilidade de um separador escolher um conjunto que favoreça o seu modelo, sendo que em outras situações ele pode ser ruim. Ao fim eu tenho uma médias da métrica.

Outras opções de métrica são: “neg_mean_squared_error”, ou Raiz quadrada do erro-médio; “f1_macro”.

Usando em Python

Importamos a função cross_val_score da Sklearn e a biblioteca Numpy, que realiza operações matemáticas.

Em seguida definimos o número de kfolds do nosso dataset. Com seu modelo já definido, passaremos o dataset como x e o nosso alvo como Y (nome de variáveis a sua preferência). Depois visualizamos o resultado dos Kfolds, a média das métricas e o desvio padrão.

--

--

Vilson Rodrigues
Vilson Rodrigues

No responses yet