我正在编写一个循环,我必须在1000个条目上执行k-fold交叉验证。 k的值在循环中的每次迭代中都会发生变化,它的值可以为1000.但是,当尝试执行“放开 - 交叉验证”(即k = #entries = 1000)时,我收到以下错误:
ValueError:各个类的所有n_groups都小于n_splits = 1000。
test = [...,...,1000] 对于测试中的n:
knn = KNeighborsClassifier(n_neighbors=1)
scores = cross_val_score(knn, X_train, y_train, cv=n, scoring='accuracy')
请记住,X_train和y_train有1000行并且是numpy数组。 我知道LOO有特定的方法,但我想知道是否有办法使用相同的功能,以避免在循环中插入一个if。