Scikit learn 在sklearn-SVM中使用gensim随机投影

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随机投影在sklearn中训练SVM?
我需要使用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
上拟合/预测您的模型