TypeError:使用HashingVectorizer的预期字符串或类似字节的对象

时间:2019-06-05 15:23:11

标签: scikit-learn

我正在使用SKLearn的HashingVectorizer模块,由于标题中的错误消息,因此出现了问题。

我的问题与this one非常相似,但是那里列出的答案都不适用于我的情况。我的数据集没有任何空值,我正在指定所有关键字参数。

这是我的代码:

from sklearn.feature_extraction.text import HashingVectorizer
from sklearn.linear_model import SGDClassifier
vect = HashingVectorizer(decode_error='ignore', n_features=2**21, 
    preprocessor=stemming_tokenizer)
clf  = SGDClassifier(loss='log', random_state=1, max_iter=1)
doc_stream = stream_docs(path='movie_data.csv')

我的问题是preprocessor参数。当我删除它就可以了。但是出于实际原因,我无法真正将其删除,也不确定为什么要这样做。

stemming_tokenizer的代码是这样的:

def stemming_tokenizer(phrase):
    return [stemmer.stem(word) for word in phrase.split()]

在此确切上下文中不使用时,包括在TfidfVectorizer的相同参数中使用时,它都可以工作。

0 个答案:

没有答案