数据挖掘算法

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

引言

数据挖掘算法属于特定的算法,它们有助于研究数据并创建模型以发现重要的趋势。这些是机器学习算法的组成部分。为了创建最有效的数据模型,这些算法使用各种计算机语言和工具实现,包括 Python、R 和数据挖掘工具。决策树的 C4.5 算法、用于聚类数据分析的 K-means、朴素贝叶斯算法、支持向量机算法以及用于时间序列数据挖掘的 Apriori 算法是其中一些著名的s数据挖掘算法。这些算法用于商业数据分析实现。这些应用于数据集的公式构成了算法的基础。

数据挖掘算法是计算方法,用于在海量数据库中发现模式、连接和有见地的信息。这些算法代表了更广泛的数据挖掘学科的关键部分,该学科试图从非结构化数据中提取有用信息。许多领域,包括商业、科学、医疗保健等,都可以从数据挖掘中受益。

数据挖掘算法

以下是一些常见的数据挖掘算法

1. C4.5 算法

称为分类器的数据挖掘方法使用多种构造。这些系统从一组案例中获取输入,每个案例属于少数几个类别之一,并由其针对预定属性集的值来指定。输出分类器可以精确预测其所属的级别。它使用决策树,并采用分治策略来获取第一个起始树。

假设 S 是一个类,并且树叶用 S 中最常出现的类型标记。可以根据具有两个或多个结果的单个属性选择测试,然后为每个测试任务创建一个分支。子集 S1、S2 等是每个案例的结果,对应于分区。C4.5 可以产生多个产品。C4.5 中添加了一个用于复杂决策树的不同公式,它由针对每个类别的规则列表组成。满足其要求的第一个类别被指定为用于对案例进行分类的第一个类别。如果患者缺乏能力,则为其指定默认类别。第一个决策树用于创建 C4.5 规则集。通过使用多个线程,C4.5 提高了可伸缩性。

2. K-means 算法

此过程可以轻松地将给定数据集 A 分成用户指定的聚类数量。此算法对 d 维向量进行操作,其中 i 是数据点,D=xi | i= 1, ... N。必须随机采样数据以获取这些初始数据种子。数据全局均值乘以 k 确定有限数据组的聚类解决方案。

为了描述非凸聚类,此方法可以与另一种算法结合。它从给定项集中生成 k 个组。通过其聚类分析,它检查完整数据集。与 K-means 结合使用时,它比其他算法更简单、更快。大多数专家将此方法归类为半监督学习。它指定聚类数量并在没有任何数据的情况下继续学习。它通过观察组来学习。

3. 朴素贝叶斯算法

贝叶斯定理为该算法提供了基础。该算法通常在输入维度较高时应用。此分类器可以快速计算下一个可能的输出。在操作过程中可以添加额外的原始数据,从而改进概率分类器。每个类都有一个预定向量集,旨在提供一个规则,允许随后将对象分配给类。

未来的事件通过变量向量描述。由于其构造简单且缺乏复杂的参数估计方案,该算法是最舒适的算法之一。此外,它易于应用于大型数据集。非熟练用户可以理解分类,因为不需要复杂的迭代参数估计系统。

4. 支持向量机算法

用户必须尝试支持向量机算法以获得可靠和准确的技术。SVM 的基本目的是学习分类、回归或排序函数。它基于统计学习理论和结构风险最小化。需要确定决策边界,也称为超平面。它有助于实现最佳的类分离。

找到最大化两种类型之间距离的边距是 SVM 的主要功能。两种类型之间的距离称为边距。超平面函数类似于直线方程 y= MX + b。SVM 也可以增强以执行数学运算。为了在更高维度上良好运行,SVM 使用核。该算法是监督学习的,数据集最初用于告知 SVM 所有分类。完成后,SVM 可以对这些新数据进行分类。

5. Apriori 算法

Apriori 算法常用于从事务数据集中确定关联规则并识别常见项集。由于其组合爆炸,查找频繁项集并不困难。一旦我们获得频繁项集,构建大于或等于规定最小置信度的关联规则就显而易见了。

Apriori 是一种使用候选项生成来帮助查找常见数据集的算法。假设当前项按项集的字典顺序排列。自推出以来,Apriori 数据挖掘已特别促进了研究。它易于使用。此算法的基本方法如下

  • 连接: 对于最常见的 1 项集,使用整个数据库。
  • 剪枝: 为了进入第二轮的两项集,此项集必须满足支持度和置信度要求。
  • 重复: 这将针对项集的每个级别执行,直到达到预定义的大小。

6. 关联规则挖掘

关联规则挖掘技术用于识别集合中对象或属性之间有趣的连接、模式或链接。它经常用于许多应用程序,包括零售、电子商务和推荐系统。它在市场篮子分析中特别有用。

下面更详细地解释关联规则挖掘

识别集合中项之间的关联或相关性是关联规则挖掘的主要目标。在描述数据中的模式时,这些链接通常采用“if-then”规则的形式。例如,“如果顾客购买产品 A,他们也可能购买产品 B。”

组成部分

关联规则挖掘主要包括两个要素

频繁项集生成

此步骤查找数据集中经常一起出现的项组(称为项集)。一起购买或使用的项组称为项集。例如,如果客户经常同时购买项 A、B 和 C,则这些项将构成一个频繁项集。

规则生成

识别后,系统根据这些常见项集生成关联规则。关联规则由前件(如果)和后件(则)组成。例如,关联规则可能表示“如果顾客购买项 A 和项 B,那么他们很可能购买项 C。”

度量: 关联规则挖掘采用多种度量来评估规则的价值和标准,包括

  • 支持度: 支持度量化一组项(或规则)在数据集中出现的频率。它是包含项集的事务占所有事务总数的比例。高支持度表示强关联。
  • 置信度: 置信度衡量规则正确的可能性。它是规则的前件和后件同时出现的事务占仅前件出现的事务的比例。高置信度表示变量之间存在密切关系。
  • 提升度: 提升度是给定前件后件出现的可能性与随机机会之间的差值。提升度值大于 1 表示正相关。如果提升度等于 1,则不存在超出机会的关系。

示例

以购物环境为例。如果您查看杂货店的销售数据,您可能会发现购买面包的人更有可能购买黄油。关联规则可能如下所示

  • 前件(如果): {面包}
  • 后件(则): {黄油}
  • 支持度: 5%(表示所有交易中有 5% 同时包含面包和黄油)
  • 提升度: 2(提升度大于 1 表示面包和黄油之间存在正关联)

7. 遗传算法

遗传算法(GA)是一种启发式优化方法,其灵感来自遗传学和自然选择的法则。它用于寻找复杂优化和搜索问题的近似答案。当搜索空间很大且传统优化技术可能效果不佳时,遗传算法特别适用。遗传算法的运作方式如下

关键字

  • 染色体: 在遗传算法中,染色体代表问题的潜在解决方案。染色体通常编码为二进制值字符串,尽管根据问题,此字符串也可以是另一个数据结构。
  • 基因: 基因是染色体中包含的二进制值。每个基因代表解决方案的一部分或质量。基因可以被改变、混合和测试以获得新颖的结果。
  • 种群: 一个种群由各种染色体组成。这些染色体代表了问题的许多可能解决方案。种群大小是算法开始时的参数。
  • 适应度函数: 使用适应度函数评估染色体(解决方案)的有效性。每个染色体都被赋予一个适应度分数,分数越高表示解决方案越优越。

算法中的步骤

遗传算法遵循一系列过程来演化和增强可行解决方案的种群

  • 初始化: 组装第一个染色体种群。通常,这些是随机生成的。
  • 评估: 使用适应度函数评估种群中每个染色体的适应度。
  • 选择: 从种群中选择一些个体作为下一代的父母。较高的适应度分数通常会增加候选者被选中的机会。
  • 重组(交叉): 将选定的父母配对以产生后代(新染色体)。交叉是指融合两个父母的遗传物质以产生一个或多个后代的过程。
  • 突变: 对某些后代的 DNA 进行一些微小的任意改变。这保持了种群多样性,并可以防止收敛到局部最优。
  • 替换: 用新孩子替换当前种群中的一些成员。通常,决定替换谁取决于他们的适应度水平。
  • 终止: 应重复前面的过程,直到满足终止条件(例如,发现可行的解决方案)或达到预定数量的代数。

示例

考虑使用遗传算法来确定一组任务的最佳时间表。种群中的染色体代表潜在的时间表,每个染色体中包含的基因代表任务的优先级。适应度函数衡量时间表减少完成所有任务所需时间的效果。遗传算法通过选择、交叉、突变和替换世代,寻找越来越好的时间表。

遗传算法具有适应性,可以解决各种问题,包括调度、机器学习,甚至游戏策略的演变。当问题领域复杂、多维且难以使用传统技术完全探索时,它们尤其有用。遗传算法模拟进化过程,这使它们能够找到使用其他技术可能不明显的解决方案。

结论

关联规则挖掘、聚类、分类和回归分析等数据挖掘方法对于从海量数据集中获取重要模式和洞察至关重要。例如,关联规则挖掘揭示了事务数据中项目之间的关系,这有助于市场篮子分析和产品推荐系统。具有相似特征的数据点被分组用于客户细分和定向广告。数据通过分类分为预定义的类别,这对于疾病诊断和垃圾邮件过滤等应用很有用。回归分析预测数字,这在银行业和房地产中很重要。此外,用于图像识别、时间数据分析、特征约简和欺诈检测的特定方法包括神经网络、时间序列分析、降维和异常检测。

虽然遗传算法优化了困难问题,但数据挖掘算法有助于从数据中获取洞察。关联规则挖掘发现了项目关联。Apriori 使这更简单。为了找到解决方案,遗传算法模仿进化。它们共同帮助理解数据模式并解决困难的优化问题。

总之,虽然遗传算法提供了一种强大的优化策略,可以在大型和困难的搜索空间中找到近似解决方案,但数据挖掘算法使组织和研究人员能够提取重要的洞察并解决复杂挑战。