from sklearn.model_selection import KFold
import numpy as np
# Create some dummy data
X = np.array([[1, 2], [3, 4], [1, 2], [3, 4], [0, 0])
# Remove rows having all of their columns equal to 0
X = X[~np.all(X == 0, axis=1)]
# Assuming 2-fold cross-validation
kf = KFold(n_splits=2)
kf.get_n_splits(X)
现在kf
有两个训练/测试折叠:
for training, testing in kf.split(X):
X_train, X_test = X[training], X[testing]
# Do whatever you want with your model ...
print(“Training:”, training, “Testing:”, testing)
>>> ('Training:', array([2, 3]), 'Testing:', array([0, 1]))
>>> ('Training:', array([0, 1]), 'Testing:', array([2, 3]))