TfidfVectorizer以什么方式处理单位数字?

时间:2019-07-23 14:41:34

标签: python scikit-learn tfidfvectorizer

我对TfidfVectorizer的{​​{1}}在我不知道的幕后究竟是做什么感到困惑。

我有这样的句子:

skelearn

但是当我在训练后看到sentence_1 = 'Sum: 1 Mean: 1 Min:1' 时,找不到任何元素'1'。

我怀疑vocabulary_对每个单个字母/数字令牌都这样做。


TfidfVectorizer在这种情况下会做什么?

1 个答案:

答案 0 :(得分:2)

这是因为token_pattern’(?u)\b\w\w+\b’。这意味着它将提取长度大于1的字母数字标记。因此1中不会弄清楚诸如2vocubulary_之类的标记。

Here位置,其中token_pattern用于提取令牌。

为演示示例,

import re
token_pattern = re.compile(r'(?u)\b\w\w+\b')
token_pattern.findall('i would like to test this 1 11')

# ['would', 'like', 'to', 'test', 'this', '11']

我们发现由于i模式,字母数字标记1findall并未从\b\w\w+\b中提取出来。

如果需要包含单个字符标记,请使用\b\w+\b