数据采集与预处理【大数据导论】

各位大佬好 ,这里是阿川的博客,祝您变得更强

在这里插入图片描述 个人主页在线OJ的阿川

大佬的支持和鼓励,将是我成长路上最大的动力在这里插入图片描述

阿川水平有限,如有错误,欢迎大佬指正在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

数据采集与预处理前 必看
【大数据导论】—大数据序言
【大数据导论】—大数据、人工智能、云计算、物联网、区块链序言
【大数据导论】—大数据基础知识
【大数据导论】—大数据应用

大数据步骤

  • 数据采集
  • 数据清洗
  • 数据处理
  • 数据分析
  • 数据可视化
    在这里插入图片描述

其中数据采集

在这里插入图片描述
通过数据采集,可以获取传感器、互联网、日志文件、企业系统等数据,再通过数据预处理(数据清洗 数据转换 数据脱敏),从而便于后一步的分析
在这里插入图片描述
被采集数据类型
在这里插入图片描述

  • 结构化数据
  • 半结构化数据
  • 非结构化数据
    在这里插入图片描述

大数据特点

  • 数据量大
  • 数据类型丰富
  • 处理速度快
    在这里插入图片描述

数据采集比较
在这里插入图片描述

数据采集特点

  • 全面性
    在这里插入图片描述

  • 多维性
    在这里插入图片描述

  • 高效性
    在这里插入图片描述

主要数据源
在这里插入图片描述

  • 日志文件数据
    在这里插入图片描述

  • 传感器数据
    在这里插入图片描述

  • 互联网数据
    在这里插入图片描述

  • 企业业务系统数据
    在这里插入图片描述

数据采集工具

  • Chukwa

  • Flume

  • Scribe
    在这里插入图片描述

  • 分布式消息订阅分发

    • Kafka
      • 实时在线处理低延迟
      • 批量离线处理高吞吐量
        在这里插入图片描述
  • ETL
    实现大规模数据加载
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 网络数据采集
    通过网络爬虫、API接口从网站上获取非结构化数据信息且储存为统一的本地结构化数据文件
    在这里插入图片描述
    当中网络爬虫

    • 爬虫节点
    • 控制节点
    • 资源库
      在这里插入图片描述

    控制节点与爬虫节点关系
    在这里插入图片描述
    在这里插入图片描述

    网络爬虫的类型

    • 通用网络爬虫(又称全网爬虫
      主要为
      门户站点搜索引擎
      大型Web服务提供商采集数据
      在这里插入图片描述

      通用网络爬虫结构
      页面爬行
      页面分析
      连接过滤
      页面数据库
      URL队列
      初始URL集合
      在这里插入图片描述
      爬行策略
      深度优先策略
      广度优先策略
      在这里插入图片描述

    • 聚焦网络爬虫(又称主题网络爬虫
      选择性爬取预先定好的主题相关页面的网络爬虫
      在这里插入图片描述
      爬虫步骤
      过滤主题无关链接
      有用链接放入等待抓取URL队列
      根据一定搜索策略
      选择下一步抓取的网页URL
      在这里插入图片描述

    • 增量式网络爬虫
      已下载的网页采取增量式更新只爬行新产生或已发生变化网页爬虫保证所爬行页面是尽可能新的页面
      在这里插入图片描述

      爬行策略

      • 广度优先策略
      • PageRank优先策略
        在这里插入图片描述

      优点

      • 有效减少数据下载量
      • 及时更新已爬行的网页
      • 减少时间和空间耗费
        在这里插入图片描述
    • 深层网络爬虫
      利用一些关键词,将搜索表达后的页面提取出来
      在这里插入图片描述
      基本功能模块
      爬行控制器
      LVS控制器
      解析器
      响应分析器
      表单分析器
      表单处理器
      在这里插入图片描述
      内部数据结构

      • URL列表
      • LVS表
        在这里插入图片描述

      爬虫框架

      • Scrapy爬虫
        在这里插入图片描述
        基于Python实现的框架,该框架可以运行在Linux、Windows、macOS上,该框架速度快、扩展性强、使用简便可以运行在本地或者云端,用户只需要开发几个模块,就可以实现爬虫效果,常常被用于监测、数据挖掘、自动化测试
        在这里插入图片描述
        在这里插入图片描述
        市面上基于Python的爬虫框架还有Crawley、Portia、Newspaper、Python-goose、Beautiful Soup、Mechanize、Selenium、Cola
        在这里插入图片描述

      反爬机制

      • 数据是宝贵的资源,拥有数据方不愿意他人获取自己的数据,为了保护企业网站和网站数据,从而运用了反扒技术
        在这里插入图片描述
        缺点:反爬机制过于严格,可能会误伤到真正的用户请求
        在这里插入图片描述

其中数据清洗

按照一定的规则,发现并纠正含有错误值、缺失值、异常值、可疑数据,使的数据变成干净的数据的步骤
在这里插入图片描述

数据清洗步骤

  • 检查数据一致性
  • 处理缺失值重复值异常/无效值数据类型有误数据

在这里插入图片描述

当中

  • 处理缺失值
    在这里插入图片描述

    1. 估算

      • 样本均值
      • 中位数
      • 众数
        在这里插入图片描述
    2. 整例删除
      直接剔除缺失值,但可能导致有效样本量大大减少,更适合关键变量缺失因为这样异常值或缺失值的样本比重很小
      在这里插入图片描述

    3. 变量删除
      变量缺失值很多删除该变量对问题影响不大,从而减少共分析的变量数目且没有改变样本量
      在这里插入图片描述

    4. 成对删除
      采用一些特殊码替换缺失值且保留全部变量和样本,从而最大限度地保留可用信息
      在这里插入图片描述

  • 处理异常/无效值
    根据每个变量合理的取值范围和相互关系检查数据是否合乎要求

  • 处理重复值
    对于数据要进行重复性检验,否则重复值的存在会影响数据分析和挖掘结果的准确性

数据清洗注意事项

  1. 注意数据类型转换,数据类型会影响到后面的数据处理分析环节,所以要明确每个字段的数据类型
    在这里插入图片描述

  2. 优先缺失值、异常/无效值和数据类型转换操作最后重复值处理
    在这里插入图片描述

  3. 在对缺失值、异常/无效值进行处理时候,要根据业务需求进行填充处理(统计值填充、零值填充、前后值填充)
    在这里插入图片描述

  4. 进行数据清洗前,要对数据表进行查看,要了解表的结构,从而发现要处理的值
    在这里插入图片描述

  5. 数据量大小关系决定着数据处理方式,当总数据量较大,选择直接删除处理;当总数据量较小认真对数据进行处理
    在这里插入图片描述

  6. 当数据导入数据表之后,需要将所有列一个个进行清洗,从而保证数据处理的彻底性
    在这里插入图片描述

其中数据转换

数据转化成适合处理的形式
在这里插入图片描述

数据转换策略

  • 平滑处理
  • 聚集处理
  • 数据泛化处理
  • 数据规范化处理
  • 属性构造处理

当中

  • 平滑处理
    除去数据中的噪声(被测量的变量随机错误的变化
    在这里插入图片描述
    平滑处理方法
    在这里插入图片描述

    1. 分箱
      平滑数据点的近邻点一组排序数据进行平滑处理排序后的数据分配到若干个箱子中
      分配方法有

      • 等高方法
        每个箱子中元素个数相同
        在这里插入图片描述
        例子:
        在这里插入图片描述

      • 等宽方法
        每个箱子的间距 取值相同
        在这里插入图片描述
        例子:
        在这里插入图片描述

    2. 回归
      可以使用拟合函数数据进行平滑处理
      在这里插入图片描述

    3. 聚类
      通过聚类分析方法,可以帮助发现异常数据
      在这里插入图片描述

  • 聚集处理
    对数据进行汇总操作

    1. 获得每月或每年总额
    2. 构建数据立方体
    3. 进行多粒度分析
      在这里插入图片描述
  • 数据泛化处理
    更抽象的概念取代低层次的数据对象
    例如:
    用街道属性来取代城市、国家

    在这里插入图片描述

    用年龄属性来取代年轻、中年、老年

    在这里插入图片描述
    适用场景

    1. 神经网络
    2. 基于距离计算的最近邻分类
    3. 聚类挖掘的数据预处理
      在这里插入图片描述
  • 数据规范化处理
    属性值按比例缩放,使之落入一个特定的区间,从而消除数值型数据大小不一而造成结果偏差
    方法
    在这里插入图片描述

    • Max-Min
      被转换的数据进行线性转换
      在这里插入图片描述
      例子
      在这里插入图片描述
      注意:当有新的值加入或删除的时候,可能会导致新的最大值或最小值
    • Z-Score
      不同量级的数据 统一转化成 同一量级的数据不需要知道数据集中的最大值最小值对离群点规范化效果好统一用计算出的真实值衡量不受数据量级的影响,从而保证数据间的可比性消除量级给分析带来的不便
      在这里插入图片描述
      例子
      在这里插入图片描述
      注意规范化处理 需要数据分布符合正态分布且该处理会消除数据具有的实际意义
    • 小数定标
      通过直观简单移动数据值的小数位数达到规范化的目的
      在这里插入图片描述
      例子
      在这里插入图片描述
      注意:小数定标法并没有消除属性间的权重差异
  • 属性构造处理
    根据已有属性集构造新属性后续数据处理直接使用新增的属性
    例如
    利用质量、体积属性构建出新属性密度
    在这里插入图片描述

其中数据脱敏

给定的规则策略下,对敏感数据进行变换修改,从而在很大程度上解决敏感数据非可信环境中使用问题
在这里插入图片描述

数据脱敏原则
在这里插入图片描述
当中

  • 开发、测试以及大数据类业务不受脱敏的影响

  • 数据一致性和有效性

  • 数据漂白
    抹去数据中的敏感内容

  • 保持原有的数据特征
    数据脱敏前后必须保证数据特征的保持
    例如:身份证
    在这里插入图片描述

  • 业务规则数据关联性
    数据脱敏时数据关联性(主外键关联性、关键字段的业务语义关联性)及业务保持不变
    在这里插入图片描述

数据脱敏方法

  1. 数据替换
    设置的固定虚构值替换真值
    在这里插入图片描述

  2. 无效化
    对数据值的截断、加密、隐藏
    在这里插入图片描述

  3. 随机化
    随机数据代替真值
    在这里插入图片描述

  4. 偏移和取整(重要)
    随机移位改变数字数据
    在这里插入图片描述

  5. 掩码屏蔽
    针对账户类数据(银行卡号、身份证号)部分信息进行脱敏
    在这里插入图片描述

  6. 灵活编码
    需要特殊脱敏规则时可采用灵活编码满足各种可能的脱敏规则
    在这里插入图片描述

好的,到此为止啦,祝您变得更强

在这里插入图片描述
想说的话

学习来源厦门大学林子雨老师《大数据导论》(反反复复学习了5遍哈并且做了相应的练习 然后才进行的这篇博客的书写)
实不相瞒,写的这篇博客要写六个小时以上(加上自己学习和纸质笔记,共八小时吧),很累希望大佬支持一下

在这里插入图片描述

道阻且长 行则将至
个人主页:在线OJ的阿川大佬的支持和鼓励,将是我成长路上最大的动力 在这里插入图片描述
  • 65
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 83
    评论
评论 83
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值