我正在使用scikit learn开发一个垃圾邮件分类器。
以下是我的向量化代码。
vectorizer = TfidfVectorizer(
analyzer='word',
sublinear_tf=True,
strip_accents='unicode',
token_pattern=r'\w{1,}',
ngram_range=(1, 1),
max_features=10000)
tfidf = vectorizer.fit(data['text'])
features = vectorizer.transform(data['text'])
import pickle
pickle.dump(tfidf, open('tfidf.pickle', 'wb'))
这是我用来预测新输入的方法:
import joblib
model = joblib.load('model')
vect = pickle.load(open('tfidf.pickle', 'rb'))
new = vect.transform(['some new text...'])
mod.predict(new)
当我打开向量化文件(tfidf.pickle)并尝试预测新信息时,它显示以下错误:
ValueError: X.shape[1] = 7148 应该等于38011,即训练时的特征数量