我尝试使用下面的函数计算我创建的模型的准确率:
def accuracy(y_true, y_pred): accuracy = np.mean(y_pred == y_true) return accuracy
有时候它显示的准确率是正确的,有时候却不正确。有人能解释一下我该如何修改这个函数,使其显示的准确率与sklearn的accuracy_score一致吗?这是我方法得到的结果示例。
y_true[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]y_pred[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]KNN分类准确率: 0.0KNN分类准确率(sklearn): 0.9428571428571428
回答:
使用numpy,你可以这样做: