数据科学导论
ppt1 概述 有几个
数据:?
数据科学:?
英文为Data Science,简称DS
是关于对(数据进行分析、抽取信息和知识的过程)提供指导和支持的基本原则和方法
三次信息化浪潮 基本标志
1、个人计算机 2、互联网 3、物联网云计算大数据
数据产生方式的变革促成大数据时代的来临
运营式系统阶段数据库 到 用户原创内容阶段web2.0 到感知式系统阶段
大数据发展的三个阶段
大数据的特点
不仅是大量化 而且包含快速化 多样化 价值化4V volume大量
velocity快速 variety多样 value价值化 价值密度低,商业价值高
不仅 … 而且…..
大数据对科学研究的影响
四种范式 实验 理论 计算 数据
大数据对思维方式的影响
全样而非抽样
效率而非精确
相关而非因果
因果不现实,内容多时间紧
题目
1、
第一次信息化浪潮的标志:个人计算机
第二次信息化浪潮的标志:互联网
第三次信息化浪潮的标志:云计算、大数据和物联网技术的普及
2、以下哪个不是大数据的4V特性
价值密度高不对 应该是价值密度低
3、大数据时代最大的转变就是思维方式的三种转变
包括全样而非抽样
效率而非精确
相关而非因果
细致学习完
略 第二章 python 考的比较少
python的官方定义 python的特点 文科的东西
python是一种 解释型的、面向对象、动态数据类型的高级程序设计语言
- 解释型语言:
- 解释型语言意味着Python代码在执行时是由解释器逐行读取,然后转换成机器码执行,而不是事先编译成机器语言。这样的特性使得Python具有良好的跨平台性,代码可以在任何安装有Python解释器的操作系统上运行,同时也便于测试和调试,因为可以立即执行代码并看到结果。
- 面向对象:
- 面向对象编程(OOP)是一种程序设计范式,它使用“对象”来模拟现实世界中的事物。Python从设计之初就支持面向对象编程,提供了类、继承、多态等面向对象的特性。在Python中,几乎一切都是对象,包括数据类型、函数等,这使得Python非常适合用于面向对象的设计和编程。
- 动态数据类型:
- 动态数据类型意味着在Python中,变量的数据类型是在运行时确定的,而不需要在代码中显式声明。这种特性提高了编程的灵活性,因为同一个变量可以在不同时间被赋予不同类型的值。这也意味着Python在处理数据类型转换时更加灵活,但同时也要求程序员在编写代码时更加注意变量的类型和操作的安全性。
- 高级程序设计语言:
- 作为一种高级语言,Python的设计目标是提高程序员的编程效率,让程序员能够用更接近人类语言的方式来表达计算逻辑。Python的语法简洁明了,极大地减少了编程时的代码量,同时提供了丰富的标准库和第三方库,支持各种高级特性和编程范式,如函数式编程、异步编程等。
Python区分大小写
特色:使用缩进来表示代码块
python变量不需要声明
变量没有类型
不可变数据类型,(如果变了,那么对应的内存地址就也会变)3个
分别是
- Number数字
- String 字符串
- Tuple 元组
可变 3个
List列表
Set集合
Dictionary字典
type()函数可以用来查询变量所指对象类型
python的特点:
强面向对象特性、
内置数据结构、
简单性
健壮性
跨平台
可扩展性
动态性
强类型语言
应用广泛
题目
解释型语言每次运行都需要将源代码解释称机器码,然后执行
编译型语言运行效率比解释型高,因为编译过程编译器可以进行多种优化
只要平台提供了解释器,就可以直接运行源代码,解释型语言方便原程序移植多平台
编译型语言一次编译成机器语言以后就不需要编译
重点:第三章 大数据的相关工程技术
云计算
3.1.1云计算的概念 按需计算
•云计算也称为按需计算(On Demand Computing),它是提供对可配置的、共享的计算资源池的按需存取的一种计算模型,这里的资源包括计算、存储、网络等硬件资源。
3.1.2云计算的类型
公有云云计算运营商拥有超大规模基础设施
私有云企业自己拥有云数据中心
混合云(企业建的私有云同时也使用公有云)
这几个缩写注意一下
应用层SoftwareAsAService 软件即是服务办公OA系统 腾讯公众号
平台层 平台即时服务Platform PaaS 比如MySQL 数据库服务 Google App Engine
基础设施层IaaS 基础设施即服务阿里云腾讯云
云计算关键技术
包括虚拟化、分布式存储、分布式计算、多租户
虚拟化技术–云计算关键技术
广义上来说,就是通过映射或抽象的方式屏蔽物理设备复杂性,增加一个管理层面,激活一种资源并使之更易于透明控制。
服务器虚拟化
寄居虚拟化 裸机虚拟化
存储虚拟化
网络虚拟化
桌面虚拟化
多租户技术 数据面 程序面 系统面
3.1.5云计算的数据中心是云计算的重要载体
数据中心是云计算的重要载体
数据中心通过虚拟化等技术
云计算题目
1、云计算包括三种类型 面向所有用户提供服务,只要是注册付费的用户都可以使用 这种云计算属于公有云
2、将基础设施作为服务的云计算服务类型是?
IaaS I基础设施
Paas是平台
Saas是应用
3、Hyper-V是微软的虚拟化产品 为Windows定制 方便管理
4、虚拟化常见的类型有
服存网桌
服务器
存储NAS
桌面
网络
3.2.1物联网
3.2.2二维码 矩阵式二维码 特征
矩阵式二维码 QR CODE
跟二维码有关的题目
1.在购物结账时,我们可以用微信“扫一扫” 功能,对商家提供的二维码进行扫描付款。该扫描过程属于:
扫别人是采集数据
转化例子文字识别 将图像信息通过OCR软件转化为可编辑和搜索的电子文本格式
存储例子云存储服务
发布例子社交媒体平台
2、关于二维码正确的说法?
二维码有较好的容错和纠错能力
二维码具有较好的容错和纠错能力。二维码通过内置的纠错算法可以在一定程度上恢复被遮挡、损坏或模糊的数据。二维码的纠错能力分为四个级别:L、M、Q、H:
- L级:约可纠正7%的错误。
- M级:约可纠正15%的错误。
- Q级:约可纠正25%的错误。
- H级:约可纠正30%的错误。
纠错级别越高,二维码的容错能力越强,但同时也意味着二维码中存储的有效数据量会减少,因为更多的空间被用于存储纠错码。因此,在设计二维码时,需要根据实际应用场景和对容错能力的需求来选择合适的纠错级别。
二维码本身是数据编码,可以被链接到恶意网站或下载恶意文件
3、
云计算的关键价值在SaaS PaaS和IaaS 数据存储和管理 计算能力 灾难恢复和数据备份
C将云计算定义的太简单并且与大数据的概念混淆
云计算的本质是提供便捷、按需访问到共享的计算资源池
3.4.1人工智能概念
人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论
人工智能关键技术:机器学习 知识图谱 自然语言处理 人机交互 计算机视觉 生物特征识别 AR/VR
机器学习 知识图谱 自然语言处理 人机交互 计算机视觉 生物特征识别 AR/VR
3.4.2机器学习 是人工智能技术的核心
机器学习(Machine Learning)是一门涉及统计学、系统辨识、逼近理论、神经网络、优化理论、计算机科学、脑科学等诸多领域的交叉学科,研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能。重新组织已有的知识结构使之不断改善自身的性能,是人工智能技术的核心。
强调任务 经验 性能 给定任务运用算法从数据生成模型,对模型用性能评估
研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能
2、知识图谱 科学知识图谱
知识图谱/科学知识图谱
是显示知识发展进程与结构关系的一系列各种不同的图形
用可视化技术描述知识资源及其载体
挖掘 分析 构建 绘制和显示知识以及他们之间的相互联系
知识图谱是一种通过图形化方式组织和表达知识的技术。它由节点(实体)和边(实体间的关系)组成,用于表示事物之间的多种关系和属性。知识图谱能够将复杂的数据和信息以图形的形式直观展现,便于理解和分析。它广泛应用于搜索引擎优化、推荐系统、自然语言处理等领域,通过构建领域知识的结构化表示,帮助机器更好地理解、处理和分析大量的信息和数据
3、自然语言处理
文本分类是机器对文本按照一定的分类体系自动标注类别的过程
词法分析 分词 词性标注 命名实体识别
词法分析是编译的第一阶段,主要任务是读入源程序的字符序列,将它们组织成有意义的词素序列。一个词素是源程序中最小的有意义的单位,可以是关键字、标识符、常数、运算符等。词法分析器(又称为扫描器)负责这个过程,它通过消除源代码中的空格、注释等无关字符,识别出各种词素,并为每个词素生成一个词法单元(token)。这个词法单元包含词素的类型和可能的值。
语法分析(Syntax Analysis)
语法分析是编译过程的第二阶段,紧随词法分析之后。它的主要任务是根据语言的语法规则,分析词法单元序列的结构,确保这些序列能够组成语法上正确的句子。语法分析器(或解析器)通过构建一种称为“语法树”的数据结构来完成这一任务,语法树展示了词法单元如何按照语法规则组合成句子。
句法分析 分析句子结构联系上下文
3.4.5大数据与人工智能的关系
人工智能是一种计算形式 只管对输入作出反应
大数据是一种传统计算 不会根据结果采取行动,考虑寻找结果
机器学习题目
1、
不是一种数据分析方法
3、知识图谱相关
知识域可视化 知识领域映射地图
错误。知识图谱不属于密码学研究范畴。知识图谱是一种用于组织和管理知识的技术,通过图形化的方式表示实体之间的各种关系。它主要应用于信息检索、推荐系统、自然语言处理等领域,目的是使计算机能更好地理解、处理和分析数据和信息。
密码学,另一方面,是研究加密和解密信息的科学,关注的是如何安全地传输和存储数据,以保护信息不被未授权的访问者获取。密码学的研究内容包括加密算法、数字签名、公钥基础设施等,与知识图谱的研究领域和应用场景有明显的不同。
3.5.1比特币
比特币是一种数字货币,由计算机生成的一串串复杂代码组成,新比特币通过预设的程序制造
3.5.2区块链原理
私钥不能泄密
公钥
如何分配记账权
3.5.3区块链定义
Ø区块链是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问安全的一种全新的分布式基础架构与计算范式。
比特币和区块链的本质:就是一个人人可见的大账本,只记录交易。
核心技术:通过密码学+数据结构,保证账本记录不被篡改。
核心功能:创造信任。法币依靠政府公信力,比特币依靠技术。
区块链题目
重点:第四章数据采集及预处理
4.1.1数据采集概念
数据采集是数据分析的入口
通过各种技术手段把外部各种数据源产生的数据实时/非实时地采集并利用
4.1.3数据采集的数据源 传感器 互联网 日志 企业业务系统数据
1、传感器
2、互联网数据
网络爬虫就是一个在网上到处或者定向抓取网页数据的程序
3、日志文件
可以用flume采集 apache flume
4、企业业务系统数据
借助于ETL extra-transform-load工具,对分散在企业不同位置的业务系统的数据(例如MYsql)进行抽取转换加载到企业数据仓库中,为分散在企业不同地方的商务数据提供一个统一的视图,以供后续的商务智能分析使用
4.1.4数据采集方法
3.ETL工具
4.网络爬虫
1、网络爬虫工作流程
2、网络爬虫抓取策略
1、深度优先
2、广度优先
3、网络爬虫的类型
1、通用
主要为搜索引擎服务 DFS和BFS
2、聚焦网络爬虫
有指向性 但是工作流程复杂 需要根据网页分析算法过滤无关链接
1、基于内容评价的爬行策略
基于 文本相似度 FishSearch SharkSearch
2、基于链接结构评价的爬行策略 pagerank
基于 结构特征评价+链接
3、增量式网络爬虫
只爬新产生的和变化的 优点减少数据下载量 及时更新 减少时空损耗 也用pagerank
4、深层网络爬虫
表层网页:传统搜索引擎可以索引的页面 超链接可以到达的静态网页
深层网页:存储在网络数据库里 不能通过超链接访问 需要通过 动态网页技术访问的资源集合
深层网:指不能被普通搜索引擎访问的内容,其中含有高质量的信息
深层网络爬虫结构比较复杂 爬取过程最重要的部分是表单填写
4、反爬虫机制
为什么要反爬
1、数据很宝贵
2、低级爬虫采集速度快但伪装度低,没反爬机制会影响网站服务器
常见的手段
1、UA User Agent 识别爬虫
2、设置IP访问频率,如果超过一定频率弹出验证码
3、通过并发识别爬虫 统计并发最高的IP加入黑名单
题目:
数据源 负责接收或收集数据。
**数据通信通道
数据槽
数据块 没有这东西
十分类似 差不多一样
埋点技术:是网站分析的一种常用的数据采集方法
埋点类型
1、前端埋点
1、代码埋点
2、可视化埋点
2、后端埋点
题目:哪个步骤不属于数据的采集与预处理
4.2数据清洗
一致性检查
问卷常见
无效值和缺失值的处理
估算 整例删除(关键变量缺失) 变量删除(缺失值很多) 成对删除(特殊码代表无效值和缺失值)
数据类型转换
同下
重复值处理
4.3数据转换
4.3.1数据转换策略
4.3.2平滑处理-分箱
等高方法 等宽方法
等高就是每个箱子内元素数量相同 然后求平均值 顺序不用改
等宽是固定宽度,每个箱子元素数量可能不同 根据实际情况来求解
上面是基于平均值 还可以接受 反正算完了就是简单
4.3.3规范化处理
回归
聚类
1、Min-Max规范化 线性代数 (xi-x0)/(xn-x0)
数据规范化处理的目的是消除变量间的量纲关系,从而使数据具有可比性,
如何计算规范化后的x的值 要会算题
2、Z-Score规范化 要会公式 z=(待转换的属性值-属性平均值)/属性标准差
z=(xi-x平均)/sigma
目的是将不同量级的数据统一转化为同一个量级,保证数据之间的可比性
优点:不需要知道数据集的最大值和最小值,对离群点规范化效果好。 Z-Score能够应用于数值型的数据,并且不受数据量级的影响,因为它本身的作用就是消除量级给分析带来的不便。 不足:Z-Score对于数据的分布有一定的要求,正态分布是最有利于Z-Score计算的。 Z-Score消除了数据具有的实际意义,A的Z-Score与B的Z-Score与他们各自的分数不再有关系,因此,Z-Score的结果只能用于比较数据间的结果,数据的真实意义还需要还原原值
min-max xi-xmin/xmax-xmin
z-core xi-x平均/sigma
3、小数定标规范法
4.4数据脱敏
数据脱敏原则
4.4.3数据脱敏方法
4.4.3 数据脱敏分类
静态脱敏 通过ETL按规则一次性完整 一般用于从生产环境 搞给开发 测试环境
动态脱敏 直接按规则 权限 对申请方发送脱敏的结果
题目 数据替换 无效化随机化 偏移取整 对称加密 平均值
具体来说,保持引用完整性包括以下几个方面:
- 数据关联性:在数据库中,不同表格间通过外键等方式建立的关联关系需要在脱敏后仍然保持有效。例如,如果有一个用户表和订单表,用户表中的用户ID是订单表中的外键,即使用户ID被脱敏处理,两个表之间的关联关系仍需保持一致。
- 数据一致性:脱敏过程中,相同的原始数据应该被转换为相同的脱敏数据。这样可以保证在不同的数据集或数据表中,相同的信息在脱敏后仍然是相同的,从而保持数据的一致性。
- 逻辑结构不变:数据的逻辑结构,如数据的层次关系、分类、标签等,在脱敏过程中应保持不变,以确保数据的使用场景和分析逻辑不受影响。
保持引用完整性的目的是确保脱敏后的数据仍然可以在数据分析、软件测试、训练机器学习模型等场景中有效使用,同时不泄露任何敏感信息。这要求脱敏过程既要有效保护隐私,又要尽量减少对数据实用性的影响。
重点:第五章大数据存储与管理
5.1传统的数据存储与管理技术
关系数据库支持ACID属性:保证事务的原子性、一致性、隔离性和持久性。
###
ACID是数据库管理系统中事务处理的四个基本属性的首字母缩写,分别是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。这些属性确保了数据库事务是安全、可靠的,即使在系统故障的情况下也能保证数据的完整性和一致性。
- 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成。如果事务中的某个操作失败,整个事务将被回滚,数据库状态回到事务开始之前的状态。
- 一致性(Consistency):事务必须使数据库从一个一致性状态转换到另一个一致性状态。事务执行过程中不会破坏数据库的完整性约束。
- 隔离性(Isolation):并发执行的事务之间不会互相影响。事务的执行结果应当与它们被顺序执行时的结果相同。
- 持久性(Durability):一旦事务被提交,它对数据库的修改就是永久性的,即使系统发生故障也不会丢失。
5.2分布式文件系统 nosql数据库和newsql特点
关系型 遵守ACID 非关系型不遵守ACID但是支持海量存储 newSQL都支持
具有对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性。
5.3.1hadoop java开发
核心是 分布式文件系统HDFS 和MapReduce
特点
hadoop的安装方式
单机
伪分布
分布式
HDFS
namenode名称节点 管理分布式文件系统的命名空间
datanode 数据节点 分布式文件系统的工作节点 负责数据的存储和读取
secondarynamenode第二名称节点
hadoop优势在处理静态 spark内存计算和实时数据流分析 storm实时计算
yarn调度和管理 mapreduce处理和分析 一个是管理层一个是打工人
5.4.2HDFS局限性
hdfs采用抽象的块的优点 1、最小化寻址开销
2、支持大规模文件存储
3、简化系统设计
4、
数据存储策略
数据节点出错
5.4.5存储原理
冗余数据保存 加速 检错 可靠
filesystemImage 和EditLOG
静态
5.5NoSQL数据库 特征
没有声明性查询语言 没有预定义的模式 灵活的数据模型
CAP定理 一致性 可用性 分区容忍
CA mysql没有满足分区容忍性
NoSQL BASE什么意思
允许损失部分可用性 保证核心可用 软状态 最终一致性 3
5.5.1键值数据库
优缺点
扩展性好 灵活性好 大量写 高性能
不能 关系 条件效率低 结构化
缺点不能存储结构化信息 条件查询低效率 不能存储数据之间关系
列族数据库的优缺点
快查找 可扩展 分布式扩展 低复杂度
功能少 大多不支持强事务一致性 ACID
文档数据库
图数据库
5.7.1 分布式数据库HBase
高可靠
HBase与传统关系数据库的区别
web2.0后越发力不从心了 NoSQL也是这时兴起的
不依赖表的结构
?重点:第六章
MapReduce框架 Master/Slave 编程容易 计算向数据靠拢
mapReduce 采用 “分而治之”策略 将复杂的运行于大规模集群上的并行计算过程高度抽象为两个函数 map 和reduce
先分片 给map处理然后reduce输出
主奴架构 编程容易 可运行在分布式系统 计算向数据靠拢
6.2spark 特点
是基于内存计算的大数据并行计算框架
有向无环图
spark 运行速度快 DAG作为执行引擎 DAG是有向无环图
ØScala是Spark的主要编程语言ØScala是Spark的主要编程语言
Scala是spark的主要语言
REPL交互式解释器 REPL read eval print loop
spark与hadoop对比
hadoop缺点 表达能力有限 磁盘io开销大 高延迟 任务之间限界涉及io开销
在前一个任务执行完成前,其他任务无法开始 难以胜任复杂 多阶段的任务
spark 计算模式虽然属于mapreduce 但不局限于map和reduce操作
还提供多种数据集操作类型
编程模型比hadoop mapreduce更灵活
spark 提供内存计算 可将中间结果放到内存 对于迭代运算效率更高
spark基于DAG任务调度 优于MapReduce
逻辑回归时间差距100倍
RDD 弹性分布式数据集 是spark种最基本的数据抽象
分布式对象集合?
代表一个不可变 (只读)、可分区、分布式对象集合
只读 不能改 只能通过转换生成新的RDD
弹性
分区 不同分区可以保存在集群不同节点 从而并行计算
RDD支持两种操作
转换 惰性的
行动
RDD典型执行过程
DAG拓扑排序
惰性调用 RDD
RDD每次转换会生成新的RDD RDD之间有流水线一样的前后依赖关系 DAG描述了整个流式计算的流程
RDD之间的依赖关系
窄依赖 宽依赖
在 Apache Spark 中,RDD(弹性分布式数据集)的依赖类型是理解其容错机制和执行计划的关键。RDD 依赖分为两种:窄依赖(Narrow Dependency)和宽依赖(Wide Dependency)。
- 窄依赖(Narrow Dependency):
- 窄依赖指的是每个父RDD的分区最多被一个子RDD的分区所使用。这意味着子RDD的每个分区只依赖于父RDD的一个分区。
- 窄依赖允许Spark进行更有效的管道化执行,因为计算可以在不同的分区上局部进行,无需跨节点的大规模数据交换。
- 例如,
map
和filter
操作就会产生窄依赖,因为它们对每个输入元素都是独立处理的。
- 宽依赖(Wide Dependency):
- 宽依赖指的是子RDD的分区依赖于父RDD的多个分区。这种依赖通常在需要进行大规模数据混洗(Shuffle)的操作中出现,如
groupBy
或reduceByKey
。 - 宽依赖通常会导致数据在不同节点间的大量移动,因为它需要将所有具有相同键的数据集中到同一个分区中进行处理。
- 宽依赖是容错的关键所在,因为一旦某个分区失败,可能需要重新计算多个父分区的数据。
- 宽依赖指的是子RDD的分区依赖于父RDD的多个分区。这种依赖通常在需要进行大规模数据混洗(Shuffle)的操作中出现,如
理解窄依赖和宽依赖对于优化 Spark 程序和理解其执行计划非常重要。窄依赖的操作通常更高效,因为它们可以更好地利用数据局部性和减少网络通信。而宽依赖的操作则可能成为性能瓶颈,因为它们涉及到复杂的数据混洗和网络传输。Spark 的 DAG 调度器会尽量优化这些操作,以减少宽依赖带来的开销
- 转换(Transformation) 类型的操作是惰性的,它们只记录RDD的转换轨迹,并不会立即触发计算。
- 动作(Action) 类型的操作会触发真正的计算,执行到此前所有惰性转换操作的累积结果。
错了 RDD是Spark中最基本的数据抽象,是一个可变、可分区、分布式对象集合。
不可变
具备强大并发 不慢 接近java
scala 多范式 代表支持函数 面向对象
6.3.5storm
很快 企业毫秒级运算是支持的
Master—Worker 的节点方式
类似hadoop mapreduce分片 处理 输出
spark是Driver 分成job stages tasks 然后DAG开始 有向无环图DAG转换 然后执行 然后RDD惰性转换
hadoop赖着不死 spark全方位超越hadoop
master/slave架构 Hadoop spark
spark Driver 集群 EXEc RDD DAG
6.3.6spark streaming
微批处理模型
6.4.1Hive
依赖分布式文件系统HDFS存储数据
依赖分布式
纯是个司马接口
不支持数据更新 你在逗我吗
重点:第七章数据分析方法
7.2.1分类
分类算法的训练和评价
留出法
交叉验证
决策树 监督学习
ID3
决策树算法 剪枝
7.2.2聚类 无监督学习
huafen
层次聚类
BIRCH
密度聚类
DBSCAN笑脸
关联规则学习
kmeans适合tu的 初始聚类中心影响很大 毕竟无监督
7.2.3回归分析
逻辑回归优缺点
关联规则
Apriori算法
置信度
利用最大k项频繁集
支持度=出现次数/项个数
置信度(a-》b)=pab/pa 条件概率
7.2.5神经网络
神经网络的训练算法
单层神经网络无法解决异或问题
反向传播 BP算法
随机梯度下降法
第八章 数据可视化
一道题也没有