这是我的代码:
import pandas as pa
from sklearn.linear_model import Perceptron
from sklearn.metrics import accuracy_score
def get_accuracy(X_train, y_train, y_test):
perceptron = Perceptron(random_state=241)
perceptron.fit(X_train, y_train)
result = accuracy_score(y_train, y_test)
return result
test_data = pa.read_csv("C:/Users/Roman/Downloads/perceptron-test.csv")
test_data.columns = ["class", "f1", "f2"]
train_data = pa.read_csv("C:/Users/Roman/Downloads/perceptron-train.csv")
train_data.columns = ["class", "f1", "f2"]
accuracy = get_accuracy(train_data[train_data.columns[1:]], train_data[train_data.columns[0]], test_data[test_data.columns[0]])
print(accuracy)
我不明白为什么会出现这样的错误:
^{pr2}$我想通过这种方法得到准确度,通过得到这种类型的误差。我在谷歌上搜索,找不到任何可以帮助我的东西。谁能告诉我发生了什么?在
sklearn.metrics.accuracy_score()
接受y_true
和y_pred
参数。也就是说,对于同一个数据集(可能是测试集),它希望知道实际情况和模型预测的值。这将允许它评估与假设的完美模型相比,您的模型的性能如何。在在代码中,您将为两个不同的数据集传递真正的结果变量。这些结果都是真实的,决不能反映模型正确分类观测值的能力!在
更新您的
get_accuracy()
函数也将X_test
作为参数,我认为这更符合您的意图:相关问题 更多 >
编程相关推荐