数据挖掘-理论与算法 公开课笔记

1.1.1.1 整装待发

  • 近年来数据存储和数据处理的能力都产生了飞跃,为数据挖掘奠定了基础。
  • 虽然数据量大,但是真正有用的信息少

2.1.2.1 学而不思则罔

  • 是多学科(机器学习、人工智能、模式识别、统计学)的交叉领域
  • 如何学习数据挖掘?:认真听课、积极讨论+课后延伸阅读(提供灵感)+写代码
  • 不是去记住理论,网上都查得到,一定要学会如何思考

3.1.3.1 知行合一

1、数据

  • 什么是数据?:定量或者定性的属性值(比如一个人身高、体重、年龄等)是最底层的表现形式,而信息会高一级,数据要做一些处理后才能转化为信息
  • 数据类型:连续型、离散型、符号型
  • 存储形式
    • 物理存储:都是二进制存储
    • 逻辑存储:比如星型、网络型等
  • 主要问题:数据类型转化、数据的错误

2、大数据

  • 什么是大数据?:
    • 说法一:数据量大(Tb->Zb)、高速流动(Batch->Streaming Data)、数据种类多(结构化数据->非结构化数据)
    • 说法二:数据量大到传统的数据处理软件都无法处理

4.1.4.1 从数据到知识

什么是数据挖掘?:是从海量、不完整、有噪声的数据中自动提取有趣且潜在有用信息的过程

注:不是完全自动的过程,需要人为参与(比如相关领域的知识、数据收集和预处理等)

数据挖掘-理论与算法 公开课笔记_第1张图片数据挖掘-理论与算法 公开课笔记_第2张图片 

 5.1.5.1 分类问题

  • 什么是分类?是根据一个或多个特征(称为变量)的信息和已知标签训练得到模型,然后对未知标签进行分类
  • 分类算法:决策树、k-nearest neightbours、神经网络、支持向量机
  • 其实就是寻找分界面,对空间进行划分(直线、曲线、复杂的圆或多条线等),分界面尽量选择平滑而不是过于复杂的,避免过拟合

数据挖掘-理论与算法 公开课笔记_第3张图片数据挖掘-理论与算法 公开课笔记_第4张图片 

  •  将数据化为训练集和测试集,训练集用于生成模型,测试集用于对模型进行评估

 数据挖掘-理论与算法 公开课笔记_第5张图片

  • 混淆矩阵 

数据挖掘-理论与算法 公开课笔记_第6张图片

  • 不同类型的错误造成的后果不同

 6.1.6.1 聚类及其它数据挖掘问题

  • 聚类是无监督学习(没有标签信息,通过距离来衡量相似性)
  • 距离度量:欧氏距离、曼哈顿距离、马氏距离
  • 算法:kmeans、Sequential Leader、Affinity Propagation
  • 层次聚类
  • 关联规则
  • 数据预处理数据挖掘最难和最有挑战性的部分

10.2.1.1 Data Cleaning 数据清洗

  • 数据预处理包括:数据清洗、数据类型转换、数据描述、特征选择、特征提取
  • 脏数据类型:

数据挖掘-理论与算法 公开课笔记_第7张图片

  • 数据缺失的原因

 数据挖掘-理论与算法 公开课笔记_第8张图片

注:数据为空不一定就缺失,可能是不适用(比如男女生去做体检,项目不同,不能说男生没做这项体检就是缺失,以及问学生每个月挣多少也是不适用的) 

  • 数据缺失的类型
    • 随机缺失(比如100份卷子被吹飞了40张)
    • 有条件缺失(一个属性值缺失可能是基于另一个属性,比如女生不愿意透露体重)
    • 不随机缺失(和自身的属性值有关,比如询问收入多少,高收入的人可能就不愿意透露)
  • 如何处理数据缺失

    数据挖掘-理论与算法 公开课笔记_第9张图片 

    • 删除:通常情况下,如果数据中只用较少的样本带有缺失值,则可以删除带有缺失值的行。如果某列的数据带有大量的缺失值,进行缺失值填充可能会带来更多的负面影响,则可以直接删除缺失值所在的列
    • 填充:重新采样/利用领域知识推测/ 固定值(0或其他)、均值等 /符合一定概率分布(正态分布)的值
    • 离群点(比如姚明远远高于普通人)对结果影响可能非常大,离群点不一定是异常点(不能说姚明高就是异常,除非患病)

数据挖掘-理论与算法 公开课笔记_第10张图片

11.2.2.1 异常值与重复数据检测

  •  离群是相对的,在计算离群点时要考虑相对性,可以尝试与近邻值相比较数据挖掘-理论与算法 公开课笔记_第11张图片

distancek(A,B)是计算A到其相邻点的距离,如果距离越近,lrd(A)值越大。lrd(B)/lrd(A) 如果较大,说明B到其相邻点距离较近,A较远,则A可能离群

  • 重复数据(冗余数据):当对多个数据表进行融合可能存在数据重复且类型不一致问题,
    • 通过滑动窗口进行局部比较:前提是冗余数据是挨在一起的,这样才能保证重复数据在一个窗口之中
    • 对每条记录生成key值,如果两条记录非常可能是一个人,那么生成的key也要尽可能相似

12.2.3.1 类型转换与采样

处理了缺失值与重复值后,得到一个error free的数据集后,还需进行一些转换工作,如类型转换、标准化、采样

  • 数据类型:

数据挖掘-理论与算法 公开课笔记_第12张图片

不同的编码方式会使问题变简单(变复杂 )

 数据挖掘-理论与算法 公开课笔记_第13张图片数据挖掘-理论与算法 公开课笔记_第14张图片

 对于标称属性,比如上图红绿蓝,不能简单编码123,这样潜在认为蓝色到红色的距离比绿色到红色的距离远,而且123暗含大小关系,一般可以用独热编码,但注意如果属性值过多(比如颜色种类不能太多),维度会过大导致无法处理

数据挖掘-理论与算法 公开课笔记_第15张图片

  • 采样:数据太多处理不过来(和统计学的采样相反,统计学上是因为获得所有数据样本成本太高,可获得的数据少,所以采样)

数据挖掘-理论与算法 公开课笔记_第16张图片

对于不平衡类别的数据集来说,准确率指标可能并不有效,如下图预测颜色种类,界限左边预测为红,右边预测为蓝,则对于分类器A的准确率为95%,分类器B的准确率为90%,但不能说分类器A好于B

 数据挖掘-理论与算法 公开课笔记_第17张图片

这时候要尝试其他的评价指标:

 数据挖掘-理论与算法 公开课笔记_第18张图片

可以对类别少的部分进行上采样 数据挖掘-理论与算法 公开课笔记_第19张图片

13.2.4.1 数据描述与可视化 

数据挖掘-理论与算法 公开课笔记_第20张图片

 数据挖掘-理论与算法 公开课笔记_第21张图片

 通过查表可以知道值非常大,大到可以说明两件事之间不是独立的,是有相关性的

14.2.5.1 特征选择

一个人是可以用很多属性来进行描述,但在做特定的分类时,并不一定需要所有的属性,因为有些属性是与研究目的不相关的(如一个人能否胜任工作,那么他的头发颜色可能就不相关),有些属性是重复的,看起来比较接近(如address和location),属性太多会造成空间的维度太大,在高维空间去寻找分界面难度更大,因此需要做特征选择工作,降低问题的难度

feature selection的目的是要找出好的属性,设下图是男生和女生身高的分布,一个属性好不好,可以通过画图看属性的区分度如何,理论上一个属性能够100%将两个目标完美分开

数据挖掘-理论与算法 公开课笔记_第22张图片

熵是衡量系统的不确定性,即一个变量到底取多少我们有多少的confidence 

 数据挖掘-理论与算法 公开课笔记_第23张图片数据挖掘-理论与算法 公开课笔记_第24张图片

当吸烟的男女各为50%时,熵达到最大值1,此时是最不确定的。 不抽烟人的熵为0.7219,大于抽烟人的熵0.2862,说明在烟民中性别分布是更加不平衡的。

信息增益:当你知道一个额外的属性时,对系统的不确定性降低多少,值越大越好

如何从100个属性中找到最优的5个属性?

 数据挖掘-理论与算法 公开课笔记_第25张图片

分支定界算法:比如从5个中挑2个最优属性,假设S2是S1的子集,则J(S2)J(1,3,4,5),则J(2,3)>(1,3,4,5)所有分支的J值

 数据挖掘-理论与算法 公开课笔记_第26张图片

 

你可能感兴趣的:(基础知识笔记,python,数据挖掘)