我试图在python中实现k-fold交叉验证算法。
我知道SKLearn提供了一个实现,但仍然。。。
这是我现在的代码。from sklearn import metrics
import numpy as np
class Cross_Validation:
@staticmethod
def partition(vector, fold, k):
size = vector.shape[0]
start = (size/k)*fold
end = (size/k)*(fold+1)
validation = vector[start:end]
if str(type(vector)) == "":
indices = range(start, end)
mask = np.ones(vector.shape[0], dtype=bool)
mask[indices] = False
training = vector[mask]
elif str(type(vector)) == "":
training = np.concatenate((vector[:start], vector[end:]))
return training, validation
@staticmethod
def Cross_Validation(learner, k, examples, labels):
train_folds_score = []
validation_folds_score = []
fo