TypeError: ожидаемая строка или байтовоподобный объект HashingVectorizer - PullRequest
0 голосов
/ 07 мая 2018

Я сталкивался с этой проблемой при настройке набора данных. Все выглядит хорошо, не знаю, в чем проблема. Раз уж я новичок, может кто-нибудь сказать мне, что я делаю не так или я что-то упустил?

Проблема, кажется, в части предварительной обработки данных

Ошибка трассировки и заголовок информационного кадра был прикреплен как изображение ниже `

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)

`

трассировка стека заголовок кадра данных

1 Ответ

0 голосов
/ 08 мая 2018

Вы должны определить это так:

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

Когда вы не указываете key, берется значение для первого параметра в HashingVectorizer, равное input, и, следовательно, оно ошибочно.

...