当前位置: 首页 > 编程日记 > 正文

数据挖掘深入理解和学习路径

上一篇文章中分享了数据分析的学习全景路径

其中最关键的部分就是数据挖掘,那什么是数据挖掘呢?

数据挖掘就是通过分析采集而来的数据源,从庞大的数据中发现规律,找到宝藏。

一,数据挖掘的基本流程

 数据挖掘可分为6个步骤:

1.商业理解:数据挖掘不是我们的目的,我们的目的是更好地帮助业务,所以第一步我们要从商业的角度理解项目需求,在这个基础上,再对数据挖掘的目标进行定义。

2.数据理解:尝试收集部分数据,然后对数据进行探索,包括数据描述、数据质量验证等。这有助于你对收集的数据有个初步的认知。

3.数据准备:开始收集数据,并对数据进行清洗、数据集成等操作,完成数据挖掘前的准备工作

4.模型建立:选择和应用各种数据挖掘模型,并进行优化,以便得到更好的分类结果

5.模型评估:对模型进行评价,并检查构建模型的每个步骤,确认模型是否实现了预定的商业目标

6.上线发布:  :模型的作用是从数据中找到金矿,也就是我们所说的“知识”,获得的知识需要转化成用户可以使用的方式,呈现的形式可以是一份报告,也可以是实现一个比较复杂的、可重复的数据挖掘过程。

数据挖掘结果如果是日常运营的一部分,那么后续的监控和维护就会变得重要。

二,数据挖掘的十大算法

  为了进行数据挖掘任务,数据科学家们提出了各种模型,在众多的数据挖掘模型中,国际权威的学术组织 ICDM (the IEEE International Conference on Data Mining)评选出了十大经典的算法。

按照不同的目的,我可以将这些算法分成四类,以便你更好的理解。

l1. 分类算法:C4.5,朴素贝叶斯(Naive Bayes),SVM,KNN,Adaboost,CART
  l2.  聚类算法:K-Means,EM
  l3.  关联分析:Apriori
  l4.  连接分析:PageRank

1. C4.5
    C4.5 算法是得票最高的算法,可以说是十大算法之首。C4.5 是决策树的算法,它创造性地在决策树构造过程中就进行了剪枝,并且可以处理连续的属性,也能对不完整的数据进行处理。它可以说是决策树分类中,具有里程碑式意义的算法。
  2. 朴素贝叶斯(Naive Bayes)
    朴素贝叶斯模型是基于概率论的原理,它的思想是这样的:对于给出的未知物体想要进行分类,就需要求解在这个未知物体出现的条件下各个类别出现的概率,哪个最大,就认为这个未知物体属于哪个分类。
  3. SVM
    SVM 的中文叫支持向量机,英文是 Support Vector Machine,简称 SVM。SVM 在训练中建立了一个超平面的分类模型。如果你对超平面不理解,没有关系,我在后面的算法篇会给你进行介绍。
  4. KNN
    KNN 也叫 K 最近邻算法,英文是 K-Nearest Neighbor。所谓 K 近邻,就是每个样本都可以用它最接近的 K 个邻居来代表。如果一个样本,它的 K 个最接近的邻居都属于分类 A,那么这个样本也属于分类 A。
  5. AdaBoost
    Adaboost 在训练中建立了一个联合的分类模型。boost 在英文中代表提升的意思,所以 Adaboost 是个构建分类器的提升算法。它可以让我们多个弱的分类器组成一个强的分类器,所以 Adaboost 也是一个常用的分类算法。
  6. CART
    CART 代表分类和回归树,英文是 Classification and Regression Trees。像英文一样,它构建了两棵树:一棵是分类树,另一个是回归树。和 C4.5 一样,它是一个决策树学习方法。
  7. Apriori
    Apriori 是一种挖掘关联规则(association rules)的算法,它通过挖掘频繁项集(frequent item sets)来揭示物品之间的关联关系,被广泛应用到商业挖掘和网络安全等领域中。频繁项集是指经常出现在一起的物品的集合,关联规则暗示着两种物品之间可能存在很强的关系。
  8. K-Means
    K-Means 算法是一个聚类算法。你可以这么理解,最终我想把物体划分成 K 类。假设每个类别里面,都有个“中心点”,即意见领袖,它是这个类别的核心。现在我有一个新点要归类,这时候就只要计算这个新点与 K 个中心点的距离,距离哪个中心点近,就变成了哪个类别。
  9. EM
    EM 算法也叫最大期望算法,是求参数的最大似然估计的一种方法。原理是这样的:假设我们想要评估参数 A 和参数 B,在开始状态下二者都是未知的,并且知道了 A 的信息就可以得到 B 的信息,反过来知道了 B 也就得到了 A。可以考虑首先赋予 A 某个初值,以此得到 B 的估值,然后从 B 的估值出发,重新估计 A 的取值,这个过程一直持续到收敛为止。
EM 算法经常用于聚类和机器学习领域中。
  10. PageRank
    PageRank 起源于论文影响力的计算方式,如果一篇文论被引入的次数越多,就代表这篇论文的影响力越强。同样 PageRank 被 Google 创造性地应用到了网页权重的计算中:当一个页面链出的页面越多,说明这个页面的“参考文献”越多,当这个页面被链入的频率越高,说明这个页面被引用的次数越高。基于这个原理,我们可以得到网站的权重划分。

三,数据挖掘的数学原理

说了这么多数据挖掘中的经典算法,但是如果你不了解概率论和数理统计,还是很难掌握算法的本质;如果你不懂线性代数,就很难理解矩阵和向量运作在数据挖掘中的价值;如果你没有最优化方法的概念,就对迭代收敛理解不深。所以说,想要更深刻地理解数据挖掘的方法,就非常有必要了解它后背的数学原理。
  1. 概率论与数理统计
    概率论在我们上大学的时候,基本上都学过,不过大学里老师教的内容,偏概率的多一些,统计部分讲得比较少。在数据挖掘里使用到概率论的地方就比较多了。比如条件概率、独立性的概念,以及随机变量、多维随机变量的概念。
    很多算法的本质都与概率论相关,所以说概率论与数理统计是数据挖掘的重要数学基础。
  2. 线性代数
    向量和矩阵是线性代数中的重要知识点,它被广泛应用到数据挖掘中,比如我们经常会把对象抽象为矩阵的表示,一幅图像就可以抽象出来是一个矩阵,我们也经常计算特征值和特征向量,用特征向量来近似代表物体的特征。这个是大数据降维的基本思路。
    基于矩阵的各种运算,以及基于矩阵的理论成熟,可以帮我们解决很多实际问题,比如 PCA 方法、SVD 方法,以及 MF、NMF 方法等在数据挖掘中都有广泛的应用。
  3. 图论
    社交网络的兴起,让图论的应用也越来越广。人与人的关系,可以用图论上的两个节点来进行连接,节点的度可以理解为一个人的朋友数。我们都听说过人脉的六度理论,在 Facebook 上被证明平均一个人与另一个人的连接,只需要 3.57 个人。当然图论对于网络结构的分析非常有效,同时图论也在关系挖掘和图像分割中有重要的作用。

  4. 最优化方法
    最优化方法相当于机器学习中自我学习的过程,当机器知道了目标,训练后与结果存在偏差就需要迭代调整,那么最优化就是这个调整的过程。一般来说,这个学习和迭代的过程是漫长、随机的。最优化方法的提出就是用更短的时间得到收敛,取得更好的效果。

转载于:https://www.cnblogs.com/HugJun/p/11090940.html

相关文章:

3G重选至4G--基于优先级

3G重选至4G--基于优先级 1. Specification 1.1 Measurementrules 是否需要开启测量 3GPP 25.304 - 5.2.6.1.2aMeasurement rules for inter-frequency and inter-RAT cell reselection when absolutepriorities are used 1.2 Evaluation/ ReselectionCriteria 对测量结…

C#_Socket网络编程实现的简单局域网内即时聊天,发送文件,抖动窗口。

C#_Socket网络编程实现的简单局域网内即时聊天,发送文件,抖动窗口。 最近接触了C#Socket网络编程,试着做了试试(*^__^*) 实现多个客户端和服务端互相发送消息 发送文件抖动窗口功能 服务端: using System; using System.Colle…

移动端大图缩放模糊_关于移动端小图标模糊问题的解决方法

前言之前给大家讲到图片和文字垂直方向不对齐的问题,其中举的小例子中用到了一个小图标,这个小图标我用的是背景图来显示:.del .icon{ display: inline-block; width: 20px; height: 25px; margin-right: 5px;vertical-align: middle; backgr…

T-SQL WITH 分号问题

使用with 前面有sql语句时候 运行 with tempTbale(id) as ( select ..... )select * from tempTbale 运行上面语句 提示下面错误 Incorrect syntax near the keyword with. If this statement is a common table expression, an xmlnamespaces clause or a change tracking con…

SVN 撤回(回滚)提交的代码

转: SVN 撤回(回滚)提交的代码 2016年12月20日 17:20:58 怀色 阅读数 68614 标签: svn svn回滚 版本回滚 更多 个人分类: svn 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://…

LTE-怎么获取上行资源

LTE中,UE如果要发送上行数据(Control sig or Data),需要上行pusch资源,如果没有被分配pusch的话,则需要申请。 有3种方法进行申请: 这3中方法对应不同的场景,详细逻辑如下:

mysql中sql语句

<数据定义语言DDL> 一. create TABLE tableName 创建表 二. alter TABLE tableName 修改表 三. drop TBALE tableName 删除表 <数据控制语言DCL> GRANT/REVOKE <数据操纵语言DML> 一. insert INTO tableName(,,,) values(,,,); 插入数据(增) 二. update tabl…

wxpython有没有可视化设计_wxPython - GUI Builder工具( GUI Builder Tools)

wxPython - GUI Builder工具( GUI Builder Tools)通过手动编码创建美观的GUI可能很乏味。 可视化GUI设计器工具总是很方便。 许多针对wxPython的GUI开发IDE都可用。 以下是其中一些 -wxFormBuilderwxDesignerwxGladeBoaConstructorgui2pywxFormBuilder是一个开源的&#xff0c;…

微信网页JSDK接口-wx.chooseImage问题

wx.chooseImage({count: 1, // 默认9sizeType: [original, compressed], // 可以指定是原图还是压缩图&#xff0c;默认二者都有sourceType: [album, camera], // 可以指定来源是相册还是相机&#xff0c;默认二者都有success: function (res) {var localIds res.localIds; //…

ARM 的几个重要特点

ARM 采用RISC指令集 ARM: Acorn RISC Machine; //Acorn: 公司的名字 它支持的指令比较简单&#xff0c;所以功耗小、价格便宜&#xff0c;特别合适移动设备。 RISC 和CISC的区别&#xff1a; 举例子&#xff0c;乘加运算&#xff0c;比如&#xff1a; ya*b c; 在CISC里面…

html文字中横线_谈PPT课件中自定义动画应用之内容控制

本案例来源于一位资深政治教师的课件应用经验。在她的朋友圈看到&#xff1a;讲解高考政治主观题课件要这样做才好&#xff0c;材料全部显示完后&#xff0c;再把一些关键字词句用彩色字标注或横线或圆圈标注&#xff0c;然后再分析归纳&#xff0c;哪些字词句是设问范围内应该…

PowerShell过滤文件中的重复内容

Get-Content -Path E:\test11\data.txt | Sort-Object | Get-Unique 源文件&#xff1a; AA0001 2014-06-30 15:27:13.073 AA0001 2014-06-30 15:27:13.073 AA0001 2014-06-30 15:27:13.073 AA0002 2014-06-30 15:27:30.607 AA0002 2014-06-30 15:28:00.467 AA0003 2014-06-30 …

pstree进程管理

功能&#xff1a;pstree命令列出当前的进程&#xff0c;以及它们的树状结构。 格式&#xff1a;pstree [选项] [pid|user] 主要选项如下&#xff1a; -a&#xff1a;显示执行程序的命令与完整参数。 -c&#xff1a;取消同名程序&#xff0c;合并显示。 -h&#xff1a;对输出结果…

LTE MIB 的发送周期

MIB在PBCH上发送&#xff0c;PBCH 采用QPSK调制。 PBCH的时频资源位置固定&#xff0c;可以参考我的博文” LTE FDD PSS/SSS/MIB时频资源位置”. 一个SFN发送一次MIB&#xff0c;接下来3个SFN重复发送同样的信息(但是以不同的扰码加扰)&#xff0c;也就是说MIB的发送周期为4…

吸顶wifi_分享 | 酒店WiFi网络的三种部署模式

酒店的无线网络&#xff0c;在酒店部署移动网络业务的时候&#xff0c;很多酒店会发现实际效果远达不到预期。酒店员工和入住用户经常会抱怨无线网络不稳定、视频无限缓冲中、经常掉线……&#xff0c;那么今天我们来了解酒店无线网络的部署。一、影响WiFI漫游的因素导致出现以…

最后一片蓝海的终极狂欢-写在Win10发布前夕

作为一名Windows8.x系统平台从业者&#xff0c;从工作伊始&#xff0c;耳边不断充斥着Windows将走向没落的言论&#xff0c;Win10今日晚些时候即将发布&#xff0c;笔者借此机会&#xff0c;说说自己的看法。 早在2012年的时候&#xff0c;IDC曾预测&#xff0c;WP系统将在2016…

错误信息输出,重定向到文件

将错误重定向到文件remove-item none 2> d:\ee.txt 将错误追加到已有文件remove-item none 2>> d:\ee.txt 将错误发送到成功输出流。如果报错后&#xff0c;代码依然继续执行&#xff0c;则Exception不会被捕获到$myerror Remove-Item "NoSuchDirectory" 2…

spark-submit --files 动态加载外部资源文件

在做spark时&#xff0c;有些时候需要加载资源文件&#xff0c;需要在driver或者worker端访问。在client模式下可以使用IO流直接读取,但是在cluster模式下却不能直接读取&#xff0c;需要如下代码&#xff1a; val is: InputStream this.getClass.getResourceAsStream(“./xxx…

LTE SIB1时频资源

1.时域资源 参考3GPP 36.331 – 5.2.1.2Scheduling The SystemInformationBlockType1 uses a fixed schedule with a periodicity of 80 msand repetitions made within80 ms. Thefirst transmission of SystemInformationBlockType1 is scheduled insubframe #5 of radio fram…

ssm框架mysql配置_ssm框架使用详解配置两个数据源

学习ssm框架已经快一年了&#xff0c;今天把这个框架总结一下。SSM 就是指 spring、SpringMVC和Mybatis。先说一下基本概念(百度上搜的)1、基本概念1.1、SpringSpring是一个开源框架&#xff0c;Spring是于2003 年兴起的一个轻量级的Java 开发框架&#xff0c;由Rod Johnson 在…

Linux下JDK环境的配置

whereis javawhich java &#xff08;java执行路径&#xff09;echo $JAVA_HOME rpm -ivh jdk-7u79-linux-x64.rpm 配置profile 转载于:https://www.cnblogs.com/xubc/p/4686748.html

org.springframework.jdbc.BadSqlGrammarException: CallableStatementCallback; bad SQL grammar

通过Spring的jdbcTemplate调用Mysql的存储过程&#xff0c;出现下面的问题&#xff08;以前也使用过&#xff0c;并没有出现下面的问题&#xff0c;折腾大半天&#xff0c;郁闷&#xff09;&#xff1a;开始报下面的错误&#xff1a;[INFO ]2014-07-01 10:49:15,297 MESSAGE : …

Aras学习笔记(1)学习Aras已半年有余,也积攒一些学习笔记,今天起会陆续分享出来,有兴趣的朋友一起交流...

Aras Innovator PLM简介 美国Aras公司的产品生命周期&#xff08;PLM&#xff09;软件。Aras Innovator是微软在PLM领域唯一的一家金牌合作伙伴。是全球首款达到CMII 4星级的开放许可的企业级PLM(OPEN PLM)产品。通过软件许可&#xff08;节点&#xff09;免费&#xff0c;服务…

LTE CRS 时频资源

1. 参考 Spec 3GPP-36.211-6.10 Cell-specificReference Signal (CRS) Cell-specificreference signals are transmitted on one or several of antenna ports 0 to 3. Cell-specific reference signals are defined for Δf 15 kHzonly 2. 时频位置公式 在36.211-6.10.1.…

wcf客户端捕获异常

直接使用Exception进行捕获&#xff0c;然后在监视器中查看具体是哪一个异常 System.Exception {System.ServiceModel.Security.MessageSecurityException} 查看StackTrace Server stack trace: 在 System.ServiceModel.Channels.SecurityChannelFactory1.SecurityRequestChan…

java监听mysql_java实时监控mysql数据库变化

对于二次开发来说&#xff0c;很大一部分就找找文件和找数据库的变化情况对于数据库变化。还没有发现比较好用的监控数据库变化监控软件。今天&#xff0c;我就给大家介绍一个如何使用mysql自带的功能监控数据库变化1、打开数据库配置文件my.ini (一般在数据库安装目录)(D:MYSQ…

SAS、R以及SPSS的比较__统计语言大战

转载于:https://www.cnblogs.com/bicoffee/p/3818626.html

第九章实验报告

C程序设计实验报告 实验项目&#xff1a;构造数据类型实验 姓名&#xff1a;罗子健 实验地点&#xff1a;物联网实验室 实验时间&#xff1a;2019年6月26日 一、实验目的与要求 &#xff08;1&#xff09;掌握结构体类型说明和结构体类型变量、数组、指针的定义方法及使用。 …

LTE Paging时频资源

介绍PAGING的文章有很多&#xff0c;本文主要介绍Paging的时频资源。 为了达到省电的目的&#xff0c;UE在idle下使用DRX。UE在什么时刻(SFN/subframe)wakeup起来接受Paging 呢? 先介绍2个概念&#xff0c;如下&#xff1a; PO: Paging Occasion, 它是一个子帧&#xff0c;这…

mysql处理上百万条的数据库如何优化语句来提高处理查询效率

1.对查询进行优化&#xff0c;应尽量避免全表扫描&#xff0c;首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断&#xff0c;否则将导致引擎放弃使用索引而进行全表扫描&#xff0c;如&#xff1a;select id from t whe…