我正在尝试从给定的文档中提取一些功能,并提供一组预定义的功能。
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/