数据理解与数据准备

2023-11-19

1. 数据类型

属性类型:属性的取值范围决定了属性的类型

  • 定性数据:标称属性(多分类变量)、二元属性(01变量)、序数属性(有序分类变量)
  • 定量数据:区间标度属性/比率标度属性。区分这两种属性的原则是该属性是否有固定的零点。

根据表现出来的数值特点,又可以分为离散属性和连续属性。

2. 数据质量

离群点:在某种意义上具有不同于数据集中大部分数据对象的特征的数据对象。可以使用箱线图进行离群值的判断,也可以使用一些简单的异常检测算法。

遗漏值/缺失值:由于信息收集不全导致数据缺失,常见的处理方法包括:①删除对应行或者对应列,代价是信息丢失;②使用平均值、中位数、众数来填充,缺点是引入了偏差;③分析时忽略遗漏值。

重复数据:体现为某一对象的重复记录。考虑取均值、增加变量、删除重复项等解决方式。

3. 邻近度

邻近度Proximity表示相似性或相异性。相似度通常被定义在 [ 0 , 1 ] [0,1] [0,1]之间,两个对象越相似值就越高;相异度则通过一些距离定义来计算,通常在 [ 0 , + ∞ ] [0,+∞] [0,+]上。

对于简单的定性属性,可以直接通过 0 / 1 0/1 0/1来表示邻近度,通常为 1 1 1时则表示两者相等。

对于多个属性数据对象之间的相异度,对于数值型数据,通过欧几里得距离来计算,度量尺度不同时应先标准化。欧氏距离本质上是闵可夫斯基距离的L2范数,后者的公式如下所示:
dist ⁡ = ( ∑ k = 1 n ∣ p k − q k ∣ r ) 1 r \operatorname{dist}=\left(\sum_{k=1}^{n}\left|p_{k}-q_{k}\right|^{\boldsymbol{r}}\right)^{\frac{1}{r}} dist=(k=1npkqkr)r1另外,常见的距离度量方式还有汉明距离(处理分类变量)、切比雪夫距离。此处不做描述。

而相似度的度量,首先是对于二元数据(仅仅包括0/1),通常使用简单匹配系数 S M C SMC SMC J a c c a r d Jaccard Jaccard系数。简单匹配系数是度量二元数据相似性的一种方法。它计算两个二元向量中相同值(0和1)的数量,并将其除以向量的总长度。其中a d分别表示两个向量中同时为1 0的位置数。
S M C = a + d a + b + c + d SMC = \frac{a+d}{a+b+c+d} SMC=a+b+c+da+dJaccard系数主要用于度量集合之间的相似性。对于二元数据,我们可以将每个向量看作是一个集合,其中1的位置表示集合中的元素。给定两个二元向量A和B,a表示两个向量中同时为1的位置数,b表示A中为1而B中为0的位置数,c表示A中为0而B中为1的位置数。
J a c c a r d = a a + b + c Jaccard = \frac{a}{a+b+c} Jaccard=a+b+ca这两种相似度度量方法都可以用于度量二元数据之间的相似性,但具体选择哪种方法取决于应用场景。简单匹配系数考虑了两个向量中1和0的匹配情况,因此在需要考虑0值重要性的场景下更为合适。而Jaccard系数主要关注1值的匹配情况,在某些应用中,如文本挖掘,这可能更为合适。

而对于多属性数值型数据,常用的方法是余弦相似度(Cosine Similarity)。是一种常用的相似度度量方法,用于衡量两个向量之间的相似程度。它基于两个向量之间的夹角来计算相似性。
Cosine Similarity = A ⋅ B ∥ A ∥ ∥ B ∥ = ∑ i = 1 n A i B i ∑ i = 1 n A i 2 ∑ i = 1 n B i 2 \text{Cosine Similarity} = \frac{\mathbf{A} \cdot \mathbf{B}}{\lVert\mathbf{A}\rVert \lVert\mathbf{B}\rVert} = \frac{\sum_{i=1}^{n} A_i B_i}{\sqrt{\sum_{i=1}^{n} A_i^2} \sqrt{\sum_{i=1}^{n} B_i^2}} Cosine Similarity=ABAB=i=1nAi2 i=1nBi2 i=1nAiBi其中,“A · B”表示A和B的点积(即两个向量对应元素相乘之和), ∣ ∣ A ∣ ∣ ||A|| ∣∣A∣∣ ∣ ∣ B ∣ ∣ ||B|| ∣∣B∣∣分别表示A和B的向量范数(即向量长度,用欧几里得范数计算)。余弦相似度的值范围在-1到1之间,其中1表示完全相似,0表示完全不相关,-1表示完全相反。在实际应用中,余弦相似度通常用于衡量文本相似性、协同过滤推荐系统和聚类等场景。

4. 数据预处理

原始业务数据是数据挖掘的信息来源,而这些数据通常含有噪声及大量的空缺值和不一致现象,会影响数据挖掘的效率和结果的有用性,甚至产生一些无效归纳。对原始数据进行预处理,为数据挖掘过程提供干净、准确、简洁的数据,提高数据挖掘效率和准确性是数据挖掘中非常重要的环节。

4.1 数据清洗

处理缺失值:按照缺失值的缺失度和重要性进行处理

格式错误处理:时间、日期、数值等显示格式不一致、内容中出现不该有字符

去除逻辑错误:去重、去除不合格内容、修正矛盾内容、离群值检测与处理

去除不需要的字段和关联性验证(如果一个变量有多个来源,进行交叉验证)

4.2 规范化

标准化:数据按比例进行缩放,使之落入-个特定的区域,以消除数值型属性因大小不一而造成挖掘结果的偏差。如将工资收入属性值映射到 [ − 1.0 , 1.0 ] [-1.0,1.0] [1.0,1.0]范围内。常见方法:标准差规范化(z-score规范化)、最小最大规范化、将特征缩放至特定范围。

  • 最小最大值标准化:已知属性的取值范围,将原取值区间 [ o l d m i n , o l d m a x ] [old_ {min},old_ {max}] [oldmin,oldmax]映射
    [ n e w m i n , n e w m a x ] [new_{min},new_{max}] [newmin,newmax]。保留了原来数据中存在的关系。但若将来遇到超过目前属性
    [ o l d m i n , o l d m a x ] [old_{min},old_{max}] [oldmin,oldmax]取值范围的数值,将会引起系统出错
    v ′ = v − min ⁡ A max ⁡ A − min ⁡ A ( n e w m a x − A − n e w m i n − A ) + n e w m i n − A v^{\prime}=\frac{v-\min _{A}}{\max _{A}-\min _{A}}\left(new_{max-A}-new_{min-A}\right)+new_{min-A} v=maxAminAvminA(newmaxAnewminA)+newminA

  • 标准差标准化(z-score):根据属性A的均值和偏差来对A进行规格化,常用于属性最大值与最小值未知;或使用最大最小规格化方法时会出现异常数据的情况。 A ˉ \bar{A} Aˉ为均值, σ A \sigma_{A} σA为标准差。
    v ′ = v − A ˉ σ A v^{\prime}=\frac{v-\bar{A}}{\sigma_{A}} v=σAvAˉ

正态分布数据可以使用以上方法。对于非正态数据,中位数代表集中趋势,四分位距代表离散趋势。采用稳健标准化(使用对异常值鲁棒的统计信息来缩放特征)。此缩放器删除中位数,并根据分位数范围(默认值为IQR:四分位间距)缩放数据。IQR是第一一个四分位数(25%分位数)和第3个四分位数(75%分位数)之间的范围。适合于已知有离群值的数据。

当数据的分布严重异常时,可以考虑对原始数据做秩变换,用秩次/百分位点代替原变量值进行后续分析。

4.3 离散化

数值型数据的离散化是指,将数值型变量映射为几个有序的等级。

  • 分箱离散化:分箱是一种基于指定的箱个数的自顶向下的分裂技术。首先使用等宽或等频(等高)分箱,然后用箱均值或中位数替换箱中的每个值,可以将属性值离散化。缺点:分箱对用户指定的箱个数很敏感,也易受离群点的影响。
  • 直方图离散化:直方图把属性A的值划分为不相交的区间,称作桶或箱。可以使用各种划分规则定义直方图。如在等宽直方图中,将值分成相等分区或区间。直方图分析算法可以递归地用于每个分区,自动地产生多级概念分层,直到达到-一个预先设定的概念层数,过程终止。
  • 算法(聚类、决策树)离散化:一维聚类的方法包括两步,首先将连续型数据用聚类算法(如K-Means算法等)进行聚类,然后处理聚类得到的簇,为合并到一个簇的连续型数据做同一标记。聚类分析的离散化需要用户指定簇的个数,用来决定产生的区间数。

4.4 数据归约

原因:对大规模数据库内容进行复杂的数据分析通常需要耗费大量的时间。

数据归约(消减)技术用于帮助从原有庞大数据集中获得一个精简的数据集合,并使这一精简数据集保持原有数据集的完整性。从而使得数据挖掘效率更高,并且保证挖掘出来的结果与使用原有数据集所获得结果基本相同。常见方法包括如下:

  • 数据立方体聚集:将n维数据立方体聚集为n-1维的数据立方体。本质就是按维度(类别)汇总
  • 维归约:维归约的思路是减少所考虑的随机变量或属性的个数,用的方法有属性子集选择、小波变换和主成分分析(因子分析)。目标是寻找出最小的属性子集并确保新数据子集的概率分布尽可能接近原来数据集的概率分布。
    • 属性子集选择:其中不相关、弱相关或冗余的属性或维被检测并删除。常见方法包括相关性分析、差异性分析、逐步回归、Lasso
    • 小波变换和主成分分析:将原始数据变换或投影到较小的空间。

主成分分析和因子分析,两者都常用于数据降维和信息浓缩。生成的新变量均包括了原始变量的大部分信息(一般大于80%,可根据具体情况定)且新变量之间互相独立,都可以用于后续的回归分析、判别分析、聚类分析等。主要区别在于:

  • 主成分分析是按照方差最大化的方法生成的新变量,强调新变量贡献了多大比例的方差,不关心新变量是否有明确的实际意义。因子分析着重要求新变量具有实际的意义,能解释原始变量间的内在结构。
  • 主成分分析得到的主成分数等于原始变量数目;因子分析得到的因子数量一般由人为事先确定。

这两种方法都用于降低数据维度和提取关键特征,但它们有不同的目标和应用场景。主成分分析旨在找到能解释数据中最大方差的正交线性组合,而因子分析则试图找到潜在变量(因子),这些潜在变量可以解释观察到的变量之间的相关性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据理解与数据准备 的相关文章

随机推荐

  • Git工具使用全解

    Git工具使用全解 文章目录 Git工具使用全解 1 企业开发中的版本控制器 2 Git工具的使用场景 3 Git工具操作流程 三板斧操作 4 Git工具的安装与常用命令 4 1 Git的安装 4 2 Git基本操作指令 5 Git工具常见
  • 2023/2/14 大数据实习日志

    今日学习内容 一 VMware虚拟机安装部署CentOS7 链接 VMware虚拟机安装部署CentOS7 Moba远程连接 克隆 步骤 二 Docker入门 第一章内容 什么是docker 为什么使用docker docker与虚拟化 牛
  • python: SHA256算法的实现和消息的哈希散列值计算

    目录 1 SHA256 2 实现原理 2 1 消息预处理 2 2 使用的常量和循环移位函数 2 3 主循环 3 结果 4 对中文编码 1 SHA256 SHA256是SHA 2下的一个子算法 与之类似的还有SHA224 SHA384 SHA
  • ChatGPT爆火,对制造业销售增长的AI建议

    北京时间2023年2月8日 微软宣布推出由ChatGPT支持的最新版本人工智能搜索引擎Bing 必应 和Edge浏览器 ChatGPT的问世再次掀起AI热潮 接下来让我们一起试试与ChatGPT对话 看看传说中上知天文下知地理的他是如何回答
  • ChatGPT驱动下,网站AI客服该如何进步和创新

    在ChatGPT这个AI智能的驱动下 网站AI客服在进步和创新方面有很多潜力 由于GPT模型的强大语言处理能力和智能对话技巧 使得网站AI客服能够更准确和流畅地与用户交互 looklook今天总结了一些网站AI客服智能的进步和创新方向 以供
  • PLSQL安装步骤

    1 安装 下载PLSQL安装包 解压 默认安装 选择自己需要的版本安装 一路默认即可 2 添加客户端路径 解压instantclient 11 2 rar 放到自定义目录下 我是放在D盘下的Tools目录 没有配置客户端 是无法登陆的 所以
  • 什么是LLM大语言模型?

    什么是LLM大语言模型 大语言模型 英文 Large Language Model 缩写LLM 也称大型语言模型 是一种人工智能模型 旨在理解和生成人类语言 它们在大量的文本数据上进行训练 可以执行广泛的任务 包括文本总结 翻译 情感分析等
  • 美化你的Typora —— 关于MarkDown文档和newsprint.css的一点折腾

    这篇文章起源于我想美化一下Markdown样式 我在Typora官方的newsprint风格的基础上对其css进行了一系列的微调 提升了美观度和易用性 解决了如图像缩放分辨率降低 中英文字体设置等问题 文章目录 0 美化前后效果对比 1 代
  • [转] 解读IntelliJ IDEA的优缺点

    昨天去TW参加了pre class 就是类似于新员工入职前的培训 有很多很cool的东西 给我印象最深的就是IntelliJ IDEA了 coder么 刚才在网上搜了搜 发现很少有她的介绍资料 所以贴过来一个让大家看看 文章中有一句话值得大
  • ucGUI3.9版本快速移植构建

    ucGUI3 9版本快速移植构建 移植前提条件 涉及文件 移植过程 修改绘制驱动文件 修改配置文件 打包进工程 涉及的资源获取 在之前的博客中移植了STemwin5 32版本的 最近更换了 GD芯片所以STemwin没法用了 只有移植emw
  • LeetCode:三数之和&四数之和

    1 方法概述 1 前期处理 三数之和用三个指针 四数之和用四个指针 最开始都要进行从小到大的排序 2 粗处理 编写三数之和的时候第一个指针刚开始指向所给数组的第一个元素 第二个指针记为L指针 初始指向第一个指针所指元素的下一个元素 第三个指
  • 福兔迎春,春节快乐

  • ajax异步问题导致的刷新页面数据不更新

    ajax的async默认的设置值为true 这种情况为异步方式 就是说当ajax发送请求后 在等待server端返回的这个过程中 前台会继续 执行ajax块后面的脚本 直到server端返回正确的结果才会去执行success 也就是说这时候
  • Unity飞船摄像机360度环绕(逐步完善)

    极简版 目标飞船 public Transform target 摄像机距离 public float distance 100 void Update float mouseX Input GetAxis Mouse X float mo
  • Nginx知识总结

    1 简介 Nginx engine x 是一个高性能的HTTP和反向代理web服务器 同时也提供了 IMAP POP3 SMTP服务 Nginx是由伊戈尔 赛索耶夫为俄罗斯访问量第二的 Rambler ru站点开发的 第一个公开版本0 1
  • matlab制作旋转动态图,matlab 如何画动态图(绘图与旋转视图)

    效果图 在matlab中 作图是重要的一部分 那么对于三维的图像 如何将静态的改为动态的呢 首先 静态图的代码 t 0 0 1 20 i 1 200 这里只是画了一个点 而 绘图 效果图 在matlab中 作图是重要的一部分 那么对于三维的
  • docker compose 部署skywalking

    文章目录 前言 架构图 docker compose 脚本 整合springboot 前言 SkyWalking 是一个开源的 APM 系统 核心功能如下 服务 服务实例 端点指标分析 根本原因分析 服务拓扑图分析 服务 服务实例和端点依赖
  • 【SQL注入-12】http头部注入案例—基于Sqli-labs靶机(借助BurpSuite工具)

    目录 1 概述 1 1 User Agent概述 1 2 Referer 概述 2 实验平台及实验目标 2 1 实验平台 2 2 实验目标 3 User Agent注入案例 以sqli labs Less18为例 3 1 注入前准备 3 2
  • 【翻译】 DMA和get_user_pages()

    LWN net需要你 没有订阅者 LWN将根本不存在 请考虑注册订阅 帮助LWN继续出版 作者 Jake Edge 2018年12月12日 Linux管道工会议 在2018年Linux Plumbers大会 LPC 的RDMA微型会议上 J
  • 数据理解与数据准备

    1 数据类型 属性类型 属性的取值范围决定了属性的类型 定性数据 标称属性 多分类变量 二元属性 01变量 序数属性 有序分类变量 定量数据 区间标度属性 比率标度属性 区分这两种属性的原则是该属性是否有固定的零点 根据表现出来的数值特点