2011-07-07 8 views
5

と私のscikits学習パイプラインで、私は)CountVectorizer(にカスタム語彙を渡すしたいと思います:Scikits学習:使用カスタム語彙一緒にパイプライン

text_classifier = Pipeline([ 
    ('count', CountVectorizer(vocabulary=myvocab)), 
    ('tfidf', TfidfTransformer()), 
    ('clf', LinearSVC(C=1000)) 
]) 

しかし、私の知る限り呼び出すときに私は理解して

text_classifier.fit(X_train, y_train) 

パイプラインは、myvocabを無視するCountVectorizer()のfit_transform()メソッドを使用します。 myvocabを使用するようにパイプラインを変更するにはどうすればよいですか?ありがとう!

答えて

9

これはscikit-learnのバグで、私はfive minutes agoと固定されていました。それを見つけていただきありがとうございます。

count = CountVectorizer(vocabulary=myvocab) 
X_vectorized = count.transform(X_train) 

text_classifier = Pipeline([ 
    ('tfidf', TfidfTransformer()), 
    ('clf', LinearSVC(C=1000)) 
]) 

text_classifier.fit(X_vectorized, y_train) 

UPDATE:私はあなたがいずれかのGithubから最新バージョンへのアップグレード、または回避策としてパイプラインからベクトライザーを分離示唆この回答が投稿されたため、この修正プログラムは、いくつかの中に組み込まれていscikit-学びますリリース。

+1

ありがとうございました! – mathias

関連する問題