Scikit learn 在sklearn-SVM中使用gensim随机投影
是否可以使用gensim随机投影在sklearn中训练SVM?Scikit learn 在sklearn-SVM中使用gensim随机投影,scikit-learn,tf-idf,gensim,Scikit Learn,Tf Idf,Gensim,是否可以使用gensim随机投影在sklearn中训练SVM? 我需要使用gensim的tfidf实现,因为它更擅长处理大的输入,然后我想把它放到一个随机投影中,在这个投影上我将训练我的SVM。我也很乐意将由gensim生成的tfidf模型传递给sklearn并使用它们的随机投影,如果这能让事情变得更简单的话。 但到目前为止,我还没有找到一种方法让这两个模型从gensim进入sklearn 我尝试过使用gensim.matutils.corpus2csc,但这当然行不通:TfidfModel和R
我需要使用gensim的tfidf实现,因为它更擅长处理大的输入,然后我想把它放到一个随机投影中,在这个投影上我将训练我的SVM。我也很乐意将由
gensim
生成的tfidf模型传递给sklearn
并使用它们的随机投影,如果这能让事情变得更简单的话。但到目前为止,我还没有找到一种方法让这两个模型从gensim进入sklearn
我尝试过使用
gensim.matutils.corpus2csc
,但这当然行不通:TfidfModel和RpModel都不是corpi,所以现在我不知道下一步要做什么。多亏了Chinmaya Pancholi()的出色gensim
贡献,这非常容易
只需从`gensim:
from gensim.sklearn_api import RpTransformer
然后,您可以像使用任何其他sklearn分类器一样使用该模型进行分析:
model = RpTransformer(num_topics=2)
clf = svm.SVC()
pipe = Pipeline([('features', model,), ('classifier', clf)])
pipe.fit(X_train, y_train)
在使用gensim
模型时,需要注意的一点是,您仍然需要执行字典
和语料库
步骤。因此,您不必在X_-train
上安装您的模型,而必须按照以下思路进行操作:
dictionary = Dictionary(X_train)
corpus_train = [dictionary.doc2bow(text) for text in X_train]
corpus_test = [dictionary.doc2bow(text) for text in X_test]
然后在corpus\u train
或corpus\u test
上拟合/预测您的模型