python - 如何使用 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])
我也想在此之后获得准确性。
谢谢您的帮助!
解决方案
推荐阅读
- c - 在函数指针中自动转换 void* 参数
- linux - 如何编写一个可以在Linux中运行脚本的shell脚本文件
- typescript - TypeScript 中的递归泛型
- javascript - TypeError:_firebase.default.analytics 不是函数。(在 '_firebase.default.analytics()' 中,'_firebase.default.analytics' 未定义)
- imagemagick - Imagemagick 只读取红色通道
- sql - 在子查询中合并 SQL 行
- javascript - 我需要写困难的回文
- python - 我的输出没有正确显示我是否正确调用了我的定义,我是否正确返回了这些定义的值?
- amazon-s3 - 在 Fargate 容器中,为什么我可以 CRUD S3 但无法创建预签名帖子
- sql-server - 无法从迁移中创建触发器