【发布时间】:2019-01-23 08:31:59
【问题描述】:
我使用tfidfVectorizer 使用 tfidf 值作为权重来将我的词向量转换为句子向量。由于遇到内存错误,我决定改用HashingVectorizer。有没有办法像 tfidf_vectorizer.vocabulary_[word] 一样在这个设置中获取给定单词的向量?
【问题讨论】:
标签: python-3.x scikit-learn nlp tfidfvectorizer
我使用tfidfVectorizer 使用 tfidf 值作为权重来将我的词向量转换为句子向量。由于遇到内存错误,我决定改用HashingVectorizer。有没有办法像 tfidf_vectorizer.vocabulary_[word] 一样在这个设置中获取给定单词的向量?
【问题讨论】:
标签: python-3.x scikit-learn nlp tfidfvectorizer
HashingVectorizer 是一个无状态的转换器。如documentation of fit():
fit(X, y=None) Does nothing: this transformer is stateless.
fit() 方法只是为了与 scikit-learn 中的其他实用程序兼容。 HashingVectorizer 实际上什么都不记得了。所以没有词汇。它只是从提供的文档中获取标记,然后对其进行哈希处理以获取构造函数中n_features 定义的列:
n_features : integer, default=(2 ** 20)输出矩阵中的特征(列)数。少量的特征可能会导致哈希冲突,但大 数字会导致线性学习器中的系数维度更大。
【讨论】:
tfidf_vect.fit_transform(data) 步骤