当我使用以下代码时:

from sklearn.feature_extraction.text import CountVectorizer
X = dataset.Tweet
y = dataset.Type

count_vect = CountVectorizer()
BoW = count_vect.fit_transform(X)


它返回术语频率文档作为稀疏矩阵。

我发现了如何获取稀疏矩阵的数据,索引和indptr。

我的问题是如何获取列的名称(应该是要素还是单词)?

最佳答案

您要使用的是vectorizer.get_feature_names()。这是文档中的一个示例:

from sklearn.feature_extraction.text import CountVectorizer
corpus = [
    'This is the first document.',
    'This document is the second document.',
    'And this is the third one.',
    'Is this the first document?',
]
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(corpus)
print(vectorizer.get_feature_names())
# ['and', 'document', 'first', 'is', 'one', 'second', 'the', 'third', 'this']
print(X.toarray())
# [[0 1 1 1 0 0 1 0 1]
#  [0 2 0 1 0 1 1 0 1]
#  [1 0 0 1 1 0 1 1 1]
#  [0 1 1 1 0 0 1 0 1]]


文件连结:https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html

关于python - python中CountVectorier稀疏矩阵中的列名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57860515/

10-09 03:06