分类模型是一种预测建模,它根据特征值将数据组织到预定义的类别中。
分类模型是一种机器学习模型,它将数据点划分为称为类的预定义组。分类器是一种预测建模类型,它能从输入数据中学习类别特征,并学会根据这些学习到的特征为新数据分配可能的类别。1 分类算法在数据科学中被广泛用于预测模式和预测结果。事实上,它们在现实世界中有诸多用例,例如,根据潜在健康风险对患者分类和垃圾邮件过滤。
分类任务可以是二元的,也可以是多类的。在二元分类问题中,模型在两个类别之间进行预测。例如,垃圾邮件过滤器将电子邮件分类为垃圾邮件与非垃圾邮件。多类分类问题将数据分为两个以上的类别标签。例如,图像分类器可以使用大量类标签对宠物图像进行分类,例如狗、猫、美洲驼、鸭嘴兽等。
一些来源(尤其是网上来源)将分类视为一种监督式机器学习形式。但是分类器并不仅仅属于监督学习领域。分类问题的无监督学习方法一直是近期研究的重点。
当然,每种机器学习分类算法的内部操作都不同。尽管如此,所有这些都遵循一般的两步数据分类流程:
学习。在监督学习中,人类注释者会为训练数据集中的每个数据点分配一个标签。这些点被定义为一些输入变量(或自变量),可能是数字、文本字符串、图像特征等。用数学术语来说,该模型将每个数据点视为一个元组 x。元组只是一个有序的数字序列,表示为 x = (x1,x2,x3…xn)。元组中的每个值都是数据点的一个给定特征。模型使用每个数据点的特征及其类别标签来解码每个类别的特征。根据这一公式映射训练数据集,模型就能学习到与每个类别标签相关的一般特征(或变量)。
分类。分类任务的第二步是分类本身。在此阶段,用户在未知数据的测试集上部署模型。以前未使用的数据非常适合评估模型分类,以避免过拟合。该模型使用其学习到的预测函数 y=f(x) 根据每个样本的特征将未知数据分类为不同类别。然后,用户根据正确预测的测试数据样本的数量来评估模型的准确性。2
分类模型输出两种类型的预测:离散和连续。
离散。离散预测是每个数据点的预测类标签。例如,我们可以使用预测变量根据健康数据将医疗患者分类为糖尿病与非糖尿病。糖尿病和非糖尿病是离散分类预测。
连续。 分类器将类预测分配为称为置信度分数的连续概率。这些概率是介于 0 和 1 之间的值,表示百分比。我们的模型可能会将患者归类为糖尿病的概率为 0.82。这意味着该模型认为患者有 82% 的几率是糖尿病,有 18% 的几率是非糖尿病。
研究人员通常在使用连续预测作为阈值的同时使用离散预测来评估模型。分类器会忽略某个阈值以下的任何预测。例如,如果我们的糖尿病预测变量的阈值为 0.4 (40%) 并将一个患者归类为糖尿病的概率为 0.35 (35%),则模型将忽略该标签,并且不会将该患者分配到糖尿病类。3
研究人员和开发人员对分类模型使用了各种各样的评估指标。所选择的评估指标取决于具体的分类任务。所有指标都衡量学习者(即分类器)预测模型类的准确性。
分类指标使用通用术语。真阳性 (TP) 是指模型在相应类别中正确预测的那些数据样本。假阳性 (FP) 是指那些被错误识别为阳性的阴性类实例。假阴性 (FN) 是指被错误地预测为阴性的实际阳性实例。真阴性 (TN) 是指被模型准确归类为阴性的实际阴性类实例。
精确率。这称为阳性预测值 (PPV)。它是指实际属于相关类的阳性类预测的比例。例如,在垃圾邮件过滤器中,精确率是指被模型分类为垃圾邮件的邮件实际上就是垃圾邮件的比例。计算公式为:4
召回率。也称为敏感性或真阳性率 (TPR),表示模型检测到的类实例的百分比。返回到垃圾邮件过滤器,召回率表示被模型实际分类为垃圾邮件的实际垃圾邮件的数量。计算公式为:5
F1 分数。精确率和召回率之间呈反比关系;当分类器返回更多的真阳性(召回率提高)时,分类器不可避免地也会对非实例(即假阳性)进行错误分类,从而降低精确率。F1 分数旨在解决这一权衡问题。F1(或 F 分数)有效地结合了精确率和召回率来表示模型的总体类准确率。计算公式为:6
数据可视化工具有助于阐明数据分析的结果。数据科学家和机器学习研究人员使用两个主要工具来可视化分类器性能:
混淆矩阵。混淆矩阵是一个表,其列表示给定类的预测值,而行表示实际值,反之亦然。左上框中是真阳性的数量;左下框中是假阳性的数量;右上框中是假阴性的数量;右下框中是真阴性的数量。将每个数值相加,就得出了模型的预测总数。7 二元分类器的混淆矩阵可能如下所示:
ROC 曲线。受试者工作特征 (ROC) 曲线用于可视化真阳性与真阴性的比例。图中绘制了模型分类中使用的每个阈值的真阳性率与真阴性率的对比情况。曲线下面积 (AUC) 统计数据源自 ROC 曲线。AUC 衡量的是随机选择的阳性结果比随机选择的阴性结果具有更高置信度分数的可能性。AUC 的值范围为 0 到 1。前者表示该模型将所有阴性结果排在阳性结果前面的概率更高,而 1 则表示该模型将所有阳性结果排在前面的概率更高。8
有许多不同类型的分类算法。尽管它们有重叠的用例,但有些比其他用例更适合特定的应用。以下是三种流行的用于分类的机器学习算法的概述。通过使用各种 scikit-learn 库,这三种算法都可以很容易地在 Python 中实现。
在线资源经常将机器学习分类和回归任务并列。但这太过简单了。逻辑回归是从线性回归模型派生的概率分类器。线性回归使用一个或多个自变量来预测一个自变量的值,该值可以是任何连续有理数。逻辑回归是对线性回归的修改,例如将输出值(或自变量)限制为 0 到 1 之间的任何值。其方法是对标准线性回归公式应用 logit(也称为 log odds)转换:9
逻辑回归模型对于多元回归问题的二元分类很有用。常见应用是欺诈检测和生物医学预测。例如,逻辑回归已被用于帮助预测创伤和冠心病引发的患者死亡率。10
朴素贝叶斯分类器(也称为朴素贝叶斯)是一种基于贝叶斯定理的流行分类器。它与其他分类器的主要区别之一是计算类别预测的后验概率。这意味着朴素贝叶斯会使用每条新数据更新初始类别预测(称为先验概率)。例如,假设我们试图对患者患糖尿病的概率进行分类。该患者的医疗数据(例如血压、年龄、血糖水平等)是自变量。为了进行预测,贝叶斯分类器利用患者的医疗数据值出现在糖尿病患者身上的概率(条件概率)来计算人群中当前认为的糖尿病患病率(先验概率)。朴素贝叶斯分类器遵循贝叶斯公式:11
朴素贝叶斯是一种生成式分类器。这意味着贝叶斯分类器通过使用给定观测值的变量值来计算最有可能生成观测值的类。自然语言处理 (NLP) 研究人员已广泛将朴素贝叶斯应用于情感分析等文本分类任务。使用 Bag of Words 模型,其中每个词构成一个变量,朴素贝叶斯分类器用于进行情感分析。预测是正类还是负类产生了相关文本。12
K 最近邻 (KNN) 将数据点映射到多维空间。然后,它将具有相似特征值的数据点分成不同的组或类。要对新的数据样本进行分类,分类器只需查看与新的给定数据样本测试输入 x 最近的 k 个点,计算每个类中有多少成员组成邻居子集,然后将该比例作为新数据点的类估计值返回。换句话说,该模型会将新数据点分配给该点近邻中占多数的类别。KNN 模型通常用欧氏距离来比较数据点之间的距离:13
使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。
1 Chris Drummond, “Classification,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
2 Jaiwei Han, Micheline Kamber, and Jian Pei, Data Mining: Concepts and Techniques, 3rd edition, Morgan Kaufman, 2012.
3 Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
4 Ethan Zhang and Yi Zhang, “Precision,” Encyclopedia of Database Systems, Springer, 2018.
5 Ethan Zhang and Yi Zhang, “Recall,” Encyclopedia of Database Systems, Springer, 2018.
6 Ben Carterette, “Precision and Recall,” Encyclopedia of Database Systems, Springer, 2018.
7 Kai Ming Ting, “Confusion matrix,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
8 Peter Flach, “ROC Analysis,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
9 Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016. Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, and Jonathan Taylor, An Introduction to Statistical Learning with Applications in Python, Springer, 2023
10 Lisa X. Deng, Abigail May Khan, David Drajpuch, Stephanie Fuller, Jonathan Ludmir, Christopher E. Mascio, Sara L. Partington, Ayesha Qadeer, Lynda Tobin, Adrienne H. Kovacs, and Yuli Y. Kim, "Prevalence and Correlates of Post-traumatic Stress Disorder in Adults With Congenital Heart Disease," The American Journal of Cardiology, Vol. 117, No. 5, 2016, pp. 853-857, https://www.sciencedirect.com/science/article/abs/pii/S0002914915023590 .
11 Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016. William Bolstad and James Curran, Introduction to Bayesian Statistics, 3rd edition, Wiley, 2016.
12 Daniel Jurafsky and James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3rd edition, 2023.
13 Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016. Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012.
14 Ville Hyvönen, Elias Jääsaari, Teemu Roos, “A Multilabel Classification Framework for Approximate Nearest Neighbor Search,” Journal of Machine Learning Research, Vol. 25, No. 46, 2024, pp. 1−51, https://www.jmlr.org/papers/v25/23-0286.html .