我一直在寻找stackoverflow,但没有答案起作用,所以以为我会问这个问题。我一直在分析nltk,python中的movie_reviews语料库。而且我不知道如何进行交叉验证(k折)。这里的答案不起作用,我想知道是否是因为我使用的是python 3?如何在python中轻松进行交叉验证?我可以使用cross_val_score吗,如果可以的话,该如何实现?
我尝试过:
from sklearn.cross_validation import KFold, cross_val_score
k_fold = KFold(len(y), n_folds=4, shuffle=True, random_state=0)
clf = classifier
print (cross_val_score(clf, X, y, cv=k_fold, n_jobs=1))
还有:
X = all_words_clean
kf = KFold(n_splits=2)
for train, test in kf.split(X):
print("%s %s" % (train, test))
该代码的第一部分根本不起作用,而第二部分似乎没有交叉验证(它可以工作,但结果是:[791910 791911 791912 ... 1583817 1583818 1583819] [0 1 2 ... 791907 791908 791909] [0 1 2 ... 791907 791908 791909] [791910 791911 791912 ... 1583817 1583818 1583819])
我也想在此之后获得准确性。
感谢您的帮助!