首页 > 解决方案 > 如何使用 NaiveBayesClassifier 和 movie_reviews 语料库进行交叉验证

问题描述

我一直在查看stackoverflow,但没有一个答案有效,所以我想我会问这个。我一直在分析 nltk、python 中的 movie_reviews 语料库。而且我不知道如何进行交叉验证(k-fold)。这里的答案不起作用,我想知道是不是因为我使用的是 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])

我也想在此之后获得准确性。

谢谢您的帮助!

标签: pythonnltkcross-validation

解决方案


推荐阅读