簡體   English   中英

Python文本使用TFIDF進行分類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM