数据科学导论这门课,怎么说呢。老师也不知道教了什么,学生也不知道学了什么,莫名其妙考试也不知道靠什么。这里整理了一点笔记,仅供考试前参考!!。
ch1 引言
引言这一章,基本上不会出题,了解即可。
数据科学概念:是对数据进行分析,抽取信息和知识的过程,提供指导和支持的基本原则和方法。它研究数据的各种类型、状态、属性及其变化规律,它研究各种方法,对数据进行分析,从而揭示自然界和人类行为等现象背后的规律。
数据科学的核心任务,是从数据中抽取有用的信息/知识
数据科学组成:一组概念 Concept 、原则 Principles 、过程 processes 、技术 techniques
/方法 methods 、以及工具 tools 。(简记cpptt)
数据科学的基本原则:
- 分析数据、获得知识,从而解决具体的业务问题,是数据科学的核心任务,这个任务可以划分为 understand data, collect data, integrate data, analyze data, visualize result, communicate result 等一系列的阶段
- 对数据分析的结果进行评估,需要结合所处的应用程序上下文环境进行仔细考察。
- 从大量的基础数据中,我们可能分析出变量之间的相关性
- 在一些属性上相似的实体,在其它属性上(可能是未知的一些属性)一般也是相似的。
- 在现有的数据上适配得很好的模型(分析结果),有可能不能很好地泛化,即不能适配到新数据上。
- 当我们从数据的分析结果中,试图得出一些因果关系的结论的时候,我们必须考虑到一些额外的因子(有可能先前没有考虑进来)。
- 通过并行处理提高数据处理(分析)速度
数据处理流程:采集、表示与存储、清洗、集成、分析、展现、决策
ch2 数据预准备
ETL 概念:(蛮重要的)
Extract:从源中提取数据
Transform: 在源、汇或暂存区转换数据
Load:将数据加载到汇中
数据预准备的阶段任务
阶段:数据特征化、数据清洗、数据集成
任务:必须有效地在空间和时间移动数据,包括数据传输 和 数据序列化和反序列化(用于文件或网络)
几种数据格式:JSON、XML、HTML
ch3 数据模型
关系型数据库不适用的原因
- 索引:典型的 RDBMS 表存储大部分是索引,负担不起这么大的数据存储开销
- 事务:安全状态变化需要日志等,而且速度很慢
- 关系:检查关系会增加更新的开销
- 稀疏数据支持:当数据非常稀疏时,RDBMS 表是非常浪费的
Key-value 列存储分解
ch4 数据清洗和集成
脏数据 在数据挖掘工作中,脏数据是指不完整、含噪声、不一致的数据
脏数据表现
- 将文本解析为字段(分隔符问题)
- 命名惯例
- 缺少必要的字段(如关键字段)
- 不同的表述
- 字段太长(被截断)
- 主键冲突(从非结构化转成结构化的过程中或在集成期间)
- 冗余记录(精确匹配或其他)
- 格式问题——尤其是日期
- 许可问题/隐私/阻止您按自己的意愿使用数据?
数据质量
正确性:数据记录正确。
完整性:所有有关数据均已记录。
唯一性:实体记录一次。
及时性:数据是最新的。
时间一致性。
一致性:数据本身是一致的。
数据清洗任务
- 对元组及其各个属性值格式进行调整,使之符合值域要求,使用统一单位
- 完整性约束条件的检查和实施
- 从已有的取值导出缺失的值
- 解决元组内部和元组之间的矛盾冲突
- 消除、合并重复值
- 检测离群值,极有可能是无效数据
数据清洗过程
- 对数据进行审计,把数据异常的类型标识出来
- 定义工作流。选择合适的方法,用于检测和剔出这些异常
- 执行工作流。在数据上执行这些方法
- 后续处理和控制阶段将检查清洗结果,把在前面步骤中没有纠正过来的错误元组进行进一步处理
数据清洗具体方法
- 对数据进行解析,检测语法错误
- 数据转换,将数据从一个格式映射到另外一种格式,以适应应用程序的需要
- 实施完整性约束条件
- 消除重复数据
- 用统计方法对数据进行审计,甚至可以对数据中的异常进行纠正
数据清洗的若干问题
- 不可测量的:准确性和完整性是非常困难的,可能无法测量。
- 上下文无关:不考虑什么是重要的。
- 不完整:可解释性、可访问性、元数据、分析等等。
- 含糊不清:传统的定义没有对数据的实际改进提供任何指导。
数据集成面对的困难
- 异构数据:没有共同的关键字,不同的字段格式。近似匹配
- 不同的定义
- 时间同步:数据是否与相同的时间段相关?时间窗口是否兼容?
- 遗留数据
数据集成步骤
- 预处理/标准化:将数据转换成规范化格式
- 项的相似度计算
- 模式匹配
ch5 数据探索性分析
数据探索性分析
指对已有的数据在尽量量少的先验假定情况下进行探索,逐步了解数据的特点
数据探索性分析作用
利用人机交互技术和数据可视化技术,通过不断揭示数据的规律和数据间的关联,引导 分析人员发现并认识以前不知道的数据模式或规律。对未知的数据模式和规律的探索是其价值所在。
各种图
- 单变量:点图、抖动图、错误条形图、箱线图、直方图、核密度估计、累计分布函数
- 二变量:条形图、散点图、折线图、重对数坐标图(对于幂律数据非常有用)
- 多变量:堆叠图:堆叠变量是离散的 、平行坐标图:一个离散变量,任意数量的其他变量
探索式数据分析的基本方法
- 计算一些汇总统计量,了解数据的典型值,还可以通过确定异常值,了解数据的异常情况
- 制图和指表,展示变量的分布情况、时间序列数据的变化趋势以及变量之间的关系。
ch6 NLP
Bow (很重要)
将所有的词语装进一个袋子,不考虑其词法及语序,即每个单词都是独立的。一种特征化,它使用一个忽略顺序的单词计数向量。
ch7 ML
各种距离(很重要)
还有一个切比雪夫距离。
ch8 推荐
HITS 算法基本流程
输入:一个有向图
初始化:对于每一个节点 p,auth(p)=1,hub(p)=1
利用中枢值更新权威值:对于每一个节点 p,让 auth§等于指向 p 的所有节点 q 的 hub(q)
之和
利用权威值更新中枢值:对于每一个节点 p,让 hub§等于 p 指向的所有节点 q 的 auth(q)
之和
重复上述两步若干(k)次
归一化与极限
• 数值随迭代次数递增
• Auth 和 hub 值的意义在于相对大小
• 在每一轮结束后做归一化:值/总和
• 归一化结果随迭代次数趋向于一个极限,相继两次迭代的值不变,极限与初值无关,即存在“均衡”
• 向量方向的收敛
PageRank 算法
基本思想:用网页间的链接关系计算网页重要性过程:
输入:一个有 n 个节点的网络(有向图),设所有节点的 PageRank 初始值为 1/ n。
选择操作的步骤数 k
对 PageRank 做k 次更新操作,每次使用以下规则:
每个节点将自己当前的 PageRank 值通过出向链接均分传递给所指向的节点。若没有出向链接,则认为传递给自己(或者说保留)。每个节点以从入向链接获得的(包括可能自传的 )所有值之和更新它的 PageRank
退化图结构的处理
• 同比缩减
在每次运行基本 PageRank 更新规则后,将每一节点的 PageRank 值都乘以一个小于 1 的比例因子 s,0<s<1,经验值在 0.8-0.9 之间。
• 统一补偿
在每一节点的 PageRank 值上统一加上(1-s)/n。
ch9 hadoop
大数据时代的技术支撑: 存储设备容量不断增加 CPU 处理能力大幅提升 网络带宽不断增加
大数据概念:数据量大、数据类型多、处理速度快、价值密度低,商业价值高
云计算概念: 云计算实现了通过网络提供可伸缩的、廉价的分布式计算能力,用户只需要在具备网络接入条件的地方,就可以随时随地获得所需的各种 IT 资源
云计算关键技术:虚拟化、分布式存储、分布式计算、多租户等
Hadoop 是一个能够对大量数据进行分布式处理的软件框架,并且是以一种可靠、高效、可伸缩的方式进行处理的,它具有以下几个方面的特性:
- 高可靠性、高容错性
- 高效性
- 高可扩展性
- 成本低
- 运行在 Linux 平台上
- 支持多种编程语言
核心: 分布式文件系统 HDFS 和并行运算方法 MapReduce
HDFS 分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群
分布式文件系统设计需求:分布式文件系统的设计目标主要包括透明性、并发控制、可伸缩性、容错以及安全需求等。但是,在具体实现中,不同产品实现的级别和方式都有所不同。
HDFS 目标: 兼容廉价的硬件设备、流数据读写、大数据集、简单的文件模型、强大的跨平台兼容性
HDFS 局限性: 不适合低延迟数据访问、无法高效存储大量小文件、不支持多用户写入及任意修改文件
组成: 主节点(名称节点) + 从节点(数据节点)
主节点:负责管理分布式文件系统的命名空间,保存了两个核心的数据结构,FsImage 和 EditLog。FsImage 用于维护文件系统树以及文件树中所有的文件和文件夹的元数据,操作日志文件 EditLog 中记录了所有针对文件的创建、删除、重命名等操作。名称节点记录了每个文件中各个块所在的数据节点的位置信息。
从节点:是分布式文件系统 HDFS 的工作节点,负责数据的存储和读取,会根据客户端或者是名称节点的调度来进行数据的存储和检索,并且向名称节点定期发送自己所存储的块的列表。每个数据节点中的数据会被保存在各自节点的本地 Linux 文件系统中
HDFS 体系结构的局限性(只有一个名称节点):
- 命名空间的限制:名称节点是保存在内存中的,因此,名称节点能够容纳的对象(文件、块)的个数会受到内存空间大小的限制。
- 性能的瓶颈:整个分布式文件系统的吞吐量,受限于单个名称节点的吞吐量。
- 隔离问题:由于集群中只有一个名称节点,只有一个命名空间,因此,无法对不同应用程序进行隔离。
- 集群的可用性:一旦这个唯一的名称节点发生故障,会导致整个集群变得不可用。
块的好处: 支持大规模文件、存储简化系统设计、适合数据备份
为什么进行冗余数据保存:
作为一个分布式文件系统,为了保证系统的容错性和可用性,HDFS采用了多副本方式对数据进行冗余存储,通常一个数据块的多个副本会被分布到不同的数据节点上。这种多副本方式具有以下几个优点
加快数据传输速度、容易检查数据错误、保证数据可靠性
MapReduce (重点)
shuffle过程
ch10 老师的随口一说,你以为的介绍,他认为的重点
personal rank(很重要)
在推荐系统中,用户行为数据可以表示成图的形式,具体地,令G(V,E)表示用户物品二分图,其中V由用户顶点集合和物品顶点集合组成。对于数据集中每一个二元组(u, i),图中都有一套对应的边,其中是用户对应的顶点,是物品对应的顶点。图中用户节点和物品节点相连,说明用户对物品产生过行为。
将用户行为数据用二分图表示,将个性化推荐放在二分图模型中,那么给用户u推荐物品任务可以转化为度量Vu和与Vu 没有边直接相连的物品节点在图上的相关度,相关度越高的在推荐列表中越靠前。
1.在执行算法之前,我们需要初始化每个节点的初始概率值。如果我们对用户u进行推荐,则令u对应的节点的初始访问概率为1,其他节点的初始访问概率为0,然后再使用迭代公式计算。
2.对于personalRank来说,由于每个节点的初始访问概率相同,所以所有节点的初始访问概率都是1/N (N是节点总数)。
如果我们要计算所有节点相对于用户u的相关度,则PersonalRank从用户u对应的节点开始游走,每到一个节点都以1-d的概率停止游走并从u重新开始,或者以d的概率继续游走,从当前节点指向的节点中按照均匀分布随机选择一个节点往下游走。这样经过很多轮游走之后,每个顶点被访问到的概率也会收敛趋于稳定,这个时候我们就可以用概率来进行排名了。
众包思想
众包指的是一个公司或机构把过去由员工执行的工作任务,以自由自愿的形式外包给非特定的(而且通常是大型的)大众网络的做法。众包的任务通常是由个人来承担,但如果涉及到需要多人协作完成的任务,也有可能以依靠开源的个体生产的形式出现。
最后,clz老师的数据科学这门课,真的是。。。。还要看看其他老师讲的什么。每个学期可能讲的东西都不太一样。老师也不太记得自己讲的什么,这次考试莫名其妙出了个什么切比雪夫距离,最后还有个协同过滤推荐算法,感觉是全军覆没了。学弟学妹们,加油吧。
来源:CSDN
作者:zzc_zhuyu
链接:https://blog.csdn.net/zzc_zhuyu/article/details/103914217