我想知道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中的特征条目的顺序是否相同?
是。当您调用fit()
时,它会创建一个从文本字符串到列索引的词汇词典。它使用它来转换其他数据集。这在任何序列化和反序列化中都会保留。
vec.vocabulary_
> {u'book': 0, u'cool': 1, u'is': 2, u'love': 3, u'movie': 4, u'this': 5}