2014-06-24 15 views
15

Scikit-learn'in CountVectorizer sınıfı, class_log'da 'ingilizce' dizesini bir argümana geçirmenize izin verir. Bu önceden tanımlanmış listeye bazı şeyler eklemek istiyorum. Bana bunu nasıl yapacağımı söyleyen var mı?scikit-learn'in CountVectorizer'ın durma listesine kelimeler eklenmesi

+0

Varsayılan '' ingilizce '' stop_words' ve kendi bazı ekstralarınızın olmasını mı istiyorsunuz? – jonrsharpe

+0

Bu gönderi hayat kurtarıcı olmuştur. – TheM00s3

cevap

38

sklearn.feature_extraction.text için source code göre, ENGLISH_STOP_WORDS tam listesi (stop_words aslında bir frozenset) __all__ yararlanılır. Eğer bu listeyi artı biraz daha öğeleri kullanmak istiyorsanız Bu nedenle, böyle bir şey yapabileceğini:

from sklearn.feature_extraction import text 

stop_words = text.ENGLISH_STOP_WORDS.union(my_additional_stop_words) 

ve stop_words argüman olarak sonuç kullanın (my_additional_stop_words herhangi dizeleri dizisi olduğu). CountVectorizer.__init__ numaralı bu girdi _check_stop_list tarafından ayrıştırılır, bu da yeni frozenset ürününü doğrudan iletir.

+1

Bu sette sadece 318 stopwords olduğunu not etmek ilginç. Belki bu önceden sağlanan şifreler, onu kullanan kişi tarafından genişletilmelidir. –