[英]Python text Categorization using TFIDF
我有一個如下的數據集
**ID** **Text** **Category**
1 jake loves me more than john loves me Romance
2 july likes me more than robert loves me Friendship
3 He likes videogames more than baseball Interest
我需要使用上面作為我的文本分類的訓練數據,稍后當我傳遞一個新句子時,該句子需要被歸類為上表中提供的上述類別中的一個類別。
首先,我已經為上述數據集執行了TFIDF(術語頻率逆文檔頻率),如下所示
mydoclist = []
#below im only taking my field 'Text' as input
f = open('C:\sample4.csv', "r")
reader = csv.reader(f)
for row in reader:
models.append(row)
f.close()
tf = TfidfVectorizer(tokenizer=lambda doc: doc,lowercase=False, analyzer='word', min_df = 0, stop_words = 'english')
tfidf_matrix = tf.fit_transform(mydoclist)
feature_names = tf.get_feature_names()
tfs = tf.fit_transform(mydoclist)
#storing my tfidf matrix
import pickle
with open("x_result.pkl", 'wb') as handle:
pickle.dump(tfidf_matrix, handle)
我想知道如何使用我計算的tfidf矩陣標記上述數據集中的類別? 另外,以后如何使用上述數據對任何新數據進行分類?
你可以使用libsvm和python。
1.首先要做的是通過尊重libsvm提供的文件格式來表示您的文檔。
然后,你讀了數據:
from libsvm import *
prob = svm_problem(your data…)
3.你設置了svm參數
param = svm_parameter(kernel_type …)
4.訓練模型
m = svm_model(prob, param)
5.然后測試新文檔的模型
m.predict(your new data...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.