Я использовал метод, который Джейсон Браунли, Machine Learning Mastery, объясняет и показывает хороший простой рабочий пример:
from sklearn.model_selection import KFold
import pandas as pd
data = {'f1': [0,0,0,1],
'f2': [0,1,1,1],
'f3': [1,0,1,0],
'f4': [1,0,1,0],
'f5': [0,0,1,1],
'f6': [1,0,0,0],
'target': [0,0,1,1]}
df = pd.DataFrame(data, columns=['f1','f2','f3','f4','f5','f6','target'])
print(df)
kfold = KFold(3, True, 1)
for train, test in kfold.split(data):
print('train: %s, test: %s' % (train, test))
# scikit-learn k-fold cross-validation
from numpy import array
from sklearn.model_selection import KFold
# data sample
data = array([0, 0, 1, 1, 0, 1, 0])
# prepare cross validation
kfold = KFold(3, shuffle=True, random_state=1, )
# enumerate splits
for train, test in kfold.split(data):
print('train: %s, test: %s' % (data[train], data[test]))
https://machinelearningmastery.com/k-fold-cross-validation/
Вот результат PyCharm на Macbook Pro с использованием Python 3.8:
введите описание изображения здесь