读书笔记(一) 数据挖掘简要介绍

前言:此文是【读书笔记|大数据时代的数据挖掘】系列的第一篇,是笔者关于《大数据时代的数据挖掘》一书的读书笔记,每一章会写一篇笔记,此文是关于第一章内容的笔记。

目录

一、大数据时代的数据挖掘

1、大数据的特点4V+4V

2、数据挖掘

3、从数据挖掘应用的角度看大数据

二、数据挖掘技术的发展历史

三、十大数据挖掘算法

1、k近邻算法(k-nearest neighbors KNN)

2、决策树分类(C4.5)&  3、分类和回归(CART)

4、朴素贝叶斯分类(naive bayes)

5、支持向量机(SVM support vector machine)

6、关联规则挖掘(Apriori)

7、最大期望参数估计(expectation maximization EM)

8、链接分析(PackRank)

9、集成算法(Adaboost adaptive boosting)

10、k均值聚类(k-means)

四、数据挖掘平台


一、大数据时代的数据挖掘

数据的产生和搜集是基础,数据挖掘泛指从大量数据中挖掘出隐含的、先前未知但潜在的有用信息的一个工程化和系统化的过程。

1、大数据的特点4V+4V

  • 从数据的变现形式
  1. 海量volume
  2. 多样variety
  3. 高速velocity
  4. 价值value
  • 从实践应用和大数据处理的复杂性
  1. 变化性variable
  2. 真实性veracity
  3. 波动性volatility
  4. 可视化visualization
  • 大数据的定义就是:结合了以上特征的数据即为大数据
  • 大专委对大数据的发展趋势预测
  1. 希望从技术上寻找突破
  2. 安全和隐私问题
  3. 期望依靠政府和法律推动发展

2、数据挖掘

  • 数据挖掘可以用下面的4个特性概括

        1、应用性

                数据挖掘是理论算法和应用实践的完美结合

        2、工程性

                数据挖掘由多个步骤组成的工程化过程:数据准备和管理、数据预处理和转换、挖掘算法开发和应用、结果展是和檐正以及 知识积累和使用

        3、集合性
                数据挖掘是多功能的集和,常用功能:数据探索分析、关联规则挖掘、时间序列模式挖掘、分类预测、聚类分析、异常检测、数据可视化、链接分析等

        4、交叉性
                统计分析、模式识别、机器学习、人工智能、信息检索、数据库等

  • 从研究发展历程看

        顾客交易数据分析——多媒体数据挖掘——隐私保护数据挖掘——文本数据挖掘——web挖掘——社交媒体挖掘
注:这个历程是数据挖掘应用的一个发展历程,从最初的顾客交易数据分析到现在对社交媒体此类的另类数据进行分析,所需的要处理的数据格式也越来越多,数据的体量也越来越大。

3、从数据挖掘应用的角度看大数据

  • 大数据是一把手工程,离不开领导的决定
  • 大数据需要数据导入、整合和预处理

注:这一段书中说的是数据挖掘不单单只是单纯的数据的处理、分析,而是需要一个团队,需要许多外界因素的配合、团队的共同协助,才能发掘出有价值的信息。

二、数据挖掘技术的发展历史

  • 18c——贝叶斯理论
  • 19c——回归分析
  • 1950s——神经网络、遗传算法、聚类分析
  • 1960s——决策数、k最近邻算法
  • 1990s——支持向量机、关联规则挖掘、adaboost、pagerank

三、十大数据挖掘算法

注:十大数据挖掘算法是由许多学者、专家提名,并选择了在论文应用次数排名靠前的算法,再通过会议投票得出的排名前十的数据挖掘算法。这十种算法可以被认为是最通用的十种算法,以下来简单介绍一下。

1、k近邻算法(k-nearest neighbors KNN)

应该算作一个基础的算法,原理就是在特征空间中,如果一个样本附近的k个最近(即特征空间中最邻近)样本的大多数属于某一个类别,则该样本也属于这个类别。

2、决策树分类(C4.5)&  3、分类和回归(CART)

基于决策树

ID3决策树:选取使当前信息增益最大属性进行分支构建,当下一步划分引发的信息增益很小,或者已经没有属性再供划分时,讲节点转化为叶节点,并将该节点内数量最多的类别标记作为该节点的类别标记。通过这样递归地构建分指生成的树叫做ID3决策树。
ID3算法不能处理连续数值

C4.5算法,利用信息增益比评估分支属性,在信息增益的基础上,除以本身取值的分散性(熵),用以修正在使用信息增益的过程中选择结果偏向取值较多的属性的偏差。另外,引入了剪枝(pruning)操作,通过停止树的增长,减少决策过程中划分过细引起的过拟合问题。

CART将基尼系数与条件基尼系数的差异,作为评估属性重要性依据。

不同的评判标准,是这三类算法最大的不同。

4、朴素贝叶斯分类(naive bayes)

通过贝叶斯定理进行分类:计算出后验概率,后验概率最大对应的类别标记为分类结果。

朴素贝叶斯之所以叫朴素,是因为这个算法假设对于给定的数据对象的类别Y来说,不同属性的出现时互相独立的(conditionally independent),这种朴素假设简化了运算。
无需考虑各个属性之间的相关性。

5、支持向量机(SVM support vector machine)

与朴素贝叶斯不同的是,这个算法不关心数据是如何产生的,只关心如何区分这个数据的类别,所以这种算法也被称为判别式的(discriminative)。

原理:在SVM算法内,任何一个数据都被表示成一个向量,也就是高位空间中的一个点,每个属性代表一个维度。SVM和大多数分类算法一样,假设一堆数据的类别相同,那么他们的属性值也应该相近。因此,在高维空间上,不同类别的数据应该处于不同的空间区域。SVM的训练算法就是找出区分这几个区域的空间分界面。能找到的分界面有很多个,SVM找到的是两个区域中最靠近正中间的那个分界面,或者说离几个区域都最远的分界面。

这个问题就是求解一个有约束的优化问题。有一些可变通的情况。

  • 一种情况是硬间隔、软间隔
    就是像目标规划那样,求可能的最大解,而非最优解。
  • 另一种情况是,数据根本就线性不可分,svm对于这汇总情况的引入核技巧(kernel svm)
    核技巧的思想是通过升维的方式讲源本线性不可分的数据转化为线性可分数据,再类似的求解你最大分界面。

6、关联规则挖掘(Apriori)

一个例子就是啤酒和尿布。

第一步是找出频繁的项集(frequent item set)

每次可以从只含有一个项的集合开始搜索,剔除非频繁项,然后通过自拼接的方式,寻找只含有两个项的集合。依次类推,即可找到左右的频繁项集。
类似于动态规划和贪心算法。

apriori算法的其他应用还有告警的关联挖掘,用户行为关联分析以及崩溃和错误的关联分析。

7、最大期望参数估计(expectation maximization EM)

解决的问题是在隐变量(latent variable)存在的情况下,对隐变量继续估计,以下是来自知乎大佬文兄举的例子,非常恰当,在此借用一下。

读书笔记(一) 数据挖掘简要介绍_第1张图片

 两个步骤:expectation&maximization

8、链接分析(PackRank)

由于谷歌搜索引擎而出名。

该算法综合考虑链接的数量网页的质量两个因素,将二者结合起来对网页进行派许。pagerank计算出的网页重要性排名完全基于链接结构,与用户输入的查询关键字无关。所以,很多时候,pagerank是可以离线计算的。

缺点:无法抵御链接攻击,对新网页不公平。

9、集成算法(Adaboost adaptive boosting)

核心思想是在同一个训练集上,通过考察上一次实验中每个样本的分类是否正确以及总体分类的准确率,自适应地矫正每个样本的权值,迭代生成若干个不同的分类器,最后将这些分类器组合起来,提升为一个强分类器。

就像试卷练习一样,同一份试卷的考题可以让学生多做几次,做对的题就不需要反复练习了。

集成算法就包括:随机森林、Boost

10、k均值聚类(k-means)

最常见的聚类算法

四、数据挖掘平台

FIU-Miner本书的作者提出了一个数据挖掘的平台,名字就是FIU-Miner。意思是a fast ,integrated and user-friendly system for data mining in distributed environment一个支持在分布式环境中进行快速集成和用户友好的数据挖掘系统。

其实我并没有理解这个平台在哪里以及如何应用,且在书的后续中也没有再提及此平台。

总结:本书的第一章 数据挖掘简介中对数据挖掘做了简介,包括十大算法的思想内容也都做了简要的概述,但仅仅是简介,使得对数据挖掘得到了初步的认识。

你可能感兴趣的:(python,数据挖掘)