首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:应为字符串或类似字节的对象HashingVectorizer

TypeError:应为字符串或类似字节的对象HashingVectorizer
EN

Stack Overflow用户
提问于 2018-05-07 23:38:33
回答 1查看 269关注 0票数 1

我一直面临着这个问题,虽然安装dataset..Everything似乎很好,但不知道问题出在哪里。由于我是一个初学者,谁能告诉我我做错了什么,或者我错过了什么?

问题似乎出在数据预处理部分。

错误跟踪和数据帧头已附加为下面的图像`

代码语言:javascript
复制
train = pd.read_csv('train.txt', sep='\t', dtype=str, header=None)
test =  pd.read_csv('test.txt', sep='\t', dtype=str, header=None)

X_train = train.iloc[:,1:]
y_train = train.iloc[:,0:1]

X_test = test.iloc[:,1:]
y_test = test.iloc[:,0:1]

TOKENS_ALPHANUMERIC = '[A-Za-z0-9]+(?=\\s+)'

steps = [('vectorizer',HashingVectorizer(TOKENS_ALPHANUMERIC,
                                                     norm=None, binary=False, lowercase=False,
                                                     ngram_range=(1,2))),
         ('clf',OneVsRestClassifier(LogisticRegression()))]

pipeline = Pipeline(steps)
pipeline.fit(X_train,y_train)
accuracy = pipeline.score(X_test,y_test)
print(accuracy)

`

stack trace dataframe head

EN

回答 1

Stack Overflow用户

发布于 2018-05-08 15:58:23

你需要这样定义它:

代码语言:javascript
复制
steps = [('vectorizer',HashingVectorizer(tokenizer=TOKENS_ALPHANUMERIC,
                                         norm=None, binary=False, 
                                         lowercase=False,
                                         ngram_range=(1,2))),
         ('clf',OneVsRestClassifier(LogisticRegression()))]

当你没有指定key时,这个值被用于HashingVectorizer中的第一个参数,它是input,因此它是错误的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50217863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档