首页 > 教程攻略 > ai教程 >人工智能分类任务得分

人工智能分类任务得分

来源:互联网 时间:2026-08-01 07:35:32

1. 基础说明

先聊个基础概念:accuracy_score 是 scikit-learn 里专门用来衡量分类任务准确率的指标。它的公式很简单:

accuracy = 预测正确的样本数量 / 总样本数量

用法上,直接传入真实标签和预测标签就行:

from sklearn.metrics import accuracy_score
accuracy_score(y_true, y_pred)
# y_true:真实标签
# y_pred:模型预测标签

注意,这个函数只适用于分类任务,回归任务碰都别碰。

2. 重点避坑(你现在在做回归!)

你前面写的线性回归、Ridge、Lasso 都属于

回归问题

,输出的是连续数值,比如 3.56、12.78 这种。❌ 回归绝对不能用 accuracy_score,否则要么报错,要么算出一个毫无意义的值。

回归任务该用哪些指标?看这里:

  • mean_squared_error(MSE)—— 均方误差
  • mean_absolute_error(MAE)—— 平均绝对误差
  • r2_score(R²)—— 决定系数

把这几个记牢,别再用错。

3. 简单例子(分类场景正确示范)

来一个分类场景的示范,看看 accuracy_score 怎么用:

from sklearn.metrics import accuracy_score

# 真实类别
y_true = [0,1,1,0,1]
# 预测类别
y_pred = [0,1,0,0,1]

print(accuracy_score(y_true, y_pred))  # 输出 0.8

这里5个样本,预测对了4个,准确率就是0.8,很直观。

4. 配套区分速记

为了帮你快速区分,我整理了一张速查表:

指标 适用任务
accuracy_score 分类任务
mean_squared_error (MSE) 回归任务
r2_score 回归任务

5. 常见错误

很多新手直接把 accuracy_score 套到回归代码里,结果要么报错,要么算出一个毫无意义的数字。如果你现在运行:

accuracy_score(y, y_predict)

大概率直接报错!因为 y 是连续浮点数,不是离散类别标签。记住:分类用准确率,回归用误差和 R²,别混了。