【问题标题】:Does TfidfVectorizer keep order of the features?TfidfVectorizer 是否保持功能的顺序?
【发布时间】:2016-01-05 01:50:23
【问题描述】:

我想知道 TfidfVectorizer 在使用 scikit-learn 转换文档时是否保持特征的顺序。这是我正在做的事情:

from sklearn.feature_exteraction.text import TfidfVectorizer
corpus = ['this  movie is cool', 'I love this book']
vec = TfidfVectorizer()
X = vec.fit_tranform(corpus)
joblib.dump(vec, './vec') 
doc = 'What are the coolest movies in 2015' 
vec = joblib.load('./vec')
X_test = vec.transform([doc])

现在,我的问题是 X 和 X_test 中的特征条目是否以相同的顺序排列?

【问题讨论】:

  • 请注意,在您的示例中,您的测试文档中没有任何单词出现在您的训练语料库中,因此X_test 将全为零(参见例如X_test.A.any() 的输出)

标签: scikit-learn tf-idf


【解决方案1】:

是的。当您调用fit() 时,它会创建一个从文本字符串到列索引的词汇字典。它使用它来转换其他数据集。这在任何序列化和反序列化中都会保留。

vec.vocabulary_
> {u'book': 0, u'cool': 1, u'is': 2, u'love': 3, u'movie': 4, u'this': 5}

【讨论】:

    猜你喜欢
    • 2021-10-04
    • 1970-01-01
    • 2018-12-28
    • 2016-05-02
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    相关资源
    最近更新 更多