机器学习基础笔记

本文自整理机器学习基础笔记,涵盖机器学习核心概念、常用算法、建模流程、代码导包及模型评估,逻辑清晰、重点突出,适合入门学习和日常查阅,可直接用于学习总结或技术分享。

一、机器学习概述

1.1 人工智能三大概念

  • 人工智能(AI):核心是让系统像人一样思考、具备智能行为,是机器学习和深度学习的最终目标。

  • 机器学习(ML):实现人工智能的一种核心方式,通过算法让计算机从数据中学习规律,无需明确编程即可完成任务。

  • 深度学习(DL):机器学习的一种具体算法,基于神经网络构建,擅长处理海量数据、复杂特征(如图像、语音)。

1.2 机器学习发展三要素

数据、算法、算力,三者缺一不可:

  • 数据:机器学习的“燃料”,数据质量和数量直接决定模型效果;

  • 算法:核心逻辑,用于从数据中挖掘规律、构建模型;

  • 算力:支撑保障,尤其是海量数据和复杂算法(如深度学习),需要强大的计算能力。

1.3 基础概念

  • 样本:数据集中的一行数据,是模型学习的基本单位;

  • 特征:数据中除了索引和目标值之外的列,是模型用于预测的输入依据;

  • 目标值:根据特征得到的结果,是模型需要预测的输出(分类问题为离散值,回归问题为连续值);

  • 数据集的划分

    • 训练集:用于训练模型,包含特征(x_train)和目标值(y_train);

    • 测试集:用于评估模型效果,包含特征(x_test)和目标值(y_test);

    • 划分比例:常用 8:2 或 7:3,确保训练集足够大,测试集能客观反映模型泛化能力。

1.4 算法分类

(1)有监督学习

核心:每个样本都有明确的目标值,模型通过“特征-目标值”的对应关系学习规律。

  • 特点:准确率高,但数据标注成本高、训练效率低;

  • 分类:目标值为离散值(有穷,可为字符串),分为二分类和多分类;

  • 回归:目标值为连续值(仅数值类型),用于预测具体数值(如房价、温度)。

(2)无监督学习

核心:每个样本没有目标值,模型自动从数据中挖掘内在聚类规律。

  • 特点:无需数据标注,效率高,但准确率相对较低;

  • 典型算法:KMeans聚类。

(3)半监督学习

核心:只需人工标注部分数据,结合标注数据和未标注数据训练模型,兼顾效率和准确率。

流程:

  1. 专家先标注部分数据;

  2. 根据标注数据,创建并训练一个初步模型;

  3. 使用初步模型预测未标注数据,得到预测目标值;

  4. 专家修改不准确的预测结果,重复训练优化模型。

(4)强化学习

核心:模型通过“试错”学习,与环境交互,根据反馈(奖励/惩罚)调整行为,最终找到最优策略(如游戏AI、自动驾驶)。

1.5 机器学习的建模流程

  1. 准备数据:收集、整理原始数据,确保数据完整性;

  2. 数据预处理(数据清洗):处理缺失值、异常值,统一数据格式;

  3. 特征工程:优化特征,提升模型输入质量(核心步骤);

  4. 创建模型:根据任务类型(分类/回归/聚类)选择合适算法,训练模型;

  5. 模型评估:用测试集验证模型效果,调整参数优化模型;

  6. 模型上线:将优化后的模型部署到实际场景,持续监控效果。

1.6 特征工程

特征工程是提升模型效果的关键,核心是“筛选优质特征、优化特征表达”,分为5个步骤:

  1. 特征提取:一般先由领域专家根据业务经验,提取与目标值相关的特征;

  2. 特征预处理:解决特征的单位(量纲)问题,消除不同特征之间的尺度差异(如标准化、归一化);

  3. 特征降维:降低特征维度,减少冗余信息,提升模型训练效率,如将高维特征转为低维、高次项转为低次项;

  4. 特征选择:筛选出与目标值相关性高、信息量足的高质量特征,剔除无效特征;

  5. 特征组合:将现有特征进行乘法、加法等运算,生成新的特征(如“身高×体重”得到体质指数)。

1.7 模型拟合问题

模型拟合直接决定泛化能力,核心分为3种情况,结合奥卡姆剃刀原则(优先选择简单模型)优化:

  • 正好拟合:训练集和测试集效果都较好,模型泛化能力强,是理想状态;

  • 欠拟合

    • 表现:训练集和测试集效果都不好;

    • 原因:模型过于简单、特征数量不足;

    • 解决方法:使模型变复杂(如增加决策树深度)、添加更多有效特征。

  • 过拟合

    • 表现:训练集效果极好,测试集效果极差(模型“死记硬背”训练数据,无法适应新数据);

    • 原因:模型过于复杂、特征过多、数据量不足;

    • 解决方法:使模型变简单(如剪枝)、增加训练数据、使用正则化。

  • 泛化:模型对新数据的适应能力,是模型的核心评价标准,泛化能力越强,模型实用性越强。

二、KNN近邻算法

2.1 算法介绍

(1)核心原理

基于欧式距离(或其他距离计算方式),计算测试集样本与每个训练集样本之间的距离,将距离升序排列后,选取最近的K个样本,根据这K个样本的信息预测测试集结果。

(2)K值的选择

  • 常用范围:奇数,一般为[3,9],避免偶数投票平局;

  • K值过小:模型过于敏感,易受异常值影响,导致过拟合;

  • K值过大:模型过于简单,无法捕捉数据细节,导致欠拟合。

(3)应用场景

① 分类任务

思路:

  1. 计算测试集样本与每个训练集样本之间的距离;

  2. 基于距离升序排列;

  3. 选取最近的K个样本;

  4. 对K个样本进行投票(少数服从多数);

  5. 票数最多的类别,作为测试集样本的最终预测结果。

② 回归任务

思路:

  1. 计算测试集样本与每个训练集样本之间的距离;

  2. 基于距离升序排列;

  3. 选取最近的K个样本;

  4. 计算这K个样本目标值的平均值;

  5. 该平均值作为测试集样本的最终预测结果。

2.2 算法原理(距离计算方式)

  • 欧式距离:两点之间的直线距离(最短路径),是KNN默认的距离计算方式;

  • 曼哈顿距离:两点在标准坐标系上的绝对轴距总和(只能走直角,不能走斜线),适用于网格类场景;

  • 切比雪夫距离:两点在各个特征维度上差值的绝对值的最大值(只关心“最远的那个维度”,类似国际象棋中国王的移动);

  • 闵氏距离:欧式距离与曼哈顿距离的统一推广形式,通过参数p控制计算方式:

    • p=1:曼哈顿距离;

    • p=2:欧式距离;

    • p=∞:切比雪夫距离。

三、线性回归

3.1 算法简介

  • 核心作用:通过线性方程对特征和目标值进行拟合,找到最优线性方程(y = wx + b),用于对未知数据的连续值预测;

  • 种类:

    • 一元线性回归:仅包含一列特征(x为单个变量);

    • 多元线性回归:包含多列特征(x为多个变量),是实际场景中最常用的形式。

3.2 算法原理

(1)核心目的

找到最优的线性方程参数(w:权重,b:偏置),使得模型预测值与真实值的误差最小,即最小化损失函数。

(2)必备数学知识

  • 数据形式

    • 标量:只有大小,没有方向(如温度、年龄);

    • 向量:有大小和方向,默认是列向量(如单个样本的所有特征);

    • 矩阵:二维数组(如整个数据集,行为样本、列为特征);

    • 张量:多维数组(如图片数据,包含高度、宽度、通道数)。

  • 导数与偏导

    • 导数:针对一元函数,描述函数在某一点的变化率;

    • 偏导:针对多元函数,将其他变量视为常量,仅对某一个变量求导(核心用于梯度下降)。

  • 矩阵

    • 特殊矩阵:方阵(行数=列数)、对称方阵(沿对角线对称)、单位阵(对角线为1,其余为0);

    • 核心性质:乘法(不满足交换律)、转置(行变列、列变行)。

  • 范数:具有长度意义,用于衡量向量/矩阵的大小:

    • L1范数:各个元素绝对值之和(对应曼哈顿距离);

    • L2范数:每个元素平方和的平方根(对应欧式距离);

    • p范数:闵式距离的统一形式,由参数p控制。

(3)损失函数

  • 误差概念:单个样本的预测值(y_pred)与真实值(y_true)的差值(y_pred - y_true);

  • 核心作用:衡量每个样本预测值与真实值的偏差,损失函数取最小值时,得到最优参数(w、b);

  • 常见种类:

    • MSE(均方误差):损失值的平方和除以样本总数,对异常值敏感;

    • MAE(平均绝对误差):损失值的绝对值之和除以样本总数,对异常值更稳健;

    • 最小二乘法:损失值的平方和(未除以样本总数),是线性回归的核心损失函数。

(4)求损失函数最小值的方法

① 正规方程法
  • 原理:通过矩阵运算直接求解线性回归的全局最优解,无需迭代;

  • 适用场景:数据量小、特征少,追求精确解;

  • 局限:当矩阵不可逆时,无法求解。

② 梯度下降法
  • 原理:通过迭代逐步逼近最优解,每次迭代沿着损失函数的梯度方向(下降最快的方向)调整参数(w、b);

  • 适用场景:数据量大、特征多,或模型复杂(如神经网络);

  • 常见分类:

    • 全梯度下降(FGD/BGD):使用全部训练数据计算梯度,准确度高,但计算速度慢;

    • 随机梯度下降(SGD):使用单个样本计算梯度,速度快,但准确度低、易受异常值影响(机器学习中最常用);

    • 小批量梯度下降(Mini-batch):随机选择部分样本计算梯度,兼顾速度和准确度;

    • 随机平均梯度下降(SAG):每次计算梯度时,对历史梯度值取平均,提升稳定性。

3.3 回归问题的评估标准

核心用于量化模型预测值与真实连续值之间的偏差,衡量模型拟合优度:

  • MAE(平均绝对误差):预测误差绝对值的平均数,值越小,模型拟合效果越好;

  • MSE(均方误差):预测误差平方的平均数,对异常值敏感,值越小越好;

  • RMSE(均方根误差):MSE的平方根,单位与目标值一致,更易理解,值越小越好。

四、逻辑回归

4.1 算法介绍

  • 核心用途:解决二分类问题(如垃圾邮件识别、疾病诊断);

  • 核心逻辑:将线性回归的预测结果作为输入,传入sigmoid激活函数,输出[0,1]之间的预测概率值(概率≥0.5预测为正例,<0.5预测为反例)。

4.2 必备数学知识

  • sigmoid函数:取值区间为[0,1],核心作用是将线性回归的输出(任意实数)映射为概率值;

  • 极大似然估计:使用实际观察到的样本概率,反向推测未知参数,使模型预测的概率尽可能接近真实情况;

  • 对数运算:核心公式(logMN = logM + logN;logM² = 2logM),用于简化极大似然估计的计算;

  • 联合概率:多个独立事件同时发生的概率,等于各个事件概率的乘积。

4.3 算法原理

  1. 计算线性回归输出:y = wx + b(与线性回归一致);

  2. 将线性输出传入sigmoid函数,得到预测概率值:p = 1/(1 + e^(-y));

  3. 根据概率值判断类别:p≥0.5为正例,p<0.5为反例。

4.4 评价指标

(1)混淆矩阵

核心用于展示分类模型的预测结果,分为4种情况:

  • TP(真正例):真实正例预测为正例;

  • FN(伪反例):真实正例预测为反例;

  • FP(伪正例):真实反例预测为正例;

  • TN(真反例):真实反例预测为反例。

(2)核心评估指标

  • Precision(精确率):预测为正例的样本中,真正例的比例(TP/(TP+FP)),衡量正例预测的准确性;

  • Recall(召回率):所有真实正例中,被预测为正例的比例(TP/(TP+FN)),衡量正例的召回能力;

  • F1-score:精确率和召回率的调和平均数(2×Precision×Recall/(Precision+Recall)),综合平衡两者,避免单一指标的局限性;

  • ROC曲线和AUC指标

    • ROC曲线:描绘不同分类阈值下,TPR(真正例率)与FPR(假正例率)的关系;

    • AUC指标:ROC曲线下方的面积,取值范围[0,1],值越大,模型分类性能越好(AUC≥0.5才有意义)。

  • 分类评估报告:以报告形式展示上述所有指标,清晰呈现模型在各个类别上的表现。

五、决策树

5.1 核心区别

不同决策树算法的核心区别:判断将什么样的特征优先作为划分依据,最终影响树的结构和模型效果。

5.2 常见决策树算法

(1)ID3决策树

  • 核心依据:基于信息增益构建决策树,优先选择信息增益值大的特征作为划分依据;

  • 特点:倾向于选择特征取值种类多的特征(如身份证号、姓名等,易导致过拟合);

  • 核心概念:

    • 熵:衡量随机变量的不确定度,熵越大,数据不确定性越高;熵越小,不确定性越低;

    • 信息熵:描述数据的丰富程度(仅考虑目标值,与特征值无关),信息熵越大,分类越丰富;

    • 条件熵:给定某一特征后,目标值的熵(衡量该特征对目标值的影响程度);

    • 信息增益:信息熵 - 条件熵,值越大,该特征对分类的贡献越大。

(2)C4.5决策树

  • 核心改进:解决ID3倾向于多取值特征的问题,基于信息增益率构建决策树;

  • 核心概念:

    • 特征熵:仅考虑特征值的分布(与目标值无关),用于修正信息增益;

    • 信息增益率:信息增益 / 特征熵,优先选择信息增益率大的特征,倾向于选择特征取值种类少的特征。

(3)CART决策树

  • 核心特点:可用于分类,也可用于回归,是工业界最常用的决策树算法;

  • CART分类决策树:

    • 划分依据:优先选择基尼指数小的特征(基尼指数衡量数据的纯度,值越小,数据越纯净);

    • 预测方式:叶子节点中出现次数最多的类别作为预测类别。

  • CART回归决策树:

    • 划分依据:使用平方误差最小化策略(与线性回归的MSE类似);

    • 预测方式:叶子节点中所有样本目标值的均值作为预测结果。

  • 分类树与回归树的区别:

    • 输出类型:分类树输出离散值,回归树输出连续值;

    • 划分依据:分类树用基尼指数,回归树用平方损失;

    • 预测方式:分类树取众数,回归树取均值。

5.3 剪枝(解决过拟合)

决策树易过拟合(树深度过深,过度捕捉训练数据细节),剪枝是核心优化手段,分为两种:

(1)预剪枝

  • 核心:在决策树构建过程中,提前终止树的生长(如限制树的深度、限制叶子节点最少样本数);

  • 优点:效率高,节省训练时间;

  • 缺点:可能终止过早,导致欠拟合;

  • 相关参数:max_depth(最大深度)、min_samples_leaf(叶子节点最少样本数)、min_samples_split(节点分裂最少样本数)。

(2)后剪枝

  • 核心:先构建完整的决策树,再从叶子节点向上剪枝(删除冗余分支);

  • 优点:避免预剪枝的欠拟合问题,模型泛化能力更强;

  • 缺点:效率低,训练时间长;

  • 相关参数:ccp_alpha(剪枝系数,值越大,剪枝越彻底)。

5.4 ID3和C4.5总结

  1. ID3倾向选择:特征值种类多的特征,依据是信息增益;

  2. C4.5倾向选择:特征值种类少的特征,依据是信息增益率;

  3. 两者局限:仅能用于分类任务,无法用于回归任务。

六、集成学习

6.1 算法介绍

  • 核心思想:将多个弱学习器(基学习器,如决策树、逻辑回归)组合起来,形成一个精度更高、泛化能力更强的强学习器;

  • 核心优势:有效降低过拟合风险,提升模型稳定性和预测精度。

6.2 集成学习分类

(1)Bagging集成

  • 核心逻辑:对样本进行有放回的随机采样(bootstrap采样),同时可对特征进行随机采样;

  • 学习方式:多个弱学习器并行训练,相互独立;

  • 预测方式:多个弱学习器的结果进行多数表决(分类)或取均值(回归),得到最终结果;

  • 典型算法:随机森林。

(2)Boosting集成

  • 核心逻辑:不进行采样,使用全部数据集,重点关注前一个弱学习器预测错误的样本(提升错误样本的权重);

  • 学习方式:多个弱学习器串行训练,后一个学习器依赖前一个学习器的结果;

  • 预测方式:加权投票(预测效果好的弱学习器权重更高);

  • 典型算法:AdaBoost、GBDT、XGBoost。

(3)Stacking集成

  • 核心逻辑:模型堆叠,允许多种不同类型的算法组合(如决策树+逻辑回归+KNN);

  • 流程:用多个弱学习器预测结果,将预测结果作为新特征,输入到一个“元学习器”(如逻辑回归),得到最终预测结果。

(4)Bagging与Boosting的核心区别

区别维度

Bagging

Boosting

数据方面

有放回采样

全部数据集,重点关注错误样本

投票方面

平权投票

加权投票(效果好的权重高)

学习顺序

并行学习,无依赖关系

串行学习,有先后依赖

6.3 常见集成算法

  • 随机森林:Bagging集成的代表,基于多棵决策树,抗过拟合能力强,默认分类/回归首选; 

  • AdaBoost:Boosting集成的代表,核心是调整样本权重;

  • GBDT:梯度提升树,核心是下一个弱学习器拟合上一个弱学习器的残差(误差); GradientBoostingRegressor(回归)

  • XGBoost:GBDT的改进版,训练速度更快、精度更高,工业界常用;

七、KMeans聚类算法

7.1 算法介绍

  • 所属类别:无监督学习,样本数据没有目标值,无需人工标注;

  • 核心作用:将相似的样本自动聚成多个簇,用于用户分群、异常检测等场景;

  • 局限性:只能设置聚类簇数(n_clusters),无法控制内部聚类过程。

7.2 算法原理

  1. 随机从样本中选择n_clusters个样本作为初始质心(簇的中心);

  2. 计算其余每个样本与所有质心的相似性(默认用欧式距离,也可用余弦相似性、内积等),距离越近,样本越属于该质心所在的簇;

  3. 计算每个簇内所有样本的坐标平均值,更新该簇的质心位置;

  4. 重复步骤2-3,直到质心坐标不再变化,或达到最大迭代次数(max_iter),聚类结束。

7.3 评估指标

  • SSE(误差平方和):簇内所有样本与该簇质心的距离平方和,值越小越好(仅衡量簇内紧密度,无簇间考量);

  • SC(轮廓系数):综合考量簇内紧密度和簇间分离度,取值范围[-1,1],值越大越好;

  • CH(Calinski-Harabasz指数):推荐使用,综合考量簇内距离、簇间距离、质心个数、样本条数,值越大越好(簇越密集、分离越清晰)。

7.4 肘方法

类似网格搜索,用于选择最优的聚类簇数(n_clusters):

核心逻辑:遍历不同的n_clusters,计算每个簇数对应的SSE,绘制SSE-n_clusters曲线,曲线中“肘点”(SSE突然大幅下降的点)对应的簇数,即为最优簇数。

八、算法选择指南

8.1 分类问题(目标值为离散值)

  • KNN分类(KNeighborsClassifier):数据量小、特征少、不想训练模型、需要快速验证 baseline 时;

  • 逻辑回归(LogisticRegression):二分类问题首选、需要输出概率值、特征与结果呈线性关系、追求模型可解释性时;

  • 决策树分类(DecisionTreeClassifier):需要生成可视化规则(if-else)、数据有明显阈值界限、作为集成学习基座时;

  • 随机森林分类(RandomForestClassifier):默认首选,数据有噪声、特征多、怕过拟合、不需要太多调参就能获得高准确率时;

  • AdaBoost分类(AdaBoostClassifier):数据比较干净、弱分类器效果尚可、希望通过纠正错误提升精度时(现较少单独使用);

  • GBDT分类(GradientBoostingClassifier):工业界最强,数据量大、追求极致速度和精度、需要处理缺失值或大规模稀疏数据时。

8.2 回归问题(目标值为连续值)

  • KNN回归(KNeighborsRegressor):目标值随局部邻居平滑变化、数据分布不规则、不需要全局数学公式时;

  • 线性回归(LinearRegression):特征与目标明显呈直线关系、需要知道每个特征的具体系数(影响权重)、数据非常干净时;

  • SGD回归(SGDRegressor):海量数据(内存放不下)、需要在线学习(来一条数据更新一次模型)、对训练速度要求极高时;

  • 决策树回归(DecisionTreeRegressor):目标值呈现阶梯状分布(分段常数)、存在明显的阈值截断效应时;

  • 随机森林回归(RandomForestRegressor):万能替补,非线性关系复杂、特征之间有交互作用、不想做复杂特征工程时;

  • XGBoost回归(XGBRegressor):冲榜神器,需要比随机森林更精准的数值预测、能接受较长训练时间和复杂参数调整时。

8.3 聚类问题(无目标值)

  • KMeans:没有标签数据,只想把相似的数据自动分成几堆(如用户分群、异常检测、数据降维可视化)。

8.4 总结

预测类别:优先选逻辑回归(简单、可解释)或随机森林/XGBoost(高精度);

预测数值:优先选线性回归(线性关系)或随机森林/XGBoost(非线性关系);

数据量极大:选SGD(回归)、随机森林/XGBoost(分类/回归);

无标签数据:选KMeans聚类。

九、代码导包汇总(Sklearn)

9.1 数据准备

from sklearn.datasets import load_iris # 鸢尾花数据集(分类任务常用) 
from sklearn.datasets import make_blobs # 生成高斯分布数据集(聚类/分类常用)

9.2 数据划分

from sklearn.model_selection import train_test_split # 划分训练集和测试集

9.3 模型调优

from sklearn.model_selection import GridSearchCV # 交叉验证+网格搜索 from sklearn.model_selection import StratifiedKFold # 分层K折交叉验证(分类任务)
from sklearn.utils import class_weight # 平衡类别权重(解决类别不平衡问题)

9.4 数据预处理

from sklearn.preprocessing import StandardScaler # 标准化 
from sklearn.preprocessing import MinMaxScaler # 归一化 
from sklearn.preprocessing import LabelEncoder # 标签编码(将字符串标签转为数值)

9.5 模型创建(算法选择)

# KNN近邻算法 
from sklearn.neighbors import KNeighborsClassifier # KNN分类 
from sklearn.neighbors import KNeighborsRegressor # KNN回归 

# 线性回归 
from sklearn.linear_model import LinearRegression # 线性回归 
from sklearn.linear_model import SGDRegressor # 随机梯度下降回归 

# 逻辑回归 
from sklearn.linear_model import LogisticRegression # 逻辑回归(二分类/多分类) 

# 决策树 
from sklearn.tree import DecisionTreeClassifier # 决策树分类 
from sklearn.tree import DecisionTreeRegressor # 决策树回归 

# 集成学习 
from sklearn.ensemble import RandomForestClassifier # 随机森林分类 
from sklearn.ensemble import AdaBoostClassifier # AdaBoost分类 
from sklearn.ensemble import GradientBoostingClassifier # GBDT分类 
import xgboost as xgb # XGBoost 
xgb.XGBClassifier() # XGBoost分类 
xgb.XGBRegressor() # XGBoost回归 

# 聚类算法 
from sklearn.cluster import KMeans # KMeans聚类

9.6 模型评估

# 分类任务 
from sklearn.metrics import accuracy_score # 准确率 
from sklearn.metrics import confusion_matrix # 混淆矩阵 
from sklearn.metrics import precision_score # 精确率 
from sklearn.metrics import recall_score # 召回率 
from sklearn.metrics import f1_score # F1值 
from sklearn.metrics import classification_report # 分类评估报告

 # 回归任务 
from sklearn.metrics import mean_squared_error # MSE(均方误差) 
from sklearn.metrics import mean_absolute_error # MAE(平均绝对误差) 
from sklearn.metrics import root_mean_squared_error # RMSE(均方根误差) 

# 聚类任务(无监督学习) 
from sklearn.metrics import silhouette_score # SC轮廓系数 
from sklearn.metrics import calinski_harabasz_score # CH指数

十、机器学习公共能力总结

10.1 特征预处理

  • 归一化:将特征值统一到[0,1]区间,适用于图像处理,易受异常值影响;

  • 标准化:通过均值和标准差消除量纲,适用于大多数场景,不受异常值影响;

  • 使用总结:大多数情况用标准化;图片处理可用归一化。

10.2 模型调优

  • 交叉验证:仅对训练集进行划分,让模型训练更充分,提升评估准确性;

  • 网格搜索:遍历指定超参数组合,找到最优超参数;

  • 分层K折交叉验证:适用于分类任务,保证每折数据的类别分布与原始数据一致。

10.3 超参数

定义:写代码时可人为指定的参数(如KNN的K值、决策树的max_depth),需通过网格搜索、交叉验证优化。

10.4 模型评估指标汇总

(1)回归任务

  • MSE(均方误差)、MAE(平均绝对误差)、RMSE(均方根误差),三者综合考量,值越小越好。

(2)分类任务

  • 混淆矩阵:直观展示预测结果分布;

  • 精确率、召回率、F1-score:综合评估正例识别能力;

  • ROC曲线、AUC指标:评估模型整体分类性能,AUC越大越好;

更多推荐