使用TFIDF的Python文本分类
我有一个如下的数据集使用TFIDF的Python文本分类,python,python-3.x,tf-idf,text-classification,document-classification,Python,Python 3.x,Tf Idf,Text Classification,Document Classification,我有一个如下的数据集 **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 videogam
**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提供的文件格式来表示您的文档 2.然后,您可以读取数据:
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...)
你需要训练一个模特。请参阅
sklearn
网站上的教程。感谢您的输入和分享本文。目前,我正在寻找非常基本的实施,在那里我可以使用我的CSV中的列车数据,我想知道如何根据我现有的类别进行分类培训