以下示例展示了如何使用 Sklearn 20 新闻组数据训练分类器。
>>> from sklearn.feature_extraction.text import TfidfVectorizer
>>> categories = ['alt.atheism', 'talk.religion.misc', 'comp.graphics', 'sci.space']
>>> newsgroups_train = fetch_20newsgroups(subset='train', ... categories=categories)
>>> vectorizer = TfidfVectorizer() >>> vectors = vectorizer.fit_transform(newsgroups_train.data)
>>> vectors.shape (2034, 34118)
但是,我有自己想要使用的标记语料库。
在获得我自己的数据的 tfidfvector 后,我会训练这样的分类器吗?
classif_nb = nltk.NaiveBayesClassifier.train(vectorizer)
回顾一下:
我如何使用我自己的语料库而不是 20newsgroups,但以与此处使用的方式相同的方式?
如何使用我的 TFIDFVectorizer 语料库来训练分类器?
Thanks!
解决评论中的问题;在某些分类任务中使用 tfidf 表示的整个基本过程您应该:
- You fit将向量化器添加到您的训练数据并将其保存在某个变量中,我们称之为tfidf
- You 转换通过 data = tfidf.transform(...) 训练数据(没有标签,只有文本)
- You fit使用 some_classifier.fit( data, labels ) 的模型(分类器),其中标签与数据中文档的顺序相同
- 在测试过程中,您对新数据使用 tfidf.transform( ... ) ,并检查预言你的模型的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)