我正在尝试从给定的文档中提取一些功能,并提供一组预定义的功能。

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]]

任何帮助将非常感激

最佳答案

这是因为CountVectorizer中的默认标记模式将摆脱仅一个字符长的任何单词。您可以更改默认 token 模式来解决此问题:

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)

关于python - CountVectorizer仅返回零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42634581/

10-12 17:39