【数据挖掘】--算法

【数据挖掘】--算法

  • 目录:
  • 1. 缺失值和数值属性处理
    • 1缺失值处理:
  • 2. 用于文档分类的朴素贝叶斯
  • 3. 分治法:建立决策树
  • 4. 覆盖算法建立规则
  • 5. 挖掘关联规则
  • 6. 线性模型
    • 有效寻找最近邻
      • 暴力搜索(Brute-Force Search)
      • kd树(k-dimensional Tree)
      • 局部敏感哈希(Locality Sensitive Hashing,LSH)
      • 球树(Ball Tree)
      • 局部敏感哈希(Locality Sensitive Hashing,LSH)
  • 7. 基于实例的学习
  • 8. 聚类
  • 9. Weka

目录:

1. 缺失值和数值属性处理

1缺失值处理:

删除法:当缺失值比例较小时,可删除包含缺失值的样本。但这种方法会损失数据,可能影响模型准确性。例如在一个客户信息表中,若少数客户的某个不关键属性有缺失值,可删除这些记录。
- 填补法
- 均值/中位数填补:对于数值属性,用该属性的均值或中位数填补缺失值。比如在学生成绩数据中,用平均成绩填补缺失的成绩值。
- 模型预测填补:利用其他属性和机器学习模型预测缺失值。如使用线性回归模型,基于学生的平时表现、作业成绩等属性预测缺失的考试成绩。

  • 数值属性处理
    • 归一化:将数值属性的值映射到[0, 1]或[-1, 1]区间,消除量纲影响。常见方法有最小 - 最大归一化: x n e w = x − x m i n x m a x − x m i n x_{new}=\frac{x - x_{min}}{x_{max}-x_{min}} xnew=xmaxxminxxmin。例如在处理不同单位的身高和体重数据时,归一化可使它们在同一尺度上。
    • 标准化使数据具有零均值和单位方差,公式为 z = x − μ σ z=\frac{x - \mu}{\sigma} z=σxμ,其中 μ \mu μ是均值, σ \sigma σ是标准差。这在许多基于距离的算法中很重要,如K近邻算法。

2. 用于文档分类的朴素贝叶斯

朴素贝叶斯基于贝叶斯定理和特征条件独立假设。==假设文档$d$由特征向量$x=(x_1,x_2,\cdots,x_n)$表示,类别为$C$==。贝叶斯定理为$P(C|x)=\frac{P(x|C)P(C)}{P(x)}$。由于特征条件独立假设,$P(x|C)=\prod_{i = 1}^{n}P(x_i|C)$。

例如在垃圾邮件分类中, C C C表示“垃圾邮件”和“非垃圾邮件”类别, x i x_i xi可以是邮件中出现的单词。通过训练数据计算 P ( C ) P(C) P(C)(先验概率)和 P ( x i ∣ C ) P(x_i|C) P(xiC)(似然概率),进而对新邮件进行分类。

3. 分治法:建立决策树

  • 计算信息量:信息熵是衡量数据不确定性的指标,
  • **公式为$H(X)=-\sum_{i = 1}^{n}p(x_i)\log_2p(x_i)$
  • 其中 p ( x i ) p(x_i) p(xi)是事件 x i x_i xi发生的概率。在决策树构建中,通过计算信息增益来选择分支属性。****
  • 信息增益 $IG(X,Y)=H(X)-H(X|Y)$,$H(X)$是数据集$X$的熵 H ( X ∣ Y ) H(X|Y) H(XY)是在属性 Y Y Y给定条件下 X X X的条件熵
  • 高度分支属性通常选择信息增益最大的属性作为分支属性,这样能使决策树在每一步划分后,数据的不确定性减少最多。例如在根据天气属性(晴天、多云、雨天等)和温度属性划分是否适合户外运动的数据集时,计算每个属性的信息增益,选择信息增益大的属性优先进行分支。
    在这里插入图片描述

4. 覆盖算法建立规则

  • 一个简单的覆盖方法:从整个数据集开始,找到一条能覆盖尽可能多正例且少覆盖反例的规则。然后从数据集中移除该规则覆盖的正例,重复上述过程,直到所有正例都被覆盖。例如在一个二分类任务中,先找到一条规则“如果年龄
    在这里插入图片描述

30 且收入 > 50000,那么类别为 A”,移除符合该规则的正例后继续寻找下一条规则。

  • 规则与决策列表决策列表是由一系列规则组成,按顺序应用这些规则进行分类。挖掘决策列表时,每次选择最优规则添加到列表中,并更新数据集,直到数据集分类完成

在这里插入图片描述

5. 挖掘关联规则

  • 项集:项集是一组项的集合。例如在超市购物篮数据中,{牛奶, 面包}就是一个项集。频繁项集是指出现次数达到一定阈值的项集。
  • 关联规则形如 A ⇒ B A \Rightarrow B AB,表示如果项集 A A A出现,那么项集 B B B也可能出现。例如“购买啤酒的顾客也倾向于购买尿布”。
  • 有效的生成规则:常用Apriori算法,它基于“频繁项集的所有非空子集也一定是频繁的”这一先验性质,通过逐层搜索生成频繁项集,进而生成关联规则。首先找到频繁1 - 项集,然后生成候选2 - 项集,剪枝得到频繁2 - 项集,以此类推。

6. 线性模型

  • 数值预测:线性回归:假设因变量 y y y与自变量$x_1,x_2,\cdots,x_n$之间存在线性关系 加粗样式 y = β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β n x n + ϵ 加粗样式y=\beta_0+\beta_1x_1+\beta_2x_2+\cdots+\beta_nx_n+\epsilon 加粗样式y=β0+β1x1+β2x2++βnxn+ϵ

  • 其中 β i \beta_i βi是系数, ϵ \epsilon ϵ是误差项。通过最小化损失函数(如均方误差 M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 MSE=\frac{1}{n}\sum_{i = 1}^{n}(y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2

  • y i y_i yi是真实值, y ^ i \hat{y}_i y^i是预测值)来确定系数 β i \beta_i βi。例如预测房价, y y y是房价, x 1 x_1 x1是房屋面积, x 2 x_2 x2 是房间数量等。

  • 线性分类:Logistic回归:用于二分类问题,通过将线性函数的输出经过Sigmoid函数 σ ( z ) = 1 1 + e − z \sigma(z)=\frac{1}{1 + e^{-z}} σ(z)=1+ez1
    在这里插入图片描述

  • 将结果映射到[0, 1]区间,表示样本属于正类的概率。损失函数通常使用对数似然损失,通过梯度下降等方法优化参数。

  • 使用感知机的线性分类:感知机是一种简单的线性分类模型,通过权重向量 w w w和偏置 b b b对输入特征向量 x x x进行线性组合 y = sign ( w T x + b ) y = \text{sign}(w^Tx + b) y=sign(wTx+b),其中 sign \text{sign} sign是符号函数。感知机通过不断调整 w w w b b b,使误分类样本数量减少。

  • 使用Winnow的线性分类Winnow是一种用于在线学习的线性分类算法,它通过对权重进行指数式更新来处理二分类问题,对不同特征赋予不同的权重,更关注重要特征

有效寻找最近邻

暴力搜索(Brute-Force Search)

  • 原理:对于给定的查询点,计算它与数据集中所有点的距离,然后找出距离最小的点,即最近邻。
  • 示例:假设有一个包含多个二维点的数据集{(1,2), (3,4), (5,6), (7,8)},要查找点(2,3)的最近邻。通过计算(2,3)与数据集中每个点的欧氏距离,如与(1,2)的距离为 ( 2 − 1 ) 2 + ( 3 − 2 ) 2 = 2 \sqrt{(2 - 1)^2+(3 - 2)^2}=\sqrt{2} (21)2+(32)2 =2 ,与(3,4)的距离为 ( 2 − 3 ) 2 + ( 3 − 4 ) 2 = 2 \sqrt{(2 - 3)^2+(3 - 4)^2}=\sqrt{2} (23)2+(34)2 =2 等,比较后发现(1,2)(3,4)都是(2,3)的最近邻。
  • 优缺点:优点是实现简单,在数据集较小时效果较好;缺点是当数据集规模较大时,计算量呈指数增长,效率低下。

kd树(k-dimensional Tree)

  • 原理:将数据点按照k维空间进行划分,构建树形结构。在搜索最近邻时,利用树的结构快速排除不可能是最近邻的区域,从而减少计算量。

  • 示例:对于二维数据集,kd树可能会按照x轴或y轴交替划分数据空间。比如有数据点(1,1), (2,3), (4,2), (3,5),可能先按照x轴将空间分为两部分,左边包含(1,1),右边包含(2,3), (4,2), (3,5),然后在右半部分再按照y轴划分等。在查找最近邻时,从根节点开始,根据查询点与节点的位置关系决定搜索路径。

  • 优缺点适用于低维数据,能显著提高搜索效率;但在高维数据下,性能可能下降,存在“维数灾难”问题

  • 原理:将数据点划分到一系列嵌套的球中,每个节点对应一个球,球内包含若干数据点。搜索时,通过判断查询点与球的位置关系,快速确定是否需要在该球内继续搜索。

  • 示例:假设有一组三维数据点,球树会将这些点划分到不同的球中,比如一个球内包含(1,1,1), (2,2,2), (3,3,3)等点,另一个球内包含(4,4,4), (5,5,5)等点。在查找最近邻时,先判断查询点位于哪些球附近,再进一步在这些球内搜索。

  • 优缺点:相比kd树,在高维数据下可能有更好的性能;但构建球树的时间和空间复杂度较高。

在这里插入图片描述

在这里插入图片描述

局部敏感哈希(Locality Sensitive Hashing,LSH)

  • 原理利用哈希函数将数据点映射到哈希桶中,使得相似的数据点有较高概率被映射到同一个哈希桶或相邻的哈希桶中。在搜索时,只需在查询点所在的哈希桶及相邻哈希桶中查找最近邻。
  • 示例:对于文本数据,可以根据文本的特征构建哈希函数。例如,将文本中出现的单词组合作为特征,通过哈希函数将文本映射到不同的哈希桶。如果两个文本相似,它们包含的单词组合相似,就可能被映射到同一个或相邻的哈希桶中。
  • 优缺点能快速处理大规模数据,在高维数据和近似最近邻搜索中表现出色;但可能会有一定的误报率,即找到的不一定是真正的最近邻,而是近似最近邻。

球树(Ball Tree)

  • 原理:将数据点划分到一系列嵌套的球中,每个节点对应一个球,球内包含若干数据点。搜索时,通过判断查询点与球的位置关系,快速确定是否需要在该球内继续搜索。
  • 示例:假设有一组三维数据点,球树会将这些点划分到不同的球中,比如一个球内包含(1,1,1), (2,2,2), (3,3,3)等点,另一个球内包含(4,4,4), (5,5,5)等点。在查找最近邻时,先判断查询点位于哪些球附近,再进一步在这些球内搜索。
  • 优缺点:相比kd树,在高维数据下可能有更好的性能;但构建球树的时间和空间复杂度较高。

局部敏感哈希(Locality Sensitive Hashing,LSH)

  • 原理:利用哈希函数将数据点映射到哈希桶中,使得相似的数据点有较高概率被映射到同一个哈希桶或相邻的哈希桶中。在搜索时,只需在查询点所在的哈希桶及相邻哈希桶中查找最近邻。
  • 示例:对于文本数据,可以根据文本的特征构建哈希函数。例如,将文本中出现的单词组合作为特征,通过哈希函数将文本映射到不同的哈希桶。如果两个文本相似,它们包含的单词组合相似,就可能被映射到同一个或相邻的哈希桶中。
  • 优缺点:能快速处理大规模数据,在高维数据和近似最近邻搜索中表现出色;但可能会有一定的误报率,即找到的不一定是真正的最近邻,而是近似最近邻。
    ht-aligned 文本居右 |

7. 基于实例的学习

**- 距离函数:用于衡量实例之间的相似性,常见的有欧几里得距离 d ( x , y ) = ∑ i = 1 n ( x i − y i ) 2 d(x,y)=\sqrt{\sum_{i = 1}^{n}(x_i - y_i)^2} d(x,y)=i=1n(xiyi)2 ,曼哈顿距离 d ( x , y ) = ∑ i = 1 n ∣ x i − y i ∣ d(x,y)=\sum_{i = 1}^{n}|x_i - y_i| d(x,y)=i=1nxiyi。例如在二维空间中,计算两个点之间的距离。

  • 有效寻找最近邻:可以使用KD - 树等数据结构加速最近邻搜索。KD - 树将数据空间递归划分,通过比较当前节点的分割轴坐标,快速定位可能包含最近邻的子空间。**

8. 聚类

  • 基于距离的迭代聚类:如K - Means算法,首先随机选择 k k k个质心,然后将每个样本分配到距离最近的质心所在的簇,接着重新计算每个簇的质心,重复上述过程直到质心不再变化或达到最大迭代次数。目标函数是最小化每个样本到其所属簇质心的距离平方和

J = ∑ i = 1 k ∑ x j ∈ C i ∥ x j − μ i ∥ 2 J=\sum_{i = 1}^{k}\sum_{x_j \in C_i}\left \| x_j - \mu_i \right \|^2 J=i=1kxjCixjμi2,其中 k k k是簇的数量, C i C_i Ci是第 i i i个簇, μ i \mu_i μi是第 i i i个簇的质心, x j x_j xj

数据点。

  • 快速距离计算:对于大规模数据集,可以采用一些近似算法或利用数据结构加速距离计算,如使用三角不等式等性质减少不必要的距离计算。

  • 多实例学习:与传统单实例学习不同,多实例学习中每个样本由多个实例组成一个包(bag),标签作用于包而不是单个实例。例如在图像分类中,一张图像可能包含多个物体,图像(包)被标记为包含某种物体(正例)或不包含(反例),但不知道具体哪个物体实例对应标签。

  • 聚集输入:将多个输入实例组合成一个更复杂的输入表示,例如将多个时间序列数据聚合为一个特征矩阵,以捕捉数据的全局特征。

  • 聚集输出:将多个模型的输出进行聚合,如在集成学习中,将多个分类器的预测结果通过投票、平均等方式聚合,得到最终的预测结果。
    在这里插入图片描述

9. Weka

Weka是一个基于Java的开源机器学习软件,包含了大量的机器学习算法和工具。它提供了图形界面(如Explorer、Experimenter等)和命令行界面,方便用户进行数据预处理、模型训练、评估等操作。例如,在Weka的Explorer界面中,可以直接加载ARFF格式数据,选择不同的分类算法(如朴素贝叶斯、决策树等)进行训练和测试,并查看模型性能指标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/973559.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据库系统概论】第6章 (三)数据依赖的公理系统

推理规则 定理 函数依赖的其他五条推理规则。 (1) A4(合并性规则):{X→Y,X→Z}| X→YZ。 (2) A5(分解性规则):{X→Y,Z  Y}| X→Z …

1.22作业

1 Web-php-unserialize __construct()与$file、__destruct() __wakeup()检查 先绕过wakeup函数: O:4:"Demo":2:{s:10:"Demofile";s:8:"fl4g.php";}1.PHP序列化的时候对public protected private变量的处理方式是不同的 public无标…

IDEA + 通义灵码AI程序员:快速构建DDD后端工程模板

作者:陈荣健 IDEA 通义灵码AI程序员:快速构建DDD后端工程模板 在软件开发过程中,一个清晰、可维护、可扩展的架构至关重要。领域驱动设计 (DDD) 是一种软件开发方法,它强调将软件模型与业务领域紧密结合,从而构建更…

什么是矩阵账号?如何高效运营tiktok矩阵账号

‍‌​​‌‌​‌​‍‌​​​‌‌​​‍‌​​​‌​‌​‍‌​​‌​​‌​‍‌​‌‌​‌‌‌‍‌​‌​‌​​​‍‌​​‌​‌‌​‍‌​​​​‌‌​‍‌​‌​​‌‌‌‍‌​​‌‌​‌​‍‌​‌​​‌‌‌‍‌​‌‌‌​​‌‍‌‌​​‌‌‌​‍‌‌​​‌‌​​‍‌…

用JMeter给要登录的操作做压力测试

压力测试的http请求路径如下图 应当添加http Header Manager,设置登录凭证

【DeepSeek 行业赋能】从金融到医疗:探索 DeepSeek 在垂直领域的无限潜力

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

【CSP/信奥赛通关课(一):C++语法基础】

CSP/信奥赛通关课(一):C语法基础 课程简介: 通过六大模块(基础入门、顺序结构、选择结构、循环结构、数组、函数),讲解CSP/信奥赛C语法基础,以模块化思想让学生入门C代码编程学习。 …

Web 自动化测试提速利器:Aqua 的 Web Inspector (检查器)使用详解

Web 自动化测试提速利器:Aqua 的 Web Inspector (检查器)使用详解 前言简介一、安装二、Web Inspector 的使用2.1 获取元素定位器(Locators)2.2 将定位器添加到代码2.3 验证定位器2.4 处理 Frames (框架) 总结 前言 Je…

IDEA中查询Maven项目的依赖树

在Maven项目中,查看项目的依赖树是一个常见的需求,特别是当你需要了解项目中直接或间接依赖了哪些库及其版本时。你可以通过命令行使用Maven的dependency:tree插件来做到这一点。这个命令会列出项目中所有依赖的树状结构。 打开idea项目的终端&#xff…

大数据技术之HBase操作归纳

HBase基本命令总结表(实际操作方式) 进入Hbase:hbase shell 方式一:命令行窗口来操作HBase 1.通用性命令 version 版本信息 status 查看集群当前状态 whoami 查看登入者身份 help 帮助2.HBase DDL操作(对象级操作) 2.1、namespace命名空间(相当…

Java 大视界 -- 国际竞争与合作:Java 大数据在全球市场的机遇与挑战(94)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

1.16作业

1 进注册界面,第一次以为抓包选把isadmin ture了就好 第二次尝试,勾选is admin,有需要invitecode(经典) 2 p r**5 r**4 - r**3 r**2 - r 2023 q r**5 - r**4 r**3 - r**2 r 2023 n 25066797992811602609904…

MybatisPlus教程-从入门到进阶

前言 首先它是国产的,所以直接用官网的简介。 简介 MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 特性 无侵入:只做增强不做改变,引入它不会对现有…

算法1-4 数楼梯

题目描述 楼梯有 N 阶,上楼可以一步上一阶,也可以一步上二阶。 编一个程序,计算共有多少种不同的走法。 输入格式 一个数字,楼梯数。 输出格式 输出走的方式总数。 输入输出样例 输入 #1 4 输出 #1 5 说明/提示 对于…

DigitalOcean H200 GPU裸机服务器上线!可更好支持DeepSeek满血版

在 DigitalOcean,我们始终致力于为开发者、初创企业和人工智能驱动型公司提供更便捷的高性能计算资源,助力其业务扩展。今日,DigitalOcean 隆重推出基于 NVIDIA HGX H200 AI 超级计算平台的裸机服务器,专为高性能AI工作负载而生。…

企业组网IP规划与先关协议分析

目录 一、IP编址 1、IP地址组成 2、IP地址表达 3、IP 地址分类 4、IP地址类型 5、IP网络通信 6、子网掩码 7、默认子网掩码 8、IP 地址规划 9、有类IP编制缺陷 10、VLSM 11、变长子网掩码案例 12、网关 13、无类域间路由 一、IP编址 网络层位于数据链路层与传输层之间…

Python之装饰器三 踩坑(带参数,不带参数,两者都带参数)

文章目录 前言一、装饰器不带参数(但是装修器内部的函数又需要参数)二、装饰器带参数(但是被装饰的函数不带参数)三、装饰器带参数(并且被装饰的函数也带参数)总结前言 Python装饰器里面遇到的踩坑点,以及自己的理解。 一、装饰器不带参数(但是装修器内部的函数又需要…

蓝桥杯好数

样例输入: 24 输出:7 输入:2024 输出: 150 思路:本题朴素方法的时间复杂度是O(n * log10(n)) ,不超时。主要考察能否逐位取数,注意细节pi,这样不会改变i,否则会导致循环错误。 #in…

人工智能之自动驾驶技术体系

自动驾驶技术体系 自动驾驶技术是人工智能在交通领域的重要应用,旨在通过计算机视觉、传感器融合、路径规划等技术实现车辆的自主驾驶。自动驾驶不仅能够提高交通效率,还能减少交通事故和环境污染。本文将深入探讨自动驾驶的技术体系,包括感…

Vue 实现通过URL浏览器本地下载 PDF 和 图片

1、代码实现如下: 根据自己场景判断 PDF 和 图片,下载功能可按下面代码逻辑执行 const downloadFile async (item: any) > {try {let blobUrl: any;// PDF本地下载if (item.format pdf) {const response await fetch(item.url); // URL传递进入i…