我在拟合数据集时遇到了这个问题。一切似乎都很好,不知道问题出在哪里。 既然我是初学者,任何人都可以告诉我我做错了什么或者我错过了什么?
问题似乎出现在数据预处理部分
中错误跟踪和数据框的头已附加如下图所示 `
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)
`
答案 0 :(得分:0)
你需要像这样定义:
steps = [('vectorizer',HashingVectorizer(tokenizer=TOKENS_ALPHANUMERIC,
norm=None, binary=False,
lowercase=False,
ngram_range=(1,2))),
('clf',OneVsRestClassifier(LogisticRegression()))]
当你没有指定key
时,HashingVectorizer中第一个参数的值是input
,因此它是错误的。