gpt4 book ai didi

scikit-learn - sklearn : vectorizing in cross validation for text classification

转载 作者:行者123 更新时间:2023-12-04 18:42:19 25 4
gpt4 key购买 nike

我有一个关于在 sklearn 的文本分类中使用交叉验证的问题。在交叉验证之前对所有数据进行矢量化是有问题的,因为分类器会“看到”测试数据中出现的词汇。 Weka 有过滤分类器来解决这个问题。这个函数的 sklearn 等价物是什么?我的意思是对于每个折叠,特征集都会不同,因为训练数据是不同的。

最佳答案

这个问题的 scikit-learn 解决方案是交叉验证 Pipeline估计量,例如:

>>> from sklearn.cross_validation import cross_val_score
>>> from sklearn.feature_extraction.text import TfidfVectorizer
>>> from sklearn.pipeline import Pipeline
>>> from sklearn.svm import LinearSVC
>>> clf = Pipeline([('vect', TfidfVectorizer()), ('svm', LinearSVC())])
clf现在是一个复合估计器,可以进行特征提取和 SVM 模型拟合。给定文档列表(即字符串的普通 Python list) documents和他们的标签 y , 调用
>>> cross_val_score(clf, documents, y)

将分别在每个折叠中进行特征提取,以便每个 SVM 只知道其 (k-1) 折叠训练集的词汇表。

关于scikit-learn - sklearn : vectorizing in cross validation for text classification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com