模型评估是机器学习过程中的关键步骤,它帮助我们理解模型的性能,并指导我们进行后续的优化工作。以下是一些关于模型评估的基础知识。

常用评估指标

  • 准确率(Accuracy):模型正确预测的样本数占总样本数的比例。
  • 召回率(Recall):模型正确预测的阳性样本数占总阳性样本数的比例。
  • 精确率(Precision):模型正确预测的阳性样本数占总预测阳性样本数的比例。
  • F1 值(F1 Score):精确率和召回率的调和平均数。

评估方法

  • 交叉验证(Cross-validation):将数据集分成 k 个子集,轮流将其中一个子集作为测试集,其余作为训练集,进行多次训练和测试,最后取平均值。
  • K 折交叉验证(K-Fold Cross-validation):将数据集分成 k 个子集,每个子集作为测试集一次,其余作为训练集,进行 k 次训练和测试,最后取平均值。

示例

假设我们有一个分类问题,数据集包含 1000 个样本,其中 600 个样本是正类,400 个样本是负类。我们使用 10 折交叉验证进行模型评估。

from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression

# 创建模型
model = LogisticRegression()

# 使用 10 折交叉验证评估模型
scores = cross_val_score(model, X, y, cv=10)

# 输出平均准确率
print(f"平均准确率: {scores.mean()}")

扩展阅读

模型评估流程图