数据清洗与数据挖掘复习笔记1

手打全文,崩溃┏┛墓┗┓...(((m-__-)m

好崩溃

爬虫可能会根据张永亮老师的课稍微再单开一个详解爬虫和HTML的章节把

正则表达式什么的,还有给的代码的释义也做一个详细的延伸?

这一章就简单的把老师的考点给总结一下吧QAQ

第一章 概述

数据的概念(什么是数据)?

1.数据是对客观事件记录的符号,客观事物的性质、状态以及相关关系等进行记载的物理符号或这些物理符号的组合。

2.数据可以排列组合成出传达某种概念或方法的信息,产生实用价值。

3.数据是重要的生产要素,是企业核心竞争力的关键要输,是国家重要的战略资源。

4.数据被称为未来的石油。

数据的类型

1.结构化数据

这里数据最常见的,就是保存在关系数据库中的数据(格式固定)。

如:企业财务报表 • 医疗数据库信息 • 行政审批数据 • 学生档案数据

2.半结构化数据

有一定结构与一致性约束,但结构变化很大,本质上不存在关系的数据

如:跨平台传输的XML和JSON 数据 • 以一定的程序把数据信息抽取出来

3.非结构化数据

是指数据结构不规则或不完整,没有预定义的数据模型

如:XML • HTML • 图片音频视频

什么是XML?

JSON怎么用?

{
    "name":"john",
    "age":25,
    "phoneNumber":
    [
        {
            "type":"home",
            "number":"123 456-789"
        },
        {
            "type":"fax",
            "number":123 456-789"
        }
    ]
}

是 一 个 对 象 , 分 割 成 3 个 无 序 的 部 分:

• 第 一 个 键 是 字 符 串 n a m e , 值 为 字 符 串 J o h n

• 第 二 个 键 是 字 符 串 a g e , 值 是 数 值 2 5

• 第 三 个 键 是 p h o n e N u m b e r , 值 是 一 个 数 组 , 数 组 包 含 两 个 有 序 的 以 逗 号 分 隔 的 对 象 , 每 个 对 象 里 边 又 包 含 两 个 键 值 对

ASCII是什么?(不考定义)

美国信息交换标 准代码是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧 语言。它是最通用的信息交换标准。

MIME

中文名字是多用途互联网邮件扩展类型,是设定某种扩展名的文件用一种应用程序来打开的方式类型。

• MIME :Multipurpose Internet Mail Extensions, 多用途互联网邮件扩展类型。 是描述消息内容类型的标准,是设定某种扩展名的文件用一种应用程序来打开的 方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打 开。

• 是一种在互联网上传输文件的标准方法,是一种文档类型标识符,用于标识在互联网上发送的文件的类型。

• MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。

• 它是一个互联网标准,扩展了电子邮件标准,使其能够支持:非ASCII字符文本; 非文本格式附件(二进制、声音、图像等);由多部分(multiple parts)组成的消息体;包含非ASCII字符的头信息(Header information)。

• MIME 用来表示文档、文件或字节流的性质和格式。浏览器通常使用 MIME 类型 (而不是文件扩展名)来确定如何处理URL,因此 Web服务器在响应头中添加正确的 MIME 类型非常重要。如果配置不正确,浏览器可能会无法解析文件内容, 网站将无法正常工作,并且下载的文件也会被错误处理。

 • MIME类型由两部分组成,第一部分是文件的类型,第二部分是文件的子类型,两部 分之间用斜杠分隔。

• 在HTTP协议中,Content-Type是一个 HTTP头部字段(请求头),用于指定HTTP请求或响应中发送的实体的MIME类型。可以通过在 HTTP请求或响应头中添加Content-Type字段来指定MIME类型。例如,Content-Type: text/html表示响应正文是HTML文档。

数据的价值-了解

以往:实现基本用途后删除旧数据储存新数据

现在:数据价值不仅不会随着使用次数的增加而减少,反而可以长期保存,在不同的领域互相分享、重新组合,持续创造价值。

数据解释答案,是最有价值的商品。

大数据的概念

大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长速度和多样化的信息资产。

大数据是现代社会高科技发展的产物。它不是一种单独的技术,而是一个概念,一个技术圈。

心想对于传统的数据分析,大数据是海量数据的集合,它以采集、整理、存储、挖掘、共享、分析、应用、清洗为核心,正在广泛的应用在军事、金融、环境保护、通信等各个行业之中。

数据分析过程

典型的数据分析过程

包括:数据采集与预处理、数据存储与管理、数据处理与分 析、数据可视化等,具体如下:

•(1)数据采集与预处理:采用各种技术手段把外部各种数据源产生的数据实时或 非实时地采集、预处理并加以利用。(拿过来)

• (2)数据存储与管理:利用计算机硬件和软件技术,对数据进行有效的存储和应 用的过程,目的在于充分有效地发挥数据的作用。(设计怎么存,存在哪--数仓)

• (3)数据处理与分析:用适当的分析方法,分析收集来的数据进行分析,提取有 用信息,形成结论。(统计学、机器学习和数据挖掘等领域)

• (4)数据可视化:将数据集中的数据以图形图像形式表示,并利用数据分析和开 发工具发现其中未知信息的处理过程。(图形化,更直观)

数据采集

数据采集,又称“数据获取”,是数据分析的入口,也是数据分析过程中相当重要的一个环节。

数据采集:是指通过各种技术手段把外部各种数据源产生的数据实时的或非实时地采集并加以利用,具体包括从传感器和智能设备、企业在线系统,企业理性系统,社交网络和互联网平台等获取数据的过程。

数据采集技术是大数据技术的重要组成部分,已经广泛应用于国民经济各个领域,随着大数据技术的发展和普及,大数据采集技术会迎来更加广阔的发展前景。

传统的数据采集大数据采集
数据源来源单一,数据量相对较少来源广泛,数据量巨大
数据类型结构单一数据类型丰富,包括结构化、半结构化和非结构化
数据存储关系数据库和并行数据库分布式数据库,分布式文件系统

目 前 很 多 互 联 网 企 业 都 有 自 己 的 海 量 数 据 采 集 工 具 , 能 满 足 每 秒 百 兆 字 节 的 日 志 数 据 采 集 和 传 输 需 求

如:在教育系统中的大数据采集:

数据预处理

为后续的数据分析工作提供可靠和高质量的数据,减少数据集规模,提高数据抽象程度和数据分析效率

数据预处理可以为后续的数据分析工作提供可靠和高质量的数据,减少数据集规模,提高数据抽 象程度和数据分析效率。

• 数据清洗:用来清除数据中的噪声,纠正不一致。

• 数据集成:将数据由多个数据源合并成一个一致的数据存储,如数据仓库。

• 数据归约:通过如集聚、删除冗余特征或聚类来降低数据的规模。

• 数据转换:把数据压缩到较小区间,如[0,1],可以提高涉及距离度量的挖掘算 法的准确率和效率。

数据采集

1.用什么采集?

通过爬虫、Kafka、Flume、ETL (Kettle) 


2.从哪里采集?

等采集方法获取来自传感器、互联网、系统日志、业务系统


3.什么样数据?

结构化、半结构化、非结构化的


4.采成什么样?

全面、多维、高效的数据

概念

大数据采集技术:是对数据进行ETL操作,通过对数据进行提取、转换、加载,最终挖掘数据的潜在价值,然后给用户提供解决方案或者决策参考。

数据采集三大要点(采成什么样)

全面性

数据量足够具有分析价值

数据面足够支撑分析需求

多维性

数据能满足分析需求

自定义数据多重属性和类型

高效性

技术执行的高效性、团队内部成员协同的高效性

以及数据分析需求和目标实现的高效性

数据源

数据源是什么?怎么采集?

传感器数据

传感器是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为

电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。

互联网数据

互联网数据的采集通常是借助于网络爬虫来完成的

网络爬虫,就是一个在网上到处或定向抓取网页数据的程序

抓取网页的一般方法是,定义一个入口页面,然后一般一个页面中会包含支线其他页面的统一资源定位符(URL),于是从当前页面获取到这些网址加入到爬虫的抓取队列中,然后进入到新页面后再递归地进行上述操作。

爬虫数据采集方法可以将非结构化数据从网页中抽取出来,将其存储为统一的本地数据文件,并以结构化的方式存储。它支持图片、音频、视频等文件或附件的采集,附件与正文可以自动关联。

        1.定义一个入口页面

        2.一个页面中会包含指向其他页面的URL

        3.从当前页面获网址加入到爬虫抓取队列中

        4.进入到新页面后再递归地进行上述的操作

日志数据

日志文件数据一般有数据源系统产生,用于记录数据元的执行的各种操作活动

系统日志的采集系统做的事情就是收集日志数据提供离线和在线的实时分析使用。

企业业务系统数据库

一些企业会使用传统的关系型数据库MySQL和Oracle等来存储业务系统数据,除此之外,Redis和MongoDB这样的nosql数据库也常用于数据的存储。

企业每时每刻产生的业务数据,以数据库一行记录形式被直接写入到数据库中。 企业可以借助于ETL工具,把分散在企业不同位置的 业务系统的数据,抽取、转换、加载到企业数据仓库中,以供后续的商务智能分 析使用(如图所示)。

 通过采集不同业务系统的数据并统一保存到一个数据仓库中,就可以为分散在企业不同地方的商务数据提供一个统一的视图,满足企业的各种商务决策分析需求。

采集方法

系统日志采集

flume:是cloudera提供的(现已经转交给Apache)一个高可用、高可靠,分布式的海量日志采集、聚合和传输系统。(只能日志)

基于流式架构,灵活简单

最主要的作用是实时读取服务器本地磁盘的数据,将数据传输到HDFS

分布式消息订阅分发

• 分布式消息订阅分发也是一种常见的数据采集方式,其中,Kafka就是一种具有代表性的产品。Kafka是由LinkedIn公司开发的一种高吞吐量的分布式发布订阅消息 系统,用户通过Kafka系统可以发布大量的消息,同时也能实时订阅消费消息。

• Kafka的架构包括以下组件:话题、生产者、服务代理、消费者

基本原理和作用

• Kafka传统定义:一个分布式的基于发布/订阅 模式的消息队列(Message Queue),主要应用与大数据实时处理领域。

• 发布/订阅:消息的发布者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同类别,订阅者只接收感兴趣的消息。

• Kafka最新定义:一个开源的分布式事件流平 台(Event Streaming Platform),被数千家公 司用于高性能数据管道、流分析、数据集成和关键任务应用。

数据清洗

是指将大量原始数据中的“脏”数据“洗掉”,是发现并纠正数据文件 中可识别的错误的最后一道程序,包括检查数据一致性、处理无效值和缺失值等。

数据清洗的含义

• “脏”数据:例如数据从多个业务系统中抽取,包含历史数据,避免不了有的数据是错误的数据,有的数据相互冲突。

①基于数据源的“脏“数据分类

• 通常情况下,将数据源中不完整、重复以及异常等有问题的数据称为“脏“数据。

• 基于数据源的“脏”数据质量问题可以分为单数据源问题和多数据源问题。

②基于清洗方式的“脏“数据分类

• 基于数据源的“脏”数据分类方法需要为每种类型的“脏”数据设计单独的清洗方 式。从数据清洗方式的设计者角度看可以将“脏”数据分为“独立型“脏”数据” 和“依赖型“脏”数据“。

• 其中,独立型“脏”数据包括单数据源和多数据源所有模式层及大多数实例层的数据质量问题;

             依赖型“脏”数据包括缺失数据和重复数据等“脏”数据。

• 常见的数据质量问题主要包括缺失值、重复值以及异常值等问题。

数据清洗的任务

• 数据清洗(data cleansing/data cleaning/data scrubbing):把“脏数据”彻底 洗掉,包括检查数据一致性,处理无效值和缺失值等,从而提高数据质量。

• 数据清洗:检测和去除数据集中的噪声数据和无关数据,处理遗漏数据,去除空 白数据域和知识背景下的白噪声。

• 数据清洗的主要任务:检查数据一致性,过滤或修改哪些不符合要求的数据,主 要包括不完整的数据、错误的数据、重复的数据。

(1)一致性检查

•是根据每个变量的合理取值范围和相互关系,检查数据命名是否规范,是否有冲突,数据内容是否合乎要求,记录是否有拼写错误,发现超出正常范围、逻辑上

不合理或者相互矛盾的数据。

•例如:用1-7级量表测量的变量出现了0值,体重出现了负数,年龄出现了负数,考试成绩出现了负数等。

(2)不完整的数据

•不完整的数也叫作缺失数据(缺失值),是指在该数据中的一应该有的信息缺失。

•例如在数据表中缺失了员工姓名、机构名称、分公司的名称、区域信、邮编地址•造成数据缺失的原因大致有以下几个:信息暂时无法获取;信息被遗漏;获取这些信息的代价太大;系统实时性能要求较高或有些对象的某个(或某些)属性是不可用的。

(3)错误的数据。

•错误的数据是指在数据库中出现了错误的数据值,错误值包括输入错误和错误数

据。

•输入错误:是由原始数据录入人员的疏忽造成的,而错误数据大多是由一些客观原因引起的,如填写的人员所属单位的不同和人员的升迁等。这些错误数据产生的原因大多是在接收输入后没有进行判断而直接写入后台数据库,如将数值数据

输成全角数字字符、字符串数据后有一个回车、日期格式不正确、日期越界等。•此外,在错误的数据中还包含了异常数据(异常值)。异常数据是指所有记录中一个或几个字段间绝大部分遵循某种模式而其他不遵循该模式的记录,

如年龄超过历史上的最高记录年龄、考试成绩为负数、人的身高为负数等。

•例如,某公司客户A的年收入是20 万元,但意外地在数据输入操作时附加一个零,因此现在的收入就是200万元,与其他人相比,这就是异常数据。

(4)重复的数据

•重复的数据也叫作“相似重复记录”或“冗余的数据”。

•它指同一个现实实体在数据集合中用多条不完全相同的记录来表示,由于它们在格式、拼写上的差异,导致数据库管理系统不能正确识别。从狭义的角度看,如果两条记录在某些字段的值相等或足够相似,则认为这两条记录互为相似重复,识别相似重复记录是数据清洗活动的核心。图显示了重复的数据。

清洗流程方法

我要是张永亮恩师大人我必出简答好吧

(1)(看数据)在数据清洗之前,最为重要的对数据表的查看,要了解表的结构和发现需要处理的值,这样才能将数据清洗彻底。数据量的大小也关系着数据的处理。数据量的大小也关系着数据的处理方式。再倒入数据表后,一般需要将所有列一个个的进行清洗,来保证数据处理的彻底性,有些数据可能看起来是可以正常使用的,实际上在进行处理时可能会出现问题。(比如某列数据在查看时看起来是数值类型,但是其实这列数据的类型却是字符串,这就会导致在进行数值操作时无法使用)。

(2)(处理数据)数据清洗时优先进行缺失值、异常值和数据类型转换的操作,最后进行重复值的处理。在对缺失值、异常值进行处理时,要根据业务的需求进行处理,这些处理并不是一成不变的,常见的填充包括:统计值填充(常用的统计值有均值、中位数、众数)、前后值填充(一般使用在前后数据存在关联的情况下、比如数据是按照时间进行记录的)、零值填充。

第一步 预处理

在预处理阶段主要进行以下四个方面的工作

(1)选择数据处理工具。一般使用关系型数据库,单机可使用MySQL。如果数据量大(千万级以上),可以使用文本文件存储+Python操作的方式。

(2)查看数据的元数据及数据特征。一是看元数据,包括字段解释、数据来源、代码表等一切描述数据的信息;而是抽取一部分数据,使用人工查看方式,对数据本身有一个直观的了解,并且初步发现一些问题,位置后的处理做准备。

(3)多余数据清洗。备份原始数据,删除不必要的字段。

(4)关联性验证。如果数据有多个来源,要进行关联性验证。该过程常应用到多数据元合并的过程中,通过验证数据之间的关联性来选择准确的特征属性。

        如销售公司有汽车的线下购买信息,也有电话客服问卷信息,两者通过姓名和手机号码关联,那么要看一下,同一个人线下登记的车辆信息和线上问卷调查出来的车辆信息是不是一致的,如果不是,那么需要调整或去除数据。

第二步 格式与内容清洗

错误数据是指数据库实例中某些不为空的属性值是错误的,如属性与错误、拼写错误、格式错误等。数据错误有时会引发数据冲突,但不冲突的数据不一定是正确数据。错误数据包括格式内容数据和逻辑问题数据两类。

格式内容问题数据处理

①时间、日期、数值、全半角等显示格式不一致。处理此类问题的方法是将其处

理成一致的某种格式。这种情况的数据多数由人工收集或用户填写而来,很有可

能在格式和内容上会存在一些问题。另外,在整合多来源数据时也有可能遇到此

类问题。

②内容中有不该存在的字符。处理此类问题需要以半自动校验半人工方式找出可

能存在的问题,并去除不需要的字符。典型问题有数据的开始、中间或结尾存在

空格,或姓名中存在数字符号、居民身份证号中出现汉字等。

③数据内容与该字段应有内容不符。该类问题不能简单地以删除来处理,因为成

因复杂,可能是人工填写错误、前端没有校验、导入数据时部分或全部存在列没

有对齐的问题等,因此要详细识别问题类型。

第三步 缺失值处理--极其重要

在数据集中,若某记录的属性被标记为空白或“-”等,则认为该记录存在缺失值(空值),他也长治不完整的数据。

缺失值产生的原因多种多样,主要分为机械原因和人为原因。

        机械原因是由机械导致的数据收集或保存的失败造成的数据缺失,如数据存储的失败、存储器损坏、机械故障导致某段时间数据未能收集。

        人为原因是人的主观失误、历史局限或有意隐瞒造成的数据缺失,如在市场调查中被访人拒绝透露相关问题的答案,或者回答的问题是无效的,或者是在数据录入时由于操作人员失误漏录了数据等。

对于缺失数据的清洗方法较多,

如将存在遗漏信息属性值的对象(元组、记录)删除;

或者将数据过滤出来,按缺失的内容分别写入不同数据库文件并要求客户或厂商重新提交新数据,要求在规定的时间内补全,补全后才继续写入数据仓库中;

有时也可以用一定的值去填充空值,从而使信息表完备化。填充空值通常基于统计学原理,根据初始数据集中其余对象取值的分布情况对一个缺失值进行填充。

缺失值是最常见的数据问题,一般按照以下4个步骤进行。

1.确定缺失值范围。

对每个字段都计算其缺失值比例,然后按照缺失比例和字段重要性,分别制定策略。

①对于一些重要性高,缺失率较低的缺失值,可根据经验或业务知识估计,也可通过计算进行填补。

②对于指标重要性高,缺失率也高的缺失值,需要向取数人员或业务人员了解,是否有其他渠道可以取到相关数据,必要时进行重新采集。若无法取得相关数据,则需要对缺失值进行填补。

③对于指标重要性低,缺失率也低的缺失值,可只进行简单填充或不作处理;对于指标重要性低,缺失率高的缺失值,可备份当前数据,然后直接删除不需要的字段。

④值得注意的是,对缺失值进行填补后,输入的值可能不正确,数据可能会存在偏置,并不十分可靠。因此,在估计缺失值时,通过考虑该属性的值的整体分布与频率,保持该属性的整体分布状态。

2.去除不需要的字段。

直接将不需要的字段删掉即可,但要注意备份。此外,删除操作最好不要直接应用于原始数据上,应抽取部分数据进行模型构建,并查看模型效果,如果效果较好,再推广到全体数据上。

①整例删除(casewise deletion)。整例删除是剔除含有缺失值的样本。由于很多问卷都可能存在缺失值,这种做法的结果可能导致有效样本量大大减少,无法充分利用已经收集到的数据。因此,整例删除只适合关键变量缺失,或者含有无效值或缺失值的样本比重很小的情况。

②变量删除(variable deletion)。如果某一变量的无效值和缺失值很多,而且该变量对于所研究的问题不是特别重要,则可以考虑将该变量删除。这种做法减少了供分析用的变量数目。

③成对删除(pairwise deletion)。成对删除是用一个特殊码(通常是9、99、999等) 代表无效值和缺失值,同时保留数据集中的全部变量和样本。但是,在具体计算时只采用有完整答案的样本,因而不同的分析因涉及的变量不同,其有效样本量也会有所不同。这是一种保守的处理方法,最大限度地保留了数据集中的可用信息。

3.填充缺失值内容。

该步骤是最重要的一步,常包含以下几种填充方式。

①以业务知识和经验来填充,如字段“计算*”,通过经验推算在“*”处可填充“机”或者“器”。

②估算(estimating):估算就是用某个变量的样本均值、中位数或众数代替无效值和缺失值。这种办法简单,但没有充分考虑数据中已有的信息,误差可能较大。

③以不同指标的计算结果填充缺失值,或根据调查对象对其他问题的回答,通过变量之间的相关分析或逻辑推论进行估计。例如,某一产品的拥有情况可能与家庭收入有关,可以根据调查对象的家庭收入推算拥有这一产品的可能性。例如,通过身份证号码推算年龄,通过收件人邮政编码推算其大致的地理位置等。

4.重新获取数据。

如果某些指标非常重要,但缺失率比较高,在此种情况下可以和数据产生方再次协商解决,如通过电话询问或者重新发送数据表的方式来实现。

第四步 逻辑错误清洗

•逻辑错误清洗是指通过简单的逻辑推理来发现数据中存在的问题数据,从而防止

分析结果走偏,主要包含以下几个步骤。

• 1.数据去重。如果在数据表中出现完全相同的数据并且不是人工输入的,那么简单去重即可。如果是手工输入的,则需要确认后再清除。在清除重复数据时可使

用常见的模糊匹配算法来实施,也可以人工清除。

• 2.矛盾内容处理:

•①去掉不合理的值。如果在填写数据的过程中由于人为的因素导致填写错误,那么可以通过该步骤来清除。例如在填写年龄时,将“20岁”写为了“200岁”或是“-20

岁”,就可以将该值清除。

•②去掉不可靠的字段值。在数据中有的字段是可以通过前后的逻辑关系来发现错误的,如身份证号码是1101031985XXXXXXX×,然后年龄填20岁,在这种时候,需要根据字段的数据来源来判定哪个字段提供的信息更为可靠,去除或重构不可

靠的字段。

•③对来源不可靠的数据重点关注。如在一家厂商的产品反馈表中显示该产品85% 的用户是女生,但是该产品并没有身份实名验证,也无法精确判断男女性别。因此该反馈信息值得重新审查,如果数据来源不能确定,则该数据应该及时清除或重新获取。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值