CountVectorizer仅返回零

Imm*_*alz 5 python scikit-learn

我正在尝试从给定文档中提取一些特征,给定一组预定义的特征.

from sklearn.feature_extraction.text import CountVectorizer
features = ['a', 'b', 'c']
doc = ['a', 'c']

vectoriser = CountVectorizer()
vectoriser.vocabulary = features
vectoriser.fit_transform(doc)
Run Code Online (Sandbox Code Playgroud)

但是输出是一个2x3数组,用零填充而不是:

desired_output = [[1, 0, 0]
                  [0, 0, 1]]
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激

Kew*_*ewl 4

这是因为 CountVectorizer 中的默认标记模式将删除任何只有一个字符长的单词。您可以更改默认令牌模式来解决此问题:

from sklearn.feature_extraction.text import CountVectorizer
features = ['a', 'b', 'c']
doc = ['a', 'c']

vectoriser = CountVectorizer(vocabulary=features, token_pattern=r"\b\w+\b")

vectoriser.fit_transform(doc)
Run Code Online (Sandbox Code Playgroud)