数据科学基础复习(简)

news2024/10/4 18:48:44

可视化、数据可视化

在狭义上,数据可视化是与信息可视化,科学可视化和可视分析学平行的概念,而在广义上数据可视化可以包含这3类可视化技术。

数据科学的主要任务

数据科学研究目的与任务

  • 大数据及其运动规律的揭示
  • 从数据到智慧的转化
  • 数据洞见(Data Insights)
  • 数据业务化
  • 数据分析
  • 数据驱动型决策(支持)
  • 数据产品的研发
  • 数据生态系统的建设

EDA探索性数据分析

探索性数据分析(Exploratory Data Analysis,EDA)

• 对已有的数据(特别是调查或观察得来的原始数据)

• 在尽量少的先验假定下进行探索

• 并通过作图、制表、方程拟合、计算特征量等手段探索数据的结构和规律的一种数据分析方法。

EDA方法与验证性分析的主要区别

• EDA不需要事先假设,而验证性分析需要事先提出假设;

• EDA中采用的方法往往比验证性分析简单

• 在一般数据科学项目中,探索分析在先,而验证性分析在后。

对原始数据的预处理,包括集成、变换、规约怎么做的

数据集成基本类型

  • 内容集成
  • 结构集成

数据集成的3个基本问题

  • 模式集成
  • 数据冗余
  • 冲突检测与消除

数据规约

维规约(Dimensionality reduction)

• 主成分分析(Principal Component Analysis,PCA)

• 奇异值分解(Singular Value Decomposition,SVD)

• 离散小波转换(Discrete Wavelet Transform,DWT)

值规约(NumerosityReduction)

• 参数模型(如简单线性回归模型和对数线性模型等)

• 非参数模型(如抽样、聚类、直方图等)

数据仓库

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的HiveQL

查询功能,可以将HiveQL语句转换为MapReduce任务进行运行。

最初,Hive是由Facebook开源,主要用于解决海量结构化的日志数据统计问题。

主要特色在于定义了一种类似SQL的查询语言(HiveQL,HQL),将其转化为MapReduce任务在Hadoop上执行,通常用于离线分析。

其优点是学习成本低,可以通过类似SQL语句快速实现简单的MapReduce统计,不需发专门的MapReduce应用,适合基于数据仓库的统计分析需要。

时间序列,时间序列的数据是用来做什么的

时间序列分析

  • 时间序列是按时间顺序的一组数字序列
  • 时间序列分析就是利用这组数列,应用数理统计方法加以处理,以预测未来事物的发展
  • 时间序列预测一般反映3种实际变化规律
    • 趋势变化
    • 周期性变化
    • 随机性变化

通常,一个时间序列由4种要素组成:

➢ 趋势

➢ 季节变动

➢ 循环波动

➢ 不规则波动

时间序列建模包括以下3个主要阶段:

➢ 第一阶段、用观测、调查、统计、抽样等方法取得被观测系统时间序列动态数据

➢ 第二阶段、根据动态数据作相关图,进行相关分析,求自相关函数。相关图能显示出变化的趋势和周期,并发现动态数据中的跳点与拐点。

➢ 第三阶段、辨识合适的随机模型,进行曲线拟合,即用通用随机模型去拟合时间序列的观测数据

云计算的一些特点

什么是云计算(cloud computing)?

云计算是一种按使用计费的计算模型,提供对可配置的计算资源(例如网络,服务器,存储,应用程序和服务)进行按需存取。

云计算具有以下6个基本特点

  • 按需自助服务
  • 泛在接入
  • 资源池化
  • 快速弹性
  • 计费服务
  • 高可靠性

云计算服务可以分为三类

¢ 基础设施即服务

¢ 平台即服务

¢ 软件即服务

云计算服务的部署方式有四大类

公有云、社区云、私有云和混合云。

云计算与其他计算模式的区别

  • 并行计算是相对于串行计算来讲的,可分为时间上的并行、和空间上的并行。
  • 分布式计算通过把整个计算任务,分解成一系列的小任务,分布到各个节点上分别执行,最后把结果合并,获得最终结果,侧重点在于任务的划分。
  • 集群计算通过网络把一组松散的计算机节点紧密地连接在一起,协同完成计算工作,在许多方面它们可以被视为单个系统。
  • 网格计算将虚拟化的异构计算资源作为一个虚拟的计算机集群,节点分布更广泛,支持更多不同类型的计算机。
  • 云计算底层的核心技术是虚拟化,把计算、存储、网络等硬件予以抽象、转换后呈现出来。云计算是上述技术发展的新阶段,或者说是这些概念的商业实现。

MapReduce是怎么工作的

MapReduce计算框架源自一种分布式计算模型,其输入和输出值均为<key, value>键/值对,其计算过程分为两个阶段——map阶段和reduce阶段,并分别以两个函数map()和reduce()进行抽象。MapReduce程序员需要通过自定义map()和reduce()函数表达此计算过程。

➢ map()函数

➢ reduce()函数

实现过程

首先,当用户程序调用MapReduce框架时,将输入文件分成M个数据块,每个数据块的大小一般为16MB~64MB。接着,在计算机集群中启动大量的复制程序,主要步骤如图6-6所示 用户可以通过可选的参数来控制数据块的大小。

主要特征

(1)以主从结构的形式运行

(2)map()函数与reduce()函数之间的数据处理。

➢ Shuffle处理

➢ Combiner()函数

➢ Partition()函数/分区函数

(3)<key, value>类型的输入/输出

map(K1, V1) –> list (K2, V2)

combine(K2, list(V2)) –> list(K2, V2)

partition(K2, V2) –> integer

reduce(K2, list(V2)) –> list(K3, V3)

(4)容错机制的复杂性

➢ Worker故障

➢ Master故障

(5)数据存储位置的多样性

➢ 源文件:GFS

➢ Map处理结果:本地存储

➢ Reduce处理结果:GFS

➢ 日志:GFS

(6)任务粒度大小的重要性

在MapReduce中,通常把Map拆分成了M个片段、把Reduce拆分成R个片段执行。

(7)任务备份机制的必要性

➢ 有一些慢的节点(“落伍者”)会限制剩下程序的执行速度

➢ “推测性的执行(Speculative execution)”的任务备份机制——当作业中大多数的任务都已经完成时,系统在几个空闲的节点上调度执行剩余任务的拷贝,并在多个Worker同时进行相同的剩余任务。

关键技术

(1)分区函数

(2)Combiner()函数

(3)跳过损坏记录

(4)本地执行

(5)状态信息

(6)计数器

机器学习的聚类、分类算法的特点

分类分析

分类分析
➢ 一种将复杂问题简单化之后,再进行分析和处理的一种数据分析方法,即将大量数据若干个类别之后,分析类别的统计特征,通过类别的特征概括具体数据。
【注意】从统计分析角度看,分类和预测是两个相互关联和转化的概念。
➢ 当目标值的类型为分类型时,称之为分类;
➢ 当目标值的类型为连续型时,称之为预测。

分类分析的算法

• 决策树

• 决策表

• 贝叶斯网络

• 神经网络

• 支持向量机

• KNN算法

【注意】不同算法对分类和预测的支持不同,例如贝叶斯网络和决策表只能处理分类型目标值的分类分析。

聚类分析

与分类分析不同的是,聚类分析所要求划分的类别是未知。
聚类分析中的“聚类要求”有两条:
➢ 每个分组内部的数据具有比较大的相似性;
➢ 组间的数据具有较大不同。
聚类分析方法
➢ 分层聚类
➢ K-means 聚类
➢ Kohonen Network聚类等

怎么描述数据的质量

数据质量

基本属性

• 数据正确性(Correctness)

• 数据完整性(Integrity)

• 一致性(Consistency)

扩展属性

• 形式化程度(Formalization)

• 时效性(Timeliness)

• 精确性(Accuracy)

• 自描述性(SelfDescription)

数据库的类型

数据库的类型

关系数据库

层次数据库

⽹状数据库

⾯向对象数据库

XML数据库

关系数据库

关系数据技术不断趋于成熟

➢ 事务处理能力

➢ 两段封锁协议

➢ 两段提交协议

➢ 坚实的理论基础

➢ 标准化程度高

➢ 产品的成熟度高

  • ➢ Oracle公司的Oracle
  • ➢ IBM公司的DB2
  • ➢ Sybase公司的Sybase
  • ➢ 微软公司的SQL Server
  • ➢ MySQL AB 公司开发的MySQL

NoSQL

NoSQL 是指那些非关系型的、分布式的、不保证遵循ACID 原则的数据存储系统。相对于关系数据库,NoSQL数据库的主要优势体现在:

➢ 易于数据的分散存储与处理

➢ 数据的频繁操作代价低以及数据的简单处理效率高

➢ 适用于数据模型不断变化的应用场景

CouchDB、Redis、MongoDB、Riak、Membase、Neo4j、Cassandra、HBase(配合 ghshephard使用)

关系云

关系云是在云计算环境中部署和虚拟化的关系数据库,进而使传统关系数据库具备云计算的弹性计算、虚拟化、按需服务和高经济性等特征。关系云代表了数据管理的一个重要发展方向,其关键在于实现:

➢ 事务处理

➢ 弹性计算

➢ 负载均衡等

数据审计,数据审计是干什么的

数据审计是指按照数据质量的一般规律与评价方法,对数据内容及其元数据进行审计发现其中存在的“问题”,例如:

  • 缺失值(缺少数据)
  • 噪声值(异常数据)
  • 不一致值(相互矛盾的数据)
  • 不完整值(被篡改或无法溯源的数据)

数据清洗,去除噪声数据,怎么去处理的

去除噪声数据有哪些方法?分箱怎么操作的,分箱的方式等深、等宽时候怎么处理,边界值处理还是均值处理,怎么计算

缺失数据处理

冗余数据处理

噪声数据处理

噪声数据的存在形式

  • 错误数据
  • 虚假数据
  • 异常数据
    • 离群数据或孤立数据

噪声数据的处理方法

  • 分箱(Binning)
  • 聚类(Clustering)
  • 回归(Regression)
分箱处理的步骤与类型

均值平滑与边界值平滑

标准化,标准化怎么计算的,标准化的方式

数据标准化处理(Data Normalization)

  • 0-1标准化(0-1 normalization)
  • z-score 标准化(zeromean normalization)

大数据的特征特点,怎么去理解这些特点

如何理解大数据的4V特征

常见的数据库,成熟的关系型?数据库有哪些,优缺点(关系型?)应该怎么发展?怎么去用

关系数据库的优缺点

关系数据库的优势

  • 数据一致性高。由于关系数据库具有较为严格的事务处理要求,它能够保持较高的数据一致性。
  • 数据存储的冗余度低。 由于关系数据库是以规范化理论为前提,通常,相同字段只能保存一处,数据冗余性较低,数据更新的开销较小。
  • 处理复杂查询的能力强。关系数据库中可以进行 join等复杂查询。
  • 成熟度高。关系数据库技术及其产品已经较为成熟,稳定性高,系统缺陷少

关系数据库的不足之处

  • 不善于处理大量数据的读写操作。在关系数据库中,为了提高读写效率,一般采用主从模式,即数据的写入由主数据库负责,而数据的读入由从数据库负责。因此,主数据库上的写入操作往往成为瓶颈。
  • 不适用于数据模型不断变化的应用场景。在关系数据库及其应用系统中,数据模型和应用程序之间的偶合高。当数据模型发生变化(如新增或减少一个字段等)时,需要对应用程序代码进行修改。
  • 数据的频繁操作代价大。为了确保关系数据库的事务处理和数据一致性,对关系数据库进行修改操作时往往需要采用共享锁(又称读锁)和排他锁(又称读/写锁)的方式放弃多个进程同时对同一个数据进行更新操作。
  • 数据的简单处理效率较低。在关系数据库中,SQL 语言编写的查询语句需要完成解析处理才能进行。因此,当数据操作非常简单时,也需要进行解析、加锁、解锁等操作,导致关系数据库对数据的简单处理效率较低。

NoSQL

术语NoSQL可以理解为“Not Only SQL”的缩写,也就是说NoSQL为数据处理提供了一种补充方案。

NoSQL 是指那些非关系型的、分布式的、不保证遵循ACID 原则的数据存储系统。相对于关系数据库,NoSQL数据库的主要优势体现在:

➢ 易于数据的分散存储与处理

➢ 数据的频繁操作代价低以及数据的简单处理效率高

➢ 适用于数据模型不断变化的应用场景

需要注意的是,提出NoSQL技术的目的并不是替代关系数据库技术,而是对其提供一种补充方案。

➢ 如果需要处理关系数据库擅长的问题,那么仍然首选关系数据库技术;

➢ 如果需要处理关系数据库不擅长的问题,那么不再仅仅依赖于关系数据库技术,可以考虑更加适合的数据存储技术,如NoSQL技术等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2188506.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【web安全】——命令执行漏洞/代码执行漏洞

1.命令执行漏洞 1.1漏洞原理 应用有时需要调用一些执行系统命令的函数&#xff0c;如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等&#xff0c;当用户能控制这些函数的参数&#xff0c;并且开发人员对这个参数没有严格的过滤时就可以将恶意系统命令拼接到…

仿RabbitMQ实现消息队列服务端(二)

文章目录 ⽹络通信协议设计信道管理模块连接管理模块服务器模块实现 ⽹络通信协议设计 其中⽣产者和消费者都是客⼾端&#xff0c;它们都需要通过⽹络和BrokerServer进⾏通信。具体通信的过程我们使⽤Muduo库来实现&#xff0c;使⽤TCP作为通信的底层协议&#xff0c;同时在这个…

中级软件设计师:一文搞懂下午第二题——数据库设计

中级软件设计师&#xff1a;一文搞懂下午第二题——数据库设计 1. 数据库设计过程1.1 ER模型1.1.0 浅谈UML1.1.1 实体&#xff08;Entity&#xff09;1.1.2 联系1.1.3 联系类型1.1.4 实体间的联系模型 1.2 属性&#xff08;Attribute&#xff09;1.3 关系&#xff08;Relations…

Python案例--动态奖金计算(个税计算)

在企业财务管理中&#xff0c;员工的奖金计算是一项关键任务&#xff0c;它直接关系到员工的积极性和忠诚度。一个合理的奖金制度能够激励员工更好地完成工作&#xff0c;提高企业的整体竞争力。本文将通过Python编程语言&#xff0c;详细探讨如何根据企业利润计算员工的奖金。…

ROS C++ : 使用ros::AsyncSpinner,实现多线程处理ROS消息

文章目录 1、原理说明1.1、ros::MultiThreadedSpinner1.2、ros::AsyncSpinner1.3、多线程原理1.3.1、 消息发布1.3.2、 消息订阅 2、ros::AsyncSpinner 示例13、ros::AsyncSpinner 示例24、使用 ros::AsyncSpinner&#xff0c; 多线程处理回调示例 1、原理说明 ROS提供了2中方…

风场可视化效果的实现,免费的预测数据获得方法

风场可视化是气象学、海洋学等领域中的重要研究工具&#xff0c;它能够直观地展示大气或海洋中的风速、风向等信息。通过风场的可视化&#xff0c;科研人员可以更好地理解气象数据的空间分布特征&#xff0c;分析风场的动力学特性。本文将介绍如何利用Python中的matplotlib、Ba…

git维护【.gitignore文件】

在工程下添加 .gitignore 文件【git忽略文件】 *.class .idea *.iml *.jar /*/target/

如何通过几个简单步骤创建博客

搭建博客不仅可以表达自我和分享知识&#xff0c;还可以成为一种潜在的收入来源。如果你也对搭建博客感兴趣&#xff0c;下面的几个步骤将帮助你轻松入门。 一、选择一个主题 确定你的兴趣点&#xff1a;首先&#xff0c;你需要选择一个你感兴趣且擅长的领域。你悉的领域既能激…

基于SpringBoot+Vue的蛋糕甜品商城系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着互联网技术的飞速发展&#xff0c;电子商务已经深入人们的日常生活&#xff0c;各行各业都在积极拥抱数字化转型。蛋糕甜品行业也不例外&#xff0c;传统的销售模式已经无法满足消费者日益增长的多样化、便捷化需求。因此&a…

每日学习一个数据结构-树

文章目录 树的相关概念一、树的定义二、树的基本术语三、树的分类四、特殊类型的树五、树的遍历六、树的应用场景 树的遍历一、前序遍历二、中序遍历三、后序遍历使用java代码实现遍历总结 树的相关概念 树是一种重要的非线性数据结构&#xff0c;在计算机科学中有着广泛的应用…

Pikachu-File Inclusion-远程文件包含

远程文件包含漏洞 是指能够包含远程服务器上的文件并执行。由于远程服务器的文件是我们可控的&#xff0c;因此漏洞一旦存在&#xff0c;危害性会很大。但远程文件包含漏洞的利用条件较为苛刻&#xff1b;因此&#xff0c;在web应用系统的功能设计上尽量不要让前端用户直接传变…

【GT240X】【04】你必须知道的 50 多个 Linux 命令

文章目录 一、介绍二、五十个linux命令一览表三、50个命令详解四、结论 你必须知道的 50 多个 Linux 命令 一、介绍 你经常使用 Linux 命令&#xff1f;今天&#xff0c;我们将介绍 50 多个你必须知道的 Linux 命令。下面列出的命令是一些最有用和最常用的 Linux 命令&#x…

jmeter学习(5)定时

Jmeter之定时器_jmeter定时器-CSDN博客 Jmeter(十三) - 从入门到精通 - JMeter定时器 - 上篇&#xff08;详解教程&#xff09;-腾讯云开发者社区-腾讯云 (tencent.com) 定时器是在每个sampler之前执行的&#xff0c;无论定时器位置在sampler之前还是子节点下面当执行一个sam…

TypeScript 算法手册 【基数排序】

文章目录 1. 基数排序简介1.1 基数排序定义1.2 基数排序特点 2. 基数排序步骤过程拆解2.1 找出数组中的最大值2.2 从最低位开始&#xff0c;对每一位进行计数排序2.3 对某一位数进行计数排序2.4 将排序结果复制回原数组 3. 基数排序的优化3.1 处理负数3.2 字符串排序案例代码和…

Go语言实现随机森林 (Random Forest)算法

在 Go 语言中实现随机森林&#xff08;Random Forest&#xff09;算法通常涉及以下几个步骤&#xff1a; 数据准备&#xff1a;将数据集分为训练集和测试集&#xff0c;确保数据格式适合算法使用。 决策树的构建&#xff1a;随机森林是由多个决策树构成的&#xff0c;首先需要…

MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置

MySQL 实验1&#xff1a;Windows 环境下 MySQL5.5 安装与配置 目录 MySQL 实验1&#xff1a;Windows 环境下 MySQL5.5 安装与配置一、MySQL 软件的下载二、安装 MySQL三、配置 MySQL1、配置环境变量2、安装并启动 MySQL 服务3、设置 MySQL 字符集4、为 root 用户设置登录密码 一…

使用前端三剑客实现一个备忘录

一&#xff0c;界面介绍 这个备忘录的界面效果如下&#xff1a; 可以实现任务的增删&#xff0c;并且在任务被勾选后会被放到已完成的下面。 示例&#xff1a; &#xff08;1&#xff09;&#xff0c;增加一个任务 &#xff08;2&#xff09;&#xff0c;勾选任务 &#xff…

【知乎直答】批量多线程生成原创文章软件-AI智能搜索聚合

【知乎直答】批量多线程生成原创文章软件介绍&#xff1a; 1、知乎发布的全新AI产品“知乎直答”是其AI搜索功能的产品化成果&#xff0c;旨在提升用户的提问、搜索体验以及结果生成和归纳的质量。 2、数据基础&#xff1a;该产品基于知乎平台上的真实问答数据及全网高质量问答…

Chromium 中前端js XMLHttpRequest接口c++代码实现

在JavaScript中发出HTTP请求的主要方式包括&#xff1a;XMLHttpRequest对象、Fetch API、Axios库和各种其他的HTTP客户端库。 本人主要分析下XMLHttpRequest接口在c中对应实现 一、上前端代码 <!DOCTYPE html> <html lang"en"> <head> <meta…

Go基础学习11-测试工具gomock和monkey的使用

文章目录 基础回顾MockMock是什么安装gomockMock使用1. 创建user.go源文件2. 使用mockgen生成对应的Mock文件3. 使用mockgen命令生成后在对应包mock下可以查看生成的mock文件4. 编写测试代码5. 运行代码并查看输出 GomonkeyGomonkey优势安装使用对函数进行monkey对结构体中方法…