当前课程知识点:R语言数据分析 > 中部:执具 > 第9章 最美不过数据框 > 第9章 最美不过数据框
大家好
欢迎来到《R语言数据分析》课程
今天和大家一块交流的主题是
最美不过数据框
还是先回到我们的R里面数据对象地图
我们将R里面数据对象分成三组六类
当然核心区域是我们的数据框这一块的
也就是我们今天要讲的 最美不过数据框
我们先看最基本的逻辑
应该说数据框是我们最常见的数据对象
无论我们刚开始拿到数据是什么样的
不管你是从哪来
比如关系表
互联网爬取的
可能有各种各样的方式存在
但是要建模之前
或者要数据探索之前
我们一般要把它变成数据框
也就是说在建模之前
数据预处理之后的结果
基本上都是数据框
在R里面
好 那既然数据框是
最常见的数据对象
毫无疑问我们说发现数据背后的规律
在很大程度上应该就是
发现数据框背后的规律
所以我们才有说数据框
蕴含了几乎绝大部分
我们所关注的关系和结构
当然我们一般说到数据分析的时候
对我们这门课来讲就是机器学习 数据挖掘
我们说大数据分析技术等等
可能范围非常广泛
但最经典的是哪几种
比如说认识数据的时候有相关性分析
然后 在认识数据的基础之上
做关联 做分类 做聚类
也就是有监督和无监督的学习
当然也有些进一步的主题
比如说这个序列模式
图模式等等
但最经典的就这么几种
关联 分类和聚类
咱们就以这最经典的这个关联分类聚类为例
我们看看是不是真的
都蕴含在我们这个数据框里面
当然我们说到数据框的时候
我们用了这么一个图
这个筐毫无疑问和这个数据框的框不是一个词
这个筐的话应该是竹字头的
咱们的数据框的话另外一个词
但我们借用一下
我们这课想跟大家交流一个理念是
其实我们所谓的关联 分类 聚类
都蕴含在这个数据框里面
也说数据框里面有乾坤
我们所关注的这些关系结构
它其实都在这个数据框里面都有所体现
咱们先看第一个
也是我们数据分析里面主体性的内容
也是有监督的学习
它的代表分类
分类本质上就是函数就是映射
咱们先温习一下 函数的概念
函数是什么呢
设x和y是两个变量
D是一个给定的数集
如果对于每一个数x属于D
变量y按照一定的法则
总有确定的数值和它对应
我们称y是x的函数
记为y=f(x)
这是我们以前在学高等数学的时候
碰到的一个关于函数的一个概念
当然这个函数的概念
它其实把它转移到另外一个概念里面去的
叫一定的法则
其实这个一定的法则
可能比这个函数本身的概念还难理解
只是把这个概念转移到另外一个
可能更难理解的概念上面去了
那如何真真切切理解这个函数的本质和内涵
我们其实可以回到问题的原点
看看我们在高中的时候
高中课本里面
这是我从高中课本里面截的一个图
高中课本怎么说的
我们在初中的时候已经接触过
函数的三种表达方法是
解析法 图像法和列表法
当然高中课本里面
或者中学课本里面
这个解析法 图像法和列表法都有所体现
但是我们到了大学之后
列表法就很少见了
我们先看看先温习一下
回顾一下解析法
图像法和列表法
同样我也是把这个高中课本里面
中学课本里面一个图像给截出来
我们一看
y等于x平方
这是解析法
然后它相应的这个图像
将x轴y轴映射完之后
这个图像是y等于x平方的图像
是图像法
那毫无疑问这一部分是列表法的
当然这个列表法我们刚才讲了
在中学课本里面还有
在大学或者研究生之后几乎就很少见了
那我们作为一个研究生的课程
我们也得重新温习一下这个列表法
为什么
我们看一下
我现在把刚才那个列表转90度
[顺]时针转90度
转完之后我们再比较一下这个列表
和我们这个数据框对比一下
这二者毫无疑问
这里面有x有y我们在这边其实
也是有x和y的
针对我们这个问题情境
我要根据这些特征性别以及这九门课的
成绩的好坏
我来判断一下他是选文科还是选理科
其实前面这10列就是什么
就是x
后面这一列就是什么
其实就是y
也就是说 我们这个数据框在本质上
就是我们以前所讲到的
列表法的一种表达方式而已
这其实就是列表法
大家看一看
其实没有任何本质的区别
它本质上完全是一样的
所以这其实我们说数据框
里面为什么蕴含着函数 蕴含着映射
也就说它为为什么蕴含着我们这种所谓的
分类与回归的模型
因为数据框它本质上讲
它就是个列表法的一个表达而已
那刚才讲的这个比较令人费解的这个
一定的对应法则是什么呢
在我们这个数据框里面所体现的就是
x和y出现的同一行
当x取什么值的时候y取相应的值
这就映射
这就一定对应法则
所以我们有了这个数据框之后
你发现它其实又回到我们很早很早以前接触到
这个函数表达的三种最基本方式之一
所以问题都是相通的
当然我们需要指出是
我目前所讲的这个列表法
所表达的函数相对复杂一点
这个表达形式也相对复杂一点
而且我们之前在方法论的时候也讲到
我们的世界是复杂的
所以这个对应关系的话
它也不是严格的确切的对应
不是x取某值多少
必定有一个同样的y和它来对应
它可能是以某个概率取值
它可能是取文科
也可能是取理科
比如说百分之95的概率取文科
百分之5的概率取理科
所以这个和我们之前的函数定义
有一些区别
但它本质上还是这么一个映射关系
只是相对复杂一点而已
同样它表现形式可能也会相对复杂一点
比如说它有可能是树模型
有可能是一个神经网络
它形式上可能会更加复杂一点
这个学习的过程也复杂一点
但是本质上都是这么一个函数
都是这么一个映射而已
所以说数据框里面
假如我们从列表法
这么一种函数的表现形式来讲的话
数据框里面蕴含着这么一种关系
这是我们想表达第一个意思
就是数据框里面有这个函数有这个映射
也其实也就是分类(与回归)
也就是有监督的学习
好 说完这个有监督学习之后
说完这个分类之后
我们再说第二部分
这个第二个主体内容是
就是无监督学习的代表
聚类
所谓聚类是什么呢
聚类就是把这个数据点
这个数据对象分成一簇一簇
为了简化这个问题
我们现在挑出了七名同学
他的数学和物理
这两门课的成绩
这个时候我把这个数据
把它以几何的方式展现出来
这个数学成绩我来作为x轴
物理成绩作为y轴
那这两个特征张成了一个二维的数据空间
这里面每一行其实就是一个
就是这个数据空间里面的每一个点
我们可以看得出来
前面这个
傅午莲
钱瑞英
穆映雪
和伍姣
这四个同学你发现它在哪
在这一部分
然后 后面这三个同学在这一部分
在这个数据空间里面
它其实都是
我的观测对象它就相应的就是一个数据点了
好 我们所谓的聚类分析
就要看看这个数据空间里面所形成自然的结构
根据的关系的远近
毫无疑问这里面是一簇
下面是一簇
恰恰和我们这个颜色相对应的
前面这四个同学我们把变成红色
他都是理科的
后面这三个同学都是文科的
假如我们一旦把这个数据框里面的每一列
作为数据空间的维度
然后每一行作为相应的一个数据点的话
我们这个聚类分析显得再自然不过了
它其实就是数据空间里面
距离的远近
这是一簇这是一簇
通过这个无监督的方法
把它分成了自然的两簇
一个是理科一个是文科
这其实也就是说
我们数据框里面其实是有这个数据空间的
它有数据空间的影子
它的列就表示这个数据空间的维度
行就表示数据空间的点
毫无疑问进一步的这个数据空间里面
也蕴含了我们所谓的聚类分析
这种聚类的模式
这我们想表达第二个意思
除了分类之外
这个我们这个数据框里面同样有聚类
咱们再看第三个
关联
一说到关联的话
毫无疑问我们要就会想起这个
啤酒和尿不湿的故事
在买尿布的同时也买啤酒
然后就得到这么一个蕴含规则
关联规则蕴含关系
关联规则都是一个蕴含式(implication)
就是A蕴涵B
当A发生的时候B也发生
或者如果A的话那么B
啤酒和尿不湿
销量是次第增长的
当这个买尿不湿的时候同时要买啤酒
这么一种关联关系
要挖这个关联规则的话
是不是也在这个数据框里面挖出来
我们看一下
还是以我们这个成绩数据为例
这时候我们可能可以挖出一个这么一条规则
历史为优 化学为良的时候
他文理分科一般选文科
这么一条关联规则
当然要挖这么一条规则的话
它至少得满足两个
一个是支持度一个置信度
所谓支持度
就是前面这个事件就是历史为优
化学为良这个A和后面这个事件
这个文理分科为文科
它必须(同时)出现得足够频繁
才表达这么一种关联的模式
不是偶然
同时这是满足这个支持度
同时还得满足这个置信度
就一旦A发生的情况之下
那B发生的概率应该是相对比较大的
就是当他历史为优化学为良的时候
在历史上这个文理分科
它为文科这个概率是比较大的
这个时候我在这个数据框里面怎么挖出来
我们可以看一下
先记一下所有的数据记录总共有多少774条
再看这个历史为优化学为良记录有多少条
63条
在历史为优和化学为良的这个纪录里面
它文理分科为文科的话有53条
那毫无疑问这个时候我的支持度多少
53除以774
它在历史上这种模式出现多少
支持度是0.06
就是有100条记录里面就出现了六七次
置信度多少
就是当我这个历史为优化学为良的时候
它文理分科为文科的概率多少0.84
毫无疑问
假如我这个支持度我这个阈值设为0.05以上
这个置信度设为0.8的话
这就是一条强规则
我们就挖出了历史为优化学为良的情况之下
它一般来讲文理分科在历史上
十之八九(0.84)就为选择文科
也就是说我们通过这个数据框
我来计次来求比例
我很自然就挖出了这个关联规则
所以数据框里面也有我们的关联规则
一条条关联规则
从我们前面讲的例子能看得到
其实数据框里面蕴含了
分类有监督学习
聚类这个无监督学习
包括这个关联规则
所以可以这样讲
绝大部分的数据分析
在R里面数据分析模型都是基于这个数据框
以数据框为基础然后来进一步进行模型的建立
所以我们才说最美不过数据框
当然我们这边说数据框其实是代表这个关系表
在R里面数据框你可以是最基本的data.frame
也可以是这个tidyverse里面的tibble
也可以data.table
data.table是专门一个扩展包
比如说我这个数据框
它这个数据记录
它的记录上千万条
或者说超过1G以上的话
那通过这个data.table
数据处理效率可能更高一点
当然这里面其实都是指
这个所谓的数据的处理而言
假如数据分析而言
站在数据分析的角度话
它里面都是都是关系表达方式存在
当我们知道其实我们所谓的机器学习
都是发现关系结构的过程
机器所能学到都是关系结构
所以我们可以重新认识一下关系表的关系
其实就应该是关系结构里面这种关系
那这个关系既可以是变量之间的关系
也可以数据空间的结构
然后相关关系函数映射
距离关系
伴随 就刚才我们讲的关联
以及比如说一些高级主题
比如邻接
复杂网络等等
其实都可以从这个数据框里面挖出来
在某种程度上讲
我们的关系表几乎可以上升为一个数学概念
这也是我们今天想跟大家交流的主题
就是一切都可以从数据框里面挖出来
我们相应的模式 规律
或者说我们这关系结构
最美不过数据框
本次课到此结束
谢谢大家
-第1章 气象万千、数以等观
--第1章 作业
-第2章 所谓学习、归类而已
--第2章 作业
-第3章 格言联璧话学习
--第3章 作业
-第4章 源于数学、归于工程
--第4章 作业
-讨论题
-第5章 工欲善其事、必先利其器
--第5章 作业
-第6章 基础编程——用别人的包和函数讲述自己的故事
--6.1 编程环境
--6.4 控制流
--第6章 作业
-第7章 数据对象——面向数据对象学习R语言
--第7章 作业
-第8章 人人都爱tidyverse
--第8章 作业
-第9章 最美不过数据框
--第9章 作业
-第10章 观数以形
--第10章 作业
-第11章 相随相伴、谓之关联
--11.1 导引
--第11章 作业
-第12章 既是世间法、自当有分别
--12.1 导引
--第12章 作业
-第13章 方以类聚、物以群分
--13.1 导引
--第13章 作业
-第14章 庐山烟雨浙江潮
--第14章 作业