gpt4 book ai didi

python - 返回 CountVectorizer 中行的索引,这些行在 scikit 学习中具有特定功能的非零条目

转载 作者:行者123 更新时间:2023-11-28 17:41:53 27 4
gpt4 key购买 nike

我一直在搜索 Python 的 sklearn 包的文档。

我用我的语料库创建了一个 CountVectorizer 对象,对其进行了拟合和转换。

我正在寻找一个函数,该函数可以为某些特定列返回具有非零条目的所有行的索引。

因此,如果我的 CountVectorizer 中的行由音乐评论组成,而列由特征组成(例如,有一列用于统计单词“歌词”),那么 sci kit-learn 中是否有一个函数可以返回包含该词的乐评指标吗?

我查看了 inverse_transform(X) 函数,它没有执行此功能。

我想我不是第一个对此功能感兴趣的人。

sklearn 中是否存在这样的功能,如果不存在,是否有其他对类似过程感兴趣的人提出了实现此功能的好方法?

提前致谢。

更新:

我最好的解决方案是迭代列数(在我的例子中,我有 100 个特征):

for i in range(99):
print X.indices[X.indptr[i]:X.indptr[i+1]]

但这看起来很浪费,因为它是迭代的并且范围必须硬编码,并且它会为稀疏列返回空列表。

最佳答案

我在文档中也没有看到可以执行此操作的函数,但这应该可以解决问题:

def lookUpWord(vec,dtm,word):
i = vec.get_feature_names().index(word)
return dtm[:,i].nonzero()[0]

这是一个简单的例子:

>>> from sklearn.feature_extraction.text import CountVectorizer
>>>
>>> corpus = [
... 'This is the first document.',
... 'This is the second second document.',
... 'And the third one.',
... 'Is this the first document?'
... ]
>>>
>>> X = CountVectorizer()
>>> Y = X.fit_transform(corpus)
>>> lookUpWord(X,Y,'first')
array([0, 3], dtype=int32)

关于python - 返回 CountVectorizer 中行的索引,这些行在 scikit 学习中具有特定功能的非零条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23163477/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com