CountVectorizer仅返回零

时间:2017-03-06 20:05:07

标签: 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)

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

desired_output = [[1, 0, 0]
                  [0, 0, 1]]

非常感谢任何帮助

1 个答案:

答案 0 :(得分: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)