metrics.f1_score - 未确定对象的长度

时间:2016-07-08 17:09:48

标签: python scikit-learn

新手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()

什么对象未标注?

1 个答案:

答案 0 :(得分:0)

您只需将scoring参数更改为scoring='f1'即可。这将为您完成这项工作。

您也错误地使用f1_score方法。您的第一个参数是训练数据。相反,你传递的变换特征向量是不正确的。