Python:UnboundLocalError:赋值前引用了局部变量“mostfrequent”(KNeighborsClassifier)

2024-05-19 12:24:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着运行kneighborsClassifier来处理多个“k”,如下所示,但是在我做“预测”的地方出现了一个错误。当我以k=1运行相同的代码时,甚至多次运行,它都可以正常工作。这里的sklearn对象一定有我不明白的地方。这里的代码有什么问题?谢谢您。在

我的代码:

accuracy = []
f1score = []
predictions = []
for n in range(10):
    vectorizer = CountVectorizer()
    output = vectorizer.fit_transform(train_data)
    output_dev = vectorizer.transform(dev_data)

    neighbor = KNeighborsClassifier(n_neighbors = n)
    neighbor.fit(output, train_labels)
    predictions = neighbor.predict(output_dev)

    accuracy.append(round(sum(predictions == dev_labels) * 1.0 / len(predictions), 2))
    f1score.append(round(metrics.f1_score(dev_labels, predictions), 2))
print accuracy
print f1score

错误消息:

^{pr2}$

Tags: 代码devoutputdatalabels地方错误transform