当前位置:  开发笔记 > 编程语言 > 正文

cross_val_predict之后对新文档进行分类

如何解决《cross_val_predict之后对新文档进行分类》经验,为你挑选了1个好方法。

我有大约10,000条推文的样本,我希望将其分类为“相关”和“不相关”。我正在为此模型使用Python的scikit-learn。我手动将1,000条推文编码为“相关”或“不相关”。然后,我使用80%的手动编码数据作为训练数据,其余的作为测试数据运行了SVM模型。我获得了良好的结果(预测准确度〜0.90),但是为了避免过度拟合,我决定对所有1,000条手动编码的推文使用交叉验证。

下面是我的代码,已经为示例中的推文获取了tf-idf矩阵。“目标”是一个数组,列出了该推文是否标记为“相关”或“不相关”。

from sklearn.linear_model import SGDClassifier
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import cross_val_predict

clf = SGDClassifier()
scores = cross_val_score(clf, X_tfidf, target, cv=10)
predicted = cross_val_predict(clf, X_tfidf, target, cv=10)

通过此代码,我可以预测1,000条推文所属的类,并将其与我的手动编码进行比较。

为了继续使用模型对我没有手动编码的其他约9000条推文进行分类,我坚持下一步要做的事情。我当时在考虑cross_val_predict再次使用,但是由于类是我要预测的内容,因此我不确定在第三个参数中输入什么。

预先感谢您的所有帮助!



1> lejlot..:

cross_val_predict 不是从模型实际获取预测的方法。交叉验证是一种用于模型选择/评估的技术,无需训练模型。cross_val_predict是非常特定的功能(它为您提供了在交叉验证过程中训练的许多模型的预测)。对于实际的模型构建,yu应该使用拟合来训练模型并预测获得预测。如前所述,此处不涉及交叉验证,这是用于模型选择(选择分类器,超参数等),而不是训练实际模型。

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有