数据挖掘概念与技术

必备知识概念

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
数据挖掘,最简单的就是统计应用,进一步基于用户的浏览点击,收藏推断用户的年龄,性别等,更深层次的如预测
机器学习是实现数据挖掘的一种方法和手段
数据的最基本形式是数据库数据、数据仓库数据、和事务数据
数据仓库:是一个从多个数据源收集的信息存储库
数据挖掘(data mining):旨在从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们实现不知道、但又是潜在有用的信息和知识
数据挖掘的主要任务是关联分析、聚类分析、分类、预测、时序模式和偏差分析
关联分析:两个或两个以上变量的取值之间存在的规律性称为关联。数据关联是数据库中存在的一类重要的、可被发现的知识。
关联分析分为简单关联、时序关联和因果关联。关联分析的目的是找出数据库中隐藏的关联网。一般用支持度和可信度两个阈值来度量关联规则的相关性,还不断引入兴趣度、相关性等参数,使得挖掘的规则更符合需求。
数据挖掘的6个步骤(基本):
1.理解业务:从商业的角度理解项目目标和需求,将其转换为一种数据挖掘的问题定义
2.理解数据:收集初步的数据,进行数据的描述、数据探索和数据质量验证
3.准备数据:将最初始的原始数据构造成适合建模的数据集
4.建模: 选择和应用各种建模技术,并对其参数进行优化
5.建模评估:对模型进行较为彻底的评价,并检查构建模型的每个步骤,确定其是否真正实现了预定的商业目的
6.模型部署:

数据挖掘的基本技术

1
2
3
4
5
6
7
1.统计学====>即指将数据集合假设一个分布或者概率模型,然后按照模型采用相同的方法来进行挖掘
2.聚类分析和模式识别
3.决策树分类技术
4.人工神经网络和遗传基因算法
5.规则归纳
6.可视化技术
7.关联规则 -->关联可分为简单关联、时序关联、因果关联。目的是找出数据库中的隐藏的关联网
1
2
3
4
数据规范化:将数据按照指定比例进行缩放,映射到指定区域.  常用方法:min-max规范化,z-score规范化,按小数定标规范化
数据规范化和数据标准化和数据归一化的区别: 数据规范化是一个大的概念,将不同渠道的数据按照同尺度进行度量,让数据句有可比较性。而数据归一化和数据标准化都是规范化的方式
数据归一化:将数据映射到【01】的区间范围
数据标准化是让规范化的数据呈现正态分布

数据仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
数据仓库:是一个从多个数据源收集的信息存储,存放在一个一致的模式下,并通常驻留在单个站点
数据仓库是一个面向主题的,集成的,随时间变化的,但信息本身相对稳定的数据集合,用于对管理决策过程的支持
四个特点:
1.面向主题:数据仓库都是基于某个明确主题,仅需要与主题相关的数据,无关细节数据被排除
2.集成的:从不同的数据源采集数据到同一数据源
3.随时间变化的:关键数据隐式或显式的基于时间变化
4.数据仓库的数据是不可更新的:数据装入后一般只进行查询操作,没有传统数据库的增删改查
数据仓库与数据库的区别:
数据仓库是数据哭的升级,从逻辑上来说,数据仓库与数据库没有区别,都是通过数据库软件实现的存放数据的地方,从数据量来说,数据仓库要比数据库更庞大的说.数据仓库主要用于数据挖掘和数据分析,辅助领导者做决策.数据仓库的表结构是依照分析需求,分析维度,分析指标进行设计的
数据仓库架构图:
ODS层:为临时存储层,是接口数据的临时存储区域,为后一步的数据处理作准备.ods层的表通常包括两类,一类是用于存储当前需要加载的数据,一个用于存储处理完后的历史数据.数据粒度通常是最细的.
PDW层:为数据仓库层,pdw层的数据应该是一致的,准确的,干净的数据,即对源系统数据进行了清洗后的数据,数据粒度通常和ods层相同.
DM层:为数据集市层,这层数据是面向主题来组织数据的,通常是星型或者雪花结构的数据,从数据粒度来说轻度汇总级的数据.
APP层:为应用层,这层数据完全是为了满足具体的分析需求而构建的数据,也是星型或雪花结构的数据.从数据粒度来说是高度汇总的数据.
为什么构建分离的数据仓库:
1.提高两个系统的性能,操作数据库是为已知的任务和负载设计的,如使用主关键字索引和散列,检索特定的记录,和优化查询
2.宁一方面数据仓库的查询通常是复杂的,涉及大量数据在汇总级别计算

聚类

1
2
3
4
5
6
7
8
聚类是一个把数据对象集划分成多个组或簇的过程,是的簇内的对象具有很高的相似性,但与其他簇的对象很不相似
聚类的应用:数据分割和离群点检测(如信用卡欺诈检测)

层次聚类:分为凝聚(自下而上)和分裂(自上而下)
划分依据:距离(曼哈顿和欧式距离,但是只能聚成球状簇),密度(任意形状的簇,过滤噪声或离群点,将对象集划分成多个互斥的簇或簇的分层结构)

聚类最本质最基本的是划分,他把对象组织成多个互斥的组或簇最著名的、最常用的为k均值和k中心点。
k-均值(基于形心的划分技术(形心代表该簇),形心可以为该组对象的均值或者 中心点等)

k-均值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
算法:k-均值.用于划分的k-均值算法,其中每个簇的中心都用簇中所有对象的均值来表示
输入:
k:簇的数目
D:包含N个对象的数据集
输出:k个簇的集合
方法:
1)从D中任意选择k个对象作为初始簇中心
2)repeat
3)根据簇中对象的均值,将每个对象分配到最相思的簇
4)更新簇均值,即重新计算每个簇对象的均值
5)until不在发生变化
不能保证得到的结果为全局最优解,通常情况下都是局部最优解,变种,k-众数

怎样提高k-均值算法的可伸缩性?
1.在聚类时使用合适规模的的样本
2.使用过滤方法,使用空间层次数据索引节省计算均值的开销
3.利用微聚类的方法,首先把临近的对象划分到微簇中,然后对这些微簇使用k-均值方法进行聚类

K-Means是个简单实用的聚类算法,这里对K-Means的优缺点做一个总结。
    ·K-Means的主要优点有:
    1)原理比较简单,实现也是很容易,收敛速度快。
    2)聚类效果较优。
    3)算法的可解释度比较强。
    4)主要需要调参的参数仅仅是簇数k。
    ·K-Means的主要缺点有:
    1)K值的选取不好把握
    2)对于不是凸的数据集比较难收敛
    3)如果各隐含类别的数据不平衡,比如各隐含类别的数据量严重失衡,或者各隐含类别的方差不同,则聚类效果不佳。
    4)采用迭代方法,得到的结果只是局部最优。
    5)对噪音和异常点比较的敏感。

k-中心点

1
2
3
4
5
6
7
k-均值算法对离群点敏感,因为存在对象远离大多数数据,因此分配到一个簇时候可能严重影响簇的均值。而k-中心点聚类的基本思想和K-means的思想相同,实质上是对K-means算法的优化和改进。
算法步骤:
1)确定聚类的个数K。
2)在所有数据集合中选择K个点作为各个聚簇的中心点。
3)计算其余所有点到K个中心点的距离,并把每个点到K个中心点最短的聚簇作为自己所属的聚簇。
4)在每个聚簇中按照顺序依次选取点,计算该点到当前聚簇中所有点距离之和,最终距离之后最小的点,则视为新的中心点。
5)重复(2),(3)步骤,直到各个聚簇的中心点不再改变。

5种主要聚类算法

1
2
3
4
5
1.k-means聚类(优化:k-medians)原理见上面   ===>优势:速度非常快,只计算了点和群中心的距离  缺点:离群值点较敏感,同时还需要确定划分的组数/类,也会影响最终的结果.
2.均值偏移聚类算法 一种基于滑动窗口的算法,试图找到密集的数据点(如:给定一个半径的圆移动直至圆里面点的数量最大),均值偏移是一个爬山算法,他需要在每步中反复地将这个内核移动到一个更高的密度区域,直到收敛. 优势:与k-means相比,均值偏移不需要选择聚类的数量,他会自动的发现. 缺点是:窗口大小和半径的选取非常重要.
3.DBSCAN聚类算法:比较代表性的基于密度的聚类算法,类似均值偏移聚类算法 优势:不需要预设定的聚类数量,并且将异常值识别为噪声,同时可以很好的找到任意形状和大小的簇类. 缺点:当聚类具有不同密度的时候,他的性能不像其他聚类算法那样好.当密度变化的时候,距离阈值和识别临近点的minpoints的设置会随着聚类的不同而变化.
4.层次聚类算法:分为自下而上和自上而下.自下而上指的是一开始将每个数据点视为一个单一的聚类,然后依次合并(聚集类),知道所有的类合并成一个包含所有数据点的单一聚类,自上而下的层次聚类称为合成聚类或HAC.(选择一个度量两个聚类之间距离的距离变量如平均连接聚类) 优势:无需确定聚类的数量,对距离度量的选择不敏感.(是以低效率为代价的)
5.使用高斯混合模型(GMM)和期望最大化(EM)聚类 初始选择聚类的数量,给定每个聚类的高斯分布,计算每个点属于特定簇的概率,离中心越近越可能属于那个聚类.基于这些概率,我们为高斯分布计算一组新的参数,这样我们就能最大程度的利用聚类中的数据点的概率.

文本挖掘

1
2
3
4
5
文本数据挖掘跟自然语言处理不是一回事,但是有很多的相通之处
自然语言处理是计算机科学领域与人工智能领域的一个重要方向.它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法.
文本挖掘利用智能算法,分析大量的非结构化文本源,抽取或标记关键字概念,文本挖掘是一个多学科混杂的领域,包括数据挖掘技术、信息检索、机器学习、自然语言处理、计算机语言学、统计数据分析、线性几何、概率论、图论等等。(总结:将结构化数据挖掘技术应用于文本数据)

理论上自然语言处理是文本挖掘的基础

谱聚类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
谱:方阵作为线性算子,它的所有特征值得全体称为方阵的谱.方阵的谱半径为最大的特征值.矩阵A的谱半径为矩阵A转置A的最大特征值

谱聚类:谱聚类是一种基于图论的聚类方法,通过对样本数据的拉普拉斯矩阵的特征向量进行聚类
的目的.谱聚类可以理解为将高维空间的数据映射到低维,然后在低维空间用其他聚类算法进行聚类.
谱聚类算法的描述:
1.输入:n个样本点X={X1,X2,.....,Xn}和聚类簇的数目k
2.输出:聚类簇A1,A2,...Ak
(1)计算n*n的相似度矩阵W
(2)计算对角矩阵D
(3)计算拉普拉斯矩阵L = D - W
(4)计算L的特征值,将特征值从小到大排序,取前K个特征值,并计算前k个特征值的特征向量
(5)将特征向量组成矩阵U
(6)使用k-means算法将新样本点Y={Y1,Y2,....,Yn}聚类成簇C1,C2,....,Ck
(7)输出A1,A2,A3....,Ak
相似度矩阵:
相似度矩阵就是样本中点的距离,在聚类算法中可以表示为距离近的点他们之间的相似度比较高,而距离远的点他们之间的相似度低,甚至可以忽略.表示相似度矩阵的三种方式:1.KNN 2.伊普西塔-近邻法 3.全连接法

数学概念

1
2
3
4
5
6
7
1.中心趋势度量:均值、中位数、众数
截尾均值:丢掉高低极端值后的均值
加权算术均值(加权平均)
中位数:是有序数据的中间值,对于非对称数据是数据中心跟好的度量
极差:最大值与最小值之差, 分位数:取自数据分布的每隔一定间隔上的点,把数据划分为基本上大小相等的连贯集合,2-分位相当于中位数,4-分位相当于三个数据点
五数概括:识别可疑离群点的通常规则是,挑选落在第三个四分位数之上
标称属性: