c 机器学习中的 7 种分类算法https://www.projectpro.io/article/7-types-of-classification-algorithms-in-machine-learning/435https://www.projectpro.io/article/7-types-of-classification-algorithms-in-machine-learning/435https://www.projectpro.io/article/7-types-of-classification-algorithms-in-machine-learning/435以上为参考链接。
目录
1 分类任务的类型
1.1 二元分类
1.2 多元分类
1.3 多标签分类
1.4 不平衡分类
2 分类算法如何工作
3 数据预处理
4 创建测试集和训练集
5 选择模型
6 分类算法的类型
6.1 朴素贝叶斯分类器
6.1.1 优点
6.1.2 缺点
6.1.3 应用
6.2 逻辑回归
6.2.1 优点
6.2.2 缺点
6.2.3 应用
6.3 决策树分类算法
6.3.1 优点
6.3.2 缺点
6.3.3 应用
6.4 随机森林分类算法
6.4.1 优点
6.4.2 缺点
6.4.3 应用
6.5 支持向量机
6.5.1 优点
6.5.2 缺点
6.5.3 应用
6.6 K最近邻分类算法
6.6.1 优点
6.6.2 缺点
6.6.3 应用
6.7 K-Means聚类算法
6.7.1 优点
6.7.2 缺点
6.7.3 应用
7 如何决定选择哪种分类算法
主要将数据集分类两类,也意味着输出变量只有两个值。比如将邮件标记为“垃圾邮件”还是“非垃圾邮件”。
数据集分为多个种类,输出变量也有多个值。比如经典的Iris数据集,根据花的花瓣长度、萼片长度、花瓣宽度和萼片宽度,分成三种花。
一种特殊类型的分类任务,对于数据集中的每个实例具有多个输出变量,也就是说,一个实例可以有多个标签。比如在图像分类中,单个的图像可能包含多个对象,这些对象可以通过算法进行标记,例如公共汽车、红绿灯、斑马线等。
不平衡分类是指数据集的实例中具有偏向或者偏态分布的分类问题,也就是一类输入变量的频率高于其他输入变量。比如通过交易数据集中的信用卡检测欺诈交易。通常,此类交易的数量要少得多,因此这会使机器难以学习此类交易。
为了解决分类问题,我们使用称为机器学习分类算法的数学模型。他们的任务是找出目标变量如何与输入特征 xi 和输出值 yi 相关联。在数学方面,估计函数 f(xi) 通过将相关特征作为输入来预测输出变量的值。我们可以这样写,
其中 y'i 表示输出变量的预测响应。
在将任何统计算法应用于数据集之前,我们必须彻底了解输入变量和输出变量。在分类问题中,目标总是定性的,但有时,甚至输入值也可以是分类的,例如著名的 Mall Customer Dataset 中客户的性别。由于分类算法是从数学上推导出来的,因此必须将所有变量转换为数值。分类算法工作的第一步是确保变量,无论是输入还是输出,都已正确编码。
处理完数据集后,下一步是将数据集分为两部分:测试数据集和训练数据集。这一步允许使用训练数据集让我们的机器学习输入和输出值之间的模式。另一方面,测试数据集测试模型的准确性,我们将尝试将其放入我们的数据集中。
一旦我们将数据集拆分为训练和测试,下一个任务就是选择最适合我们问题的模型。为此,我们需要了解流行的分类算法。因此,让我们深入研究不同类型的分类算法池并探索我们的选择。
以下是您将了解的不同类型分类算法的列表:
朴素贝叶斯分类器,最简单有效的分类算法之一。它的基础是贝叶斯定理,它描述了如何根据可能与事件相关的条件的先验知识来评估事件的概率。在数学上,这个定理指出——
其中 P(Y|X) 是事件 Y 的概率,假设 X 已经发生。
P(X) 是事件 X 的概率,
P(Y) 是事件 Y 的概率,
P(X|Y) 是给定 Y 的固定值时事件 X 的可能性。
如果 X 代表一个特征变量,Y 代表一个目标变量,那么贝叶斯分类器会将该标签分配给产生最高概率的特征。为简单起见,考虑一个二分类问题,其中特征变量只能有两个可能的值,Y=1 或 Y=0。然后,如果 Pr(Y=1|X=x0) > 0.5,贝叶斯分类器将预测类别 1,否则预测类别 2。
在不止一个特征的情况下,我们可以使用以下公式来评估概率,
我们假设两个特征 X1 和 X2 是相互独立的。事实上,由于这个假设,“朴素”这个词被附加到贝叶斯的分类器上。
该算法类似于贝叶斯分类器,因为它也预测 Y 与输入变量 X 相关联的概率。它使用逻辑函数,
并使用最大似然技术拟合参数 ð??›ƒ0 和 ð??›ƒ1。该技术涉及最大化由下式给出的似然函数
在评估这两个参数后,可以轻松地使用逻辑函数来预测给定输入 xi 的目标变量概率 p(xi)。
对于不止一个特征变量(X1, X2,..., XP),公式可以概括为
该算法涉及根据数据集中的某些特征变量将数据集划分为多个段。这些划分的阈值通常是各自特征变量的平均值或众数(如果它们是数字)。由于树可以表示用于分割数据集的一组分割规则,因此该算法称为决策树。
查看下面的示例以更好地理解它。
红色文本表示如何根据输出变量将数据集拆分为多个段。结果是具有最高比例的班级。
现在,很自然要问的问题是该算法使用什么标准来分割数据。有两种广泛使用的度量来测试分割的纯度(如果数据集的片段只有一个类的数据点,则它是纯的)。
第一个是定义的基尼指数
测量 N 个类别的总方差。另一种度量是交叉熵,定义为
在两个等式中,pmk 表示第 m 个片段中属于第 k 个类别的训练变量的比例。
我们根据该特征将数据集拆分为多个段,从而产生熵或基尼指数的最小值。
森林由大量的树木组成。同样,随机森林涉及处理许多决策树。每棵树预测目标变量的概率值。然后我们对产生最终输出的概率进行平均。
我们评估每棵树如下:
该算法利用具有令人兴奋的变化的支持向量分类器,使其适用于评估非线性决策边界。通过使用称为kernels 的特殊函数扩大特征变量空间,这成为可能 。该算法考虑的决策边界允许将特征变量标记为目标变量。它用于评估边界的数学函数由下式给出
其中 K 代表核函数。
KNN 算法通过识别给定观察点的 K 个最近邻居来工作。然后它使用 K 个点评估每种类型的目标变量的比例,然后预测具有最高比例的目标变量。例如,考虑以下情况,我们必须将目标值标记为点 X。然后,如果我们在它周围取四个邻居,该模型将预测该点属于粉红色的类。
K-Means Clustering 是一种将数据集划分为 K 个不重叠的组的聚类算法。该算法的第一步是指定预期的簇数 K。然后,任务是将数据集划分为 K 个簇,以使簇内变化尽可能小。算法过程如下:
总之,该算法最小化输入点与相应聚类质心之间的偏差平方和。将其命名为 K 均值聚类的原因是步骤 2a) 将属于特定聚类的观测值的均值评估为聚类质心。
下面我们有一个列表,可以帮助您了解应该使用哪些分类算法来解决业务问题。