Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用TFIDF的Python文本分类_Python_Python 3.x_Tf Idf_Text Classification_Document Classification - Fatal编程技术网

使用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中的列车数据,我想知道如何根据我现有的类别进行分类培训