Escolar Documentos
Profissional Documentos
Cultura Documentos
https://medium.com/data-hackers/como-criar-k-fold-cross-validation-na-mão-em-python-c0bb06074b6b 1/10
21/03/2019 Como criar K-Fold cross-validation na mão em Python
Motivação
https://medium.com/data-hackers/como-criar-k-fold-cross-validation-na-mão-em-python-c0bb06074b6b 2/10
21/03/2019 Como criar K-Fold cross-validation na mão em Python
Mão na Massa!
https://medium.com/data-hackers/como-criar-k-fold-cross-validation-na-mão-em-python-c0bb06074b6b 3/10
21/03/2019 Como criar K-Fold cross-validation na mão em Python
indices = list(range(10))
k = 2
https://medium.com/data-hackers/como-criar-k-fold-cross-validation-na-mão-em-python-c0bb06074b6b 4/10
21/03/2019 Como criar K-Fold cross-validation na mão em Python
subset_size = round(len(indices) / k)
https://medium.com/data-hackers/como-criar-k-fold-cross-validation-na-mão-em-python-c0bb06074b6b 5/10
21/03/2019 Como criar K-Fold cross-validation na mão em Python
kfolds = []
for i in range(k):
test = subsets[i]
train = []
for subset in subsets:
if subset != test:
train.append(subset)
kfolds.append((train, test))
# output:
# kfolds = [([0,1,2,3,4],[5,6,7,8,9]), ([5,6,7,8,9],
[0,1,2,3,4])]
size = len(indices)
subset_size = round(size / k)
https://medium.com/data-hackers/como-criar-k-fold-cross-validation-na-mão-em-python-c0bb06074b6b 6/10
21/03/2019 Como criar K-Fold cross-validation na mão em Python
kfolds = []
for i in range(k):
test = subsets[i]
train = []
for subset in subsets:
if subset != test:
train.append(subset)
kfolds.append((train,test))
return kfolds
https://medium.com/data-hackers/como-criar-k-fold-cross-validation-na-mão-em-python-c0bb06074b6b 7/10
21/03/2019 Como criar K-Fold cross-validation na mão em Python
import random
size = len(indices)
subset_size = round(size / k)
random.Random(seed).shuffle(indices)
kfolds = []
for i in range(k):
test = subsets[i]
train = []
for subset in subsets:
if subset != test:
train.append(subset)
kfolds.append((train,test))
return kfolds
https://medium.com/data-hackers/como-criar-k-fold-cross-validation-na-mão-em-python-c0bb06074b6b 8/10
21/03/2019 Como criar K-Fold cross-validation na mão em Python
Finalizando
Claro que bibliotecas como Scikit-Learn, MLlib, Pandas e companhia
estão aí para nos ajudar e devemos tirar o máximo proveito delas, mas
nada impede de tentarmos ir mais a fundo no entendimento de
algumas funcionalidades oferecidas por essas bibliotecas, indo além do
entendimento teórico e tentando implementar um código. Muito
provavelmente a nossa versão da funcionalidade não será a mais
otimizada e recomendada para ser posta em produção, mas com
certeza sairemos desse processo com um conhecimento mais profundo.
. . .
https://medium.com/data-hackers/como-criar-k-fold-cross-validation-na-mão-em-python-c0bb06074b6b 9/10
21/03/2019 Como criar K-Fold cross-validation na mão em Python
https://medium.com/data-hackers/como-criar-k-fold-cross-validation-na-mão-em-python-c0bb06074b6b 10/10