我是sklearn和countvectorizer的新手。
一些奇怪的行为发生在我身上。
初始化计数矢量化器
from sklearn.feature_extraction.text import CountVectorizer
count_vect = CountVectorizer()
document_mtrx = count_vect.fit_transform(df['description'])
count_vect.vocabulary_
count_vect.vocabulary_
Out[28]:
{u'viewscity': 36216,
u'sizeexposed': 31584,
u'rentalcontact': 29104,
u'villagebldg': 36323,
获取包含单词rentalcontact
的行df[df['description'].str.contains('rentalcontact')]
返回的行数是0.为什么会这样?
答案 0 :(得分:2)
CountVectorizer的参数lowercase
默认为True
- 这很可能就是为什么您无法找到这些值。
所以试试这个:
df[df['description'].str.lower().str.contains('rentalcontact')]
# ^^^^^^^
更新:
词汇_: dict
术语与功能索引的映射。
u'rentalcontact': 29104
- 表示'rentalcontact'
在功能列表中有一个索引29104
。
即。 vectorizer.get_feature_names()[29104]
应该返回'rentalcontact'