写在前面的话

第一章为引论,主要对技术和概念进行概述。但是在我读来,书中对一些概念的阐述对于初学者来说相当不友好,语言组织逻辑相当差,陌生词汇繁多且不做解释。我不知道是自己水平有限理解不了还是翻译得不到位,所以为了理解这些东西,干脆自己查阅资料,把自己的理解写在这里,以便自己时时查阅,也方便和我有一样困惑的同学们参考。由于自己也是一个新手,且是边看边写的,对于其中某些东西理解可能也是仅限于皮毛甚至会有偏差,所以之后我会随着自己的理解不断加深,来不间断的更新这系列文章,同时也希望各位同学提出批评指正意见,以便共同交流学习。

—————————————-分割线—————————————————–
花了两个多月的时间把整本书看完了。发现这本书确实是一本非常好的书,不过真的不太适合新手入门。因为虽然说这本书是提纲挈领的,高屋建瓴的对KDD做了一个整体的描述,但并不因为它不深所以简单,反而会因为读者本身没有达到那一个层次,看那些总结性的,很精炼性的话看得云里雾里的。
我在看这本书的时候,也是大量的查阅了很多陌生名词,自己去搞懂了很多算法之后再回过头来看书,才发现书上写得的确是这么一回事。
不过这本书还是有一些不足之处,第一就是全书的翻译感觉不太到位,有机翻的嫌疑(????);第二就是书中在一些地方会有错误,包括描述错误和数据错误。不过总体上来说, 这些错误不太会影响阅读。
在这里建议读者在阅读该书的时候,多查阅资料多去研究算法,这样你看完这本书的收获会大很多。本系列文章是我在读这本书时做的一些笔记,其中对书上一些我觉得不是很好的理解的概念描述进行了解释,对一些基础的常见的算法也做了讲解。当然我参考了网上很多大牛的文章,其中也有我自己的一些看法。对于书上解释的比较好的地方,我就没有单独拿出来讲解了,各位同学看书就好了。
我这一系列的文章权当这本书的补充和参考资料。

我们为什么进行数据挖掘?
该书在本章不断强调,数据挖掘是一门偏实际应用的学科。这门学科的起源以及发展都来自于社会的强烈需求。

什么是数据挖掘?
“数据挖掘”这个词其实并不能准确的体现这门学科,更准确的定义应该是KDD(KDD:Knowledge Discovery in Database),即从数据中发掘出有价值的知识,需要特别特别注意的是,数据挖掘是一种持续的*过程!!!它不是一次性的。当然这个形容词有价值的 ,是有多种理解的,这里不去深究,能理解就行了。而且出于种种原因吧,我们常说的,常见的“数据挖掘”这个名词,就是指的“KDD”

数据库与数据仓库的区别
关于这两个概念的理解和区别,请查看知乎中陈诚关于这个问题的回答。
数据库 与 数据仓库的本质区别是什么?
其中,关于数据仓库这个东西在这里多说一些。数据仓库存在的目的是为了给决策提供数据支持。也就是说,它的作用不是为了业务,而是为了帮助管理者做出决策而提供数据证明的。因此,这里面会存放从多个数据源获取的,大量的,整理有序的数据。这里我们说的整理有序的的意思是数据仓库的数据结构。

数据库与数据仓库到底有什么区别?

实际上,这两者的主要区别在于数据结构!
数据库中的建模一般遵循三范式,而数据仓库的建模有特定的方式,一般采用多维度建模(星形,雪花形)。
数据仓库使用使用这些建模方式的原因是便于OLAP建立,增加统计查询较率等。
说白了通常的数据仓库都是在数据库上建立的,仅仅是使用技术不同,如果说软件产品其实就是关系型数据库(放到现在的话,这里是不严谨的。不过早期确实是这样),例如:ORACLE、MS SQL SERVER等,也有一些专用的例如teradata等

在这里,我们会首先接触到数据立方体这一个说法。这里,有一个坑=。=会让我们形成先入为主的观念。认识数据在数据仓库里面的形式就是一个立方体!!!事实上,根本不是这样的!!!我开始就是这样以为的,后来看到第四章的时候越看越不对劲,花了好多时间才搞明白。实际上,在正儿八经的数据仓库里面根本就没有数据立方体这个东西。之所以搞出这个东西来,完全是为了方便我们理解的。这书写的真的是巨坑啊=。=
OK,正是因为数据仓库内部存储的数据是多维模型的(再强调一次,不是数据立方体!!!)。因此它特别适合OLAP(联机分析处理)

这里又引入了一个新的概念,OLAP,其实这个概念也非常好理解。它的定义是这样的:联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。

我们仔细看一下这个定义,其实就很好理解了。我们可以脑补一下这样一个画面:在宇宙中,有一个神秘的立方体(立方体就是数据)悬浮在那里,而你作为被人类推举出来的人被送到这里来观察这个东西,希望能从中找到些什么。因为处于失重状态下,所以你可以很轻易地随意移动,从不同的方向和角度去观察这个立方体。甚至你可以对这个立方体进行向上卷起和向下折叠的动作(上卷和下钻),以期能够看到更多的信息。

我这样说,大家应该能够理解了吧?
下面给出一张数据库和数据仓库的对比图片。

数据挖掘的步骤

数据挖掘的步骤是什么?
关于数据挖掘的步骤,你们书上或者网络上会看到很多版本。初看之下,你会觉得他们都不太一样,但实质上大体步骤是一致的,无外乎这么几个步骤,只是这些不同版本在具体步骤的命名上和细节顺序上不太一样。我查阅了诸多资料,认为以下这个版本是最贴切的。

1.数据集选取

这一步的具体方法是这样的:根据你的目的,抽象出在数据分析中所需要用到的数据的特征,然后选择合适的收集方法去收集符合你的要求的数据,并将收集到的数据存入数据库。

一般来说,数据集是已经存在的或者至少知道如何获得的(比如你可以自己写一个爬虫从网上爬数据下来,或者可以用别人已经公开的数据)。

需要注意特别注意的是:数据的收集在整个流程中是第一步,也是打下基础的一步。这一步十分重要!!!数据集的选取对数据挖掘模式是否有趣起决定作用的。举个例子,如果你的目的是分析医药行业的数据,而你采集到的却是物流行业的数据,那么结果就……………………(虽然可能有意外惊喜吧,但出现这种中彩事件的概率太小了。)其次,对于海量数据,选择一个合适的数据存储和管理的数据仓库是至关重要的。

2.数据预处理
(1)数据清理
在数据库中的数据有一些是不完整的(有些感兴趣的属性缺少属性值),因此需要进行数据清理,将完整、正确、一致的数据信息存入数据仓库中。不然,挖掘的结果会差强人意。

(2)数据集成
把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享

(3)数据归约
数据归约是指在尽可能保持数据原貌的前提下,最大限度地精简数据量(完成该任务的必要前提是理解挖掘任务和熟悉数据本身内容)而做商业运营数据挖掘时数据量往往非常大。数据归约技术可以用来得到数据集的归约表示,它小得多,但仍然接近于保持原数据的完整性,并且归约后执行数据挖掘结果与规约前执行结果相同或几乎相同。

(4)数据变换和数据离散化
通过平滑聚集、数据概化、规范化等方式将数据转换成适用于数据挖掘的
是重要的一步。

3.数据分析算法
这一步也就是我们说的数据挖掘的步骤了,即具体的数据处理了。具体的以后再说。

4.模式评估
从商业角度,由行业专家来验证数据挖掘结果的正确性。
其实也不一定要行业专家来。在本文最开篇就已经说了,数据挖掘实际上是一门偏向于实际应用的学科。它通常来说是与具体细分行业紧密联系在一起的。因此,我们经过数据挖掘得到的结论或者说预测,最好交由懂这个行业的人来看一下,确定是不是有几分道理。

5.结果展示
将数据挖掘所得到的分析信息以可视化的方式呈现给用户,或作为新的知识存放在知识库中,供其他应用程序使用。

上文所列的流程只是数据挖掘需要要到的通用流程。并不是所有的项目都需要完整走完流程。这里需要特别注意的是:数据挖掘过程是一个反复循环的过程,每一个步骤如果没有达到预期目标,都需要回到前面的步骤,重新调整并执行。

挖掘模式

可以挖掘什么类型的模式?
可以挖掘什么类型的模式实际上就是说,我们挖掘的目的是啥,或者说挖掘最后希望能得到什么样的东西?能进行哪些形式的操作?
这里要对模式这个概念进行好好理解,我对模式的概念之前一直认识的不深,直到第6章才稍微加深了一点
这一步引出了很多的新概念,我会对这些概念进行解释。

数据特征化:
它的定义是这样:用目标类数据的一般特性或特征的汇总。
可以这样来理解,比如说,数据里面有1千条关于计算机的定义的描述。那么可以从这些数据里面提取特征,汇总浓缩精炼成这样一条数据:计算机是一种具有冯诺依曼体系结构的机器。(这里举得这个例子可能不是很正确,大家主要理解意思,不要深究=。=)
再举个例子,一个人特别特别丑,有1000条数据去描述他是如何如何丑。那么我们提取特征之后,就可以这样说。他丑的让人过目不忘。
实际上,大家应该能够想到。数据特征化的主要目的应该还是对数据进行归化处理。说白了就是在保留数据特征的情况下减小原始数据的规模。

数据区分:
它的定义是这样的:数据区分是将目标类数据对象的一般特征与一个或多个对比类对象的一般的一般特性进行比较。
这个定义比较长,其实很好理解。看几个例子就明白了
老虎和猫咪都是猫科动物,但是他们之间是有差别的,那么他们的差别是什么?
微信和QQ都是即时通讯工具,但是他们之间是有差别的,那么他们的差别是什么?
所以数据区分实际上很好理解,说白了就是区别两个不同东西。那我们一般区别两个东西其实就是看他们身上的不同特质或者特征。所以数据区分实际上与数据特征化的关系还挺紧密的。

频繁模式
频繁模式的定义是这样的:它是指在数据中频繁出现的模式。它存在多种类型的频繁模式,包括频繁项集,频繁子序列和频繁子结构。
这个看起来很复杂,实际上很简单,是这样的。
频繁项集实际上可以理解为频繁出现的东西的集合,比如面包和牛奶,啤酒和尿布就是频繁项集。
频繁子序列就是频繁出现的一个序列。比如,购买电子产品的顺序通常会是这样:台式电脑 —-》笔记本电脑—-》手机—-》相机。
这个序列应该是会频繁出现的。
频繁子结构是更加广泛意义上的频繁项集和频繁子序列,它具有更大的宽容度。比如,买了台式电脑之后,下一个电子产品有些人可能会买笔记本电脑,有些人可能会买平板电脑。你把这些可能列出来,可能就会形成树或者图这些数据结构。

你挖掘这些之后,会发现很多东西之间存在关联性和相关性。

分类与回归
分类与回归的概念解释起来挺复杂的。
拿支持向量机举个例子,分类问题和回归问题都要根据训练样本找到一个实值函数g(x). 回归问题的要求是:给定一个新的模式,根据训练集推断它所对应的输出y(实数)是多少。也就是使用y=g(x)来推断任一输入x所对应的输出值。分类问题是:给定一个新的模式,根据训练集推断它所对应的类别(如:+1,-1)。也就是使用y=sign(g(x))来推断任一输入x所对应的类别。综上,回归问题和分类问题的本质一样,不同仅在于他们的输出的取值范围不同。分类问题中,输出只允许取两个值;而在回归问题中,输出可取任意实数。

分类和回归的区别在于输出变量的类型。
定量输出称为回归,或者说是连续变量预测;
定性输出称为分类,或者说是离散变量预测。

举个例子:
预测明天的气温是多少度,这是一个回归任务;
预测明天是阴、晴还是雨,就是一个分类任务。

实际上,我们说的预测这个术语是可以指数值预测类标号预测。我们在这里可以姑且把数值预测理解成回归,把类标号预测理解成分类。

知乎上,有关于这块的提问。参考请移步这里。

上面在解释的时候出现了这样一句话“给定一个模式”,这里说的模式是指如分类规则,决策树,数学公式或神经网络这样的模型。这个以后再说。

聚类分析
所谓聚类,就是类或簇(Cluster)的聚合,而类是一个数据对象的集合。在许多情况下,一开始并不存在标记类的数据,所以采用聚类分析可以产生数据群组的类标号。

聚类有时也称分段,是指将具有相同特征的人归结为一组,将特征平均,以形成一个“特征矢量”或“矢心”。聚类系统通常能够把相似的对象通过静态分类的方法分成不同的组别或者更多的子集(Subset),这样在同一个子集中的成员对象都有相似的一些属性。聚类被一些提供商用来直接提供不同访客群组或者客户群组特征的报告。聚类算法是数据挖掘的核心技术之一,而除了本身的算法应用之外,聚类分析也可以作为数据挖掘算法中其他分析算法的一个预处理步骤。

在商业中,聚类可以帮助市场分析人员从消费者数据库中区分出不同的消费群体,并且概括出每一类消费者的消费模式或者消费习惯。它作为数据挖掘中的一个模块,可以作为一个单独的工具以发现数据库中分布的一些深层次的信息,或者把注意力放在某一个特定的类上以作进一步的分析并概括出每一类数据的特点。

离群点分析
这个很好理解,在数据集中可能包含一些数据对象。他们与数据的一般行为或模型不一致。这些数据就是离群点。
分析离群点可以得到异常也可能得到意想不到的收获。

OK,所有的新名词都解释完了。我们回到最开始说的那个问题。在数据挖掘中,我们可以进行哪些操作。其实说白了,我个人感觉,数据挖掘无非实现了两个功能。一个是描述性功能(总结归纳已有的),另一个是预测性功能(预测推断未知的)。

其他的,在书上已经进行了详细的说明了而且也比较好理解。这里就不多加阐述了

数据挖掘:概念与技术(第三版)之第一章的学习记录相关推荐

  1. 《数据挖掘概念与技术》第二版 中文版 第一章答案

    引言 1.1 什么是数据挖掘?在你的回答中,针对以下问题: a. 它是又一种广告宣传吗?b. 它是一种从数据库.统计学和机器学习发展的技术的简单转换吗?c. 解释数据库技术发展如何导致数据挖掘d. 当 ...

  2. 数据库系统概念原书第六版黑皮书第一章课后习题作业答案

    文章目录 1.8列出文件处理系统和DBMS之间的四个显著区别. 1.9 解释物理数据独立性的概念,以及它在数据库系统中的重要性. 1.10 列出数据库管理系统的五个职责.对每个职责,说明当它不能被履行 ...

  3. 2021-10-06 统计学-基于R(第四版)第一章课后习题记录及总结

    1.1 题目如下 (1)基础数据录入: > income<-c("低收入户","中等偏下户","中等收入户","中等偏 ...

  4. buc算法java实现,数据挖掘概念与技术(hanjiawei)阅读笔记--第五章(数据立方体技术)...

    BUC 1.BUC(Botom-Up Construction)概念 从顶点方体向下计算冰山立方体 计算稀疏冰山立方体的算法 基于先验性质进行剪枝 ### 2.算法计算 例A(a1,a2,a3),B( ...

  5. 微机原理与接口技术[第三版]——第五章课后习题答案

    5. 1k×1--16k×8 (1)1位变8位,一组需要8个芯片.1k变16k,需要16组芯片,因此一共128芯片. (2)1k=,需要10位片内寻址. (3)16=,需要4位片选信号. 6. 4K× ...

  6. 《Fundamentals of Computer Grahpics》虎书第三版翻译——第一章 介绍

    1.1 图形领域 在任何领域进行强分类是危险的,但大多数从事图形学行业的人都会赞同以下这些计算机图形学的主要领域: 建模:使用数学规格进行建模,这些数据是能存储在计算机上的形状和外观属性.例如,一个咖 ...

  7. 计算机网络安全教程(第三版)第一章简答题答案

    第 1 章 网络安全概述与环境配置 网络攻击和防御分别包括哪些内容? 答: 攻击技术主要包括以下几个方面. (1)网络监听:自己不主动去攻击别人,而是在计算机上设置一个程序去监听目标计算机与其他计算机 ...

  8. 软件工程案例教程答案(第三版)第一章 韩万江 姜立新 编著

    1.8练习题 填空题 1.工程学科,管理学科,数学学科 2.软件过程分析和建模,软件过程支持,软件过程评估和改进 3.软件危机 4.软件工程教育需求,软件工程实践 5.增量式模式 6.喷泉模式 7.定 ...

  9. 【数据挖掘概念与技术】学习笔记5-数据立方体技术

    基本方体是数据立方体中泛化程度最低的方体.泛化程序最高的方体是顶点方体,通常用all表示.基本方体的单元是基本单元,非基本方体的单元是聚集单元. 聚集单元在一个或多个维上聚集,其中每个聚集维用单元记号 ...

最新文章

  1. python生成有条件的列表_python复杂列表生成式教程
  2. 为什么在notebook里面还是显示torch_torch.utils.cpp_extension对c++/cuda进行拓展
  3. redis部署与卸载
  4. arm板telnetd为什么运行不了_一种基于ARM的嵌入式系统开发的方案详细讲解
  5. 扫描过程_整体扫描+材料聚焦方法在审题过程中的运用
  6. linux串口 接收 字符串_非常好用的 Win10 串口调试助手
  7. 孙鑫-MFC笔记七--文件与注册表
  8. solr处理oracle中CLOB、BLOB
  9. python实现随机生成列表,得到列表中位数并以此划分源列表
  10. 【HUST】网安|计算机网络安全实验|实验二 DNS协议漏洞利用实验
  11. 基于Swing与JavaFx的音乐播放器——轻音
  12. VC++6.0 内存泄露调试
  13. 怎样控制小程序tabbar图标大小_微信小程序tabBar的基本设置-微信小程序tabbar字体大小-微信小程序tabbar高度...
  14. 开发一款游戏需要什么技术
  15. 局域网ip扫描工具_一款针对Profinet协议漏洞渗透的工具
  16. svn执行update操作后出现:Error : Previous operation has not finished; run 'cleanup' if it was interrupted.
  17. 1089: 手机短号 (多实例)
  18. hdu 5312 打表加特判
  19. CentOS升级或安装安装JDK 8
  20. libpng warning: iCCP: cHRM chunk does not match sRGB

热门文章

  1. 用OneNote+Xmind思维导图高效做出美观笔记
  2. cesium 缩放_cesium 固定polyline大小
  3. 77种互联网盈利创新模式(12)
  4. 旭凤锦覓虐心 恋只愿共赴鸿蒙,《香蜜》原著锦觅和旭凤的“虐恋情深”:细想,他们的爱情,不美...
  5. AQS同步器源码解读有感
  6. 机器人变形出发捞钱 看变形金刚咋赚钱
  7. 多媒体/Display认知记录总结
  8. 介绍几个程序员在iapd上玩的游戏
  9. 三国志战略版:Daniel_S6配将走向及15御开荒分析
  10. 《雷霆一号》黄金天使怎么过?黄金天使任务详解