新手Python和sklearn在这里。我在下面的代码中遇到“类型错误”,我不明白。有人可以帮忙吗?
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(train_data)
Y = vectorizer.transform(dev_data)
print Y.shape
print dev_labels.shape
parameters = {'n_neighbors':[1,300] }
grid_search = GridSearchCV(KNeighborsClassifier(), parameters, scoring=metrics.f1_score(Y, dev_labels))
grid_search.fit(X, train_labels)
print "the score is", grid_search.score(Y, dev_labels)
print "The best value is achieved when k = ", grid_search.best_params_
train_data,dev_data是用于训练模型的基本数据。 Y.shape是(676,26879)而dev_labels.shape是(676,)
错误消息是GridSearchCV行上的“Type_error”。它说:TypeError:未确定对象的len()
什么对象未标注?
答案 0 :(得分:0)
您只需将scoring
参数更改为scoring='f1'
即可。这将为您完成这项工作。
您也错误地使用f1_score
方法。您的第一个参数是训练数据。相反,你传递的变换特征向量是不正确的。