[英]How do I classify documents with SciKitLearn using TfIdfVectorizer?
以下示例顯示了如何使用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)
回顧一下:我如何使用自己的語料庫而不是20個新組,但這里使用的方法相同? 那么如何使用我的TFIDFVectorized語料庫來訓練分類器呢?
謝謝!
解決評論中的問題; 在一些分類任務中使用tfidf表示的整個基本過程你應該:
一般來說,對於sklearn,流程是:
您沒有提到您的數據格式,但如果它是包含某些行的csv文件,則流程可能是:
一旦你訓練了分類器,就可以調用預測新數據。 記得在將新數據傳遞給classif.predict之前,使用上面使用過的和適合的矢量化器將新數據轉換為與您訓練過的數據相同的格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.