数据挖掘中的分类算法

2024年11月20日 | 阅读9分钟

数据挖掘

数据挖掘通常指彻底检查和分析各种形式的数据,以识别模式并更多地了解它们。大数据集首先在数据挖掘过程中进行排序,然后发现联系和模式,以促进数据分析和问题解决。

在数据挖掘中,分类的任务是根据数据集的特征为每个实例分配一个类标签。分类旨在开发一个模型,可靠地预测新实例基于其属性的类标签。

分类主要有两种类型

二元分类和多类分类。

多类分类包括将事件分为两类以上,而二元分类将示例分为两类,例如“垃圾邮件”或“非垃圾邮件”。

分类过程

构建分类模型的过程通常包括以下步骤

1. 数据收集

收集数据是创建分类模型的初始阶段。在此阶段收集与当前问题相关的信息。信息应说明问题并包含分类所需的所有质量和标签。各种来源,包括网站、数据库、调查和问卷,都可用于收集数据。

2. 数据预处理

准备数据是创建分类模型的第二阶段。为了保证数据质量,需要进行预处理。这包括处理异常值、解决缺失数字以及格式化数据以便进行分析。由于大多数分类方法需要数值输入,因此数据准备还包括将数据转换为数值形式。

3. 处理缺失值

数据集中的缺失值可以通过删除整个记录或替换相关特征的均值、中位数或众数来处理。

4. 处理异常值

几种统计方法,包括箱线图、散点图和Z分数分析,可以识别数据集中的异常值。相关特征的均值、中位数或众数可用于替换数据集中的异常值或将其完全删除。

5. 数据转换

数据转换是将数据缩放或归一化以适应通用尺度。这确保了分析中的每个特征都具有相同的权重。

6. 特征选择

特征选择是构建分类模型的第三阶段。查找数据集中最相关的特征进行分类称为特征选择。可以使用多种方法,包括主成分分析、信息增益和相关性分析。

7. 相关性分析

相关性分析旨在找出数据集中特征之间的联系。高相关性特征可以消除,因为它们不会为分类提供更多信息。

8. 信息增益

特征为分类提供的信息量由其信息增益衡量。选择高信息增益特征进行分类。

9. 主成分分析

主成分分析(PCA)降低了数据集的维度。PCA 找到数据集中最重要的特征并消除不必要的特征。

10. 模型选择

模型选择是构建分类模型的第四阶段。为手头任务选择最佳分类方法称为模型选择。有许多技术可用,包括神经网络、支持向量机和决策树。

11. 决策树

决策树是一种简单而有效的分类技术。它们根据特征值创建数据集的较小子集,并构建一个树状模型,可应用于分类。

12. 支持向量机

支持向量机(SVM)是一种广受欢迎的分类方法,适用于线性和非线性分类问题。最大边距的思想是SVM的基础,它涉及找到使两类之间距离最大化的超平面。

13. 神经网络

神经网络等强大的分类算法可以解读数据中复杂的模式。它们由多层连接节点组成,并以人脑的架构为模型。

14. 模型训练

模型训练是构建分类模型的第五阶段。使用所选的分类技术,模型训练涉及发现数据中的模式。数据会创建训练集和验证集。验证集用于评估模型在训练集上训练后的性能。

15. 模型评估

模型评估是构建分类模型的第六阶段。分析训练模型在测试集上的性能是模型评估过程。这样做是为了确保模型具有良好的泛化能力。

电子邮件过滤、情感分析和医学诊断只是数据挖掘中广泛使用分类的一些领域。

16. 分类

识别表征和区分数据类型和概念的模型的过程称为数据分析。分类的挑战是,给定包含观察结果且其类别成员身份已知的数据训练集,确定新观察结果属于哪个类别(子群体)。

示例

在开始一个项目之前,我们必须确定其可行性。在这种情况下,接受和进一步批准项目需要一个分类器来预测“安全”和“有风险”等类标签。它涉及两个步骤,如下所示

学习步骤(训练阶段)

分类模型的构建

分类器是使用多种算法构建的,这些算法使模型能够从提供的训练数据中学习。为了让模型准确预测结果,需要进行训练。

分类步骤

分类规则的准确性通过在测试数据上评估构建的模型并使用它来预测类标签来估计。

测试数据用于计算分类规则的准确性。

训练和测试

如果有人坐在风扇下,风扇开始掉落在他身上,他应该躲开以避免受伤。这是他的躲避训练。当一个人被测试时,如果他们注意到一个大物体接近或掉落到他们身上时,他们会躲开,那么系统就会被正面测试;如果他们原地不动,则会被负面测试。

同样,训练数据对于确保最佳和精确的结果是必要的。

某些与数据挖掘相关的数据类型可以告诉我们文件格式(即文本或数字格式)。

  • 属性:表示项目的几个特征。各种类别的属性包括
  • 二元:只有两个值,真和假。

示例 1

假设进行一项调查以评估一些商品。我们必须确定它是否有益。因此,客户必须回答“是”或“否”。

  • 产品有用性:是/否
  • 对称:在各个方面,这些值都同样重要。
  • 非对称:当两个值都可能无关紧要时。
  • 名义:当有超过两种可能的结果时。它不是整数形式,而是字母形式。

示例 2

有必要选择具有不同色调的材料。因此,色调可能是红色、黄色、绿色或黑色。

  • 各种色调:黄色、黑色、绿色和红色
  • 序数:需要以有意义的方式排列的值。

Example3

假设一些学生根据他们的表现有不同等级(A、B、C或D)的成绩单。

  • 分数:A、B、C和D
  • 连续:它是浮点类型,可以有无限个值。

示例 4

以有序或顺序方式计算少量学生的体重,例如50、51、52和53

  • 体重:51、52和53
  • 离散:有限数量的值。

示例 5

一些学生的科目成绩

  • 科目:66、71、75、80和90
  • 分数:66、71、75、80和90

语法

数学符号

构建一个函数,它接受输入特征向量“X”,并预测其输出“Y”,是分类的基础(在集合C中取值的定性响应)

分类器(或模型)是一种监督函数;它可以利用专家的专业知识手动开发。它旨在预测类标签。

(示例:标签:“是”或“否”表示事件是否被批准。)

分类器可以分为两大类

判别式

它是一个简单的分类器,为每一行数据分配一个单一的类。它主要依赖于数据质量而不是分布,并尝试仅表示可观察数据。

示例

逻辑回归生成式

通过估计模型的分布和假设,它试图理解在后台创建数据的模型,并模拟单个类的分布。用于预测看不见的数据。

朴素贝叶斯分类器

通过审查历史数据识别垃圾邮件。假设有100封电子邮件,按1:4划分(即A类:25%的电子邮件是垃圾邮件,B类:75%不是),现在,如果用户想验证一封电子邮件是否包含“便宜”一词,是否符合垃圾邮件的条件。

A类(即25%的数据)中25封电子邮件中有20封是垃圾邮件,而其他电子邮件不是。

优点

  • 基于挖掘的方法具有成本效益和效率
  • 有助于识别犯罪嫌疑人
  • 有助于预测疾病风险
  • 帮助银行和金融机构识别违约者,以便他们可以批准信用卡、贷款等。

缺点

  • 隐私:当数据提供给其他供应商或用于营利时,公司有可能将客户的一些信息提供给其他供应商。
  • 准确性问题:必须选择准确的模型以获得最佳准确性和结果。

应用

  • 营销和零售
  • 制造业
  • 电信行业
  • 入侵检测
  • 教育系统
  • 欺诈检测

数据挖掘中的技术和机器学习算法

1. 偏差-方差权衡

在使用分类算法时,了解偏差-方差权衡至关重要。高方差算法(如决策树)模型复杂,可能过拟合数据,而高偏差算法(如线性模型)模型简单,可能欠拟合数据。实现理想平衡至关重要。

2. 不平衡数据集

现实世界的数据集通常不平衡,一个类中的案例比其他类多。不平衡数据集非常适合某些算法,例如随机森林和梯度提升;但是,其他策略,例如成本敏感学习和重采样(过采样少数类或欠采样多数类),也可能是必需的。

3. 特征选择

数据准备中的关键阶段是特征选择。删除冗余或不必要的信息可以提高某些分类系统的性能。可以使用递归特征消除(RFE)和基于树的模型的特征重要性分数等特征选择技术来找到重要特征。

4. 交叉验证

评估分类算法有效性的重要方法是交叉验证。可以使用K折交叉验证等技术来估计模型对新的、未知数据的泛化能力。

5. 集成多样性

在构建集成模型时,确保基本分类器之间的多样性至关重要。如果所有基本分类器都相似,则集成的性能可能不会有太大提高。可以使用不同的方法、特征子集或引入随机性来创建多样性。

6. 超参数调整

通过调整某些超参数,分类算法通常可以表现得更好。网格搜索和随机搜索是确定模型最佳超参数集的两种流行技术。

7. 可解释模型

在某些应用程序中,可解释性很重要。深度神经网络等复杂模型不如逻辑回归和决策树等算法可解释。

8. 模型评估指标

可以根据问题和各种错误的显著性应用各种评估标准。准确率、精确度、召回率、F1分数、ROC-AUC和混淆矩阵是常见指标的示例。

9. 流式数据

在处理流式数据的应用程序中,分类算法可能需要适应新的数据分布。在这种情况下,可以应用增量学习和在线学习方法。

10. 迁移学习

使用迁移学习,在一个数据集或任务上训练的模型可以修改以用于类似的任务。当标记数据短缺时,这可以节省时间和资源。

11. 多标签分类

在某些应用程序中,一个实例可能同时属于多个类。多标签分类算法扩展了二元或多类分类技术来解决这种情况。

12. 道德考量

在使用数据挖掘中的分类算法时,考虑道德考量至关重要,例如数据中可能存在的偏见以及模型预测对个人和社会的影响。

13. 可解释性和公平性

可解释人工智能的发展以及机器学习模型中的公平性正受到越来越多的关注,尤其是在医疗保健和金融等关键应用中。伴随分类算法的发展,评估模型可解释性和公平性的工具和技术也应运而生。

14. 异常检测

异常检测是分类的一个分支,旨在发现偏离规范的独特、不常见的数据项。异常检测方法包括One-Class SVM、Isolation Forest和自动编码器。

15. 实时分类

某些应用程序需要实时分类。决策树和线性模型等预测密集型算法因其速度和效率而受到实时系统的青睐。

16. 主动学习

主动学习通过反复选择最具启发性的示例进行标记来提高模型性能,从而减少对大量标记数据集的需求。

17. 数据预处理

正确的数据准备(包括管理缺失值、编码分类数据和缩放特征)极大地影响了分类算法的有效性。