2024-09-30 04:26:30 发布
网友
我对TfidfVectorizer的skelearn在我不知道的情况下到底做了什么感到困惑。你知道吗
TfidfVectorizer
skelearn
我有这样的句子:
sentence_1 = 'Sum: 1 Mean: 1 Min:1'
但是当我看到训练后的vocabulary_时,我找不到任何元素“1”。你知道吗
vocabulary_
我怀疑TfidfVectorizer对每个字母/数字标记都是这样做的。你知道吗
在这种情况下,TfidfVectorizer会做什么?你知道吗
这是因为token_pattern,也就是’(?u)\b\w\w+\b’。这意味着它将提取长度大于1的字母数字标记。因此像1、2这样的标记在vocubulary_中没有被发现。你知道吗
token_pattern
’(?u)\b\w\w+\b’
1
2
vocubulary_
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,1没有从findall中提取出来,因为\b\w\w+\b模式。你知道吗
i
findall
\b\w\w+\b
如果需要包含单字符标记,则使用\b\w+\b。你知道吗
\b\w+\b
这是因为
token_pattern
,也就是’(?u)\b\w\w+\b’
。这意味着它将提取长度大于1的字母数字标记。因此像1
、2
这样的标记在vocubulary_
中没有被发现。你知道吗Here位置,
token_pattern
用于提取令牌。你知道吗举个例子
我们可以发现字母数字标记
i
,1
没有从findall
中提取出来,因为\b\w\w+\b
模式。你知道吗如果需要包含单字符标记,则使用
\b\w+\b
。你知道吗相关问题 更多 >
编程相关推荐