2011-07-07 28 views
5

Trong tôi scikits-học đường ống, tôi muốn vượt qua một vốn từ vựng tùy chỉnh để CountVectorizer():Scikits-học: Sử dụng từ vựng tùy chỉnh cùng với đường ống

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

Tuy nhiên, theo như tôi hiểu khi tôi gọi

text_classifier.fit(X_train, y_train) 

Đường ống sử dụng phương pháp fit_transform() của CountVectorizer(), bỏ qua myvocab. Làm thế nào tôi có thể sửa đổi đường ống của tôi để sử dụng myvocab? Cảm ơn!

Trả lời

9

Đây là lỗi khi tìm hiểu rằng tôi đã sửa five minutes ago. Cảm ơn vì đã phát hiện ra nó. Tôi đề nghị bạn hoặc nâng cấp lên phiên bản mới nhất từ ​​Github, hoặc tách vectorizer từ các đường ống dẫn như một cách giải quyết:

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) 

CẬP NHẬT: kể từ khi câu trả lời này đã được đăng, sửa chữa này đã được tích hợp trong một số scikit-học phát hành.

+1

Cảm ơn bạn đã khắc phục! – mathias

Các vấn đề liên quan