数据理解与预处理-3|学习笔记

简介: 快速学习数据理解与预处理-3

开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践数据理解与预处理-3】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1067/detail/15442


数据理解与预处理-3

 

内容介绍:

一、相似性和相异性

二、简单属性

三、数据对象

四、距离的共性

五、总结

 

数据及其数据预处理的基本内容给大家讲完后,下面学习数据对象的另一个重要内容——数据对象的相似性、相异性。

 

一、相似性和相异性

相似性是指两个数据对象如何相似、相近数值的一个度量的指标。如果两个数据对象越相似,那么该数值就越高。

image.png通常相似性的度量的值是在0和1之间。

另一个判断两个样本的关系是相异性,相异性是判断两个速度对象如何不同的数值指标。

相似性是alike(如何相似),相异性是different(如何不同),如果两个数据对象越相似,相异性的度量值就越低。最小的相异性的值是0,上限在不同情况下是有变化的。

另外通过邻近度来代表相似性和相异性。邻近:你的邻居的相近。邻近度可以用相似来表示,也可以用相异来表示。一定要注意两个样本间是不是相似、相异。(既可以用相似表示,也可以用相异表示)

 

二、简单属性

具体展开一下,先看简单属性间的相似性、相异性,简单属性可以理解成数据对象中只有一个属性(用P和Q代表两个数据对象的一个属性),对于数据属性的四个类型如何计算简单属性的相似性和相异性?

image.png首先数据属性的标称的相异性判断很简单,两个对象相等的相异性是0,不等的差别相异性是1。注意一下,相似性和相异性两个互为相反。

有序属性的相异性的计算稍麻烦点,要看两个对象间的差值再除以对象个数减一。n表示属性取几个有序值(有序值的状态是几个)。比如家庭收入是低中高,n就是3。

所以,相异性的计算分母要除以(n-1),分子是两个属性间的差值,如果以家庭收入低中高来表示(低是0,中是1,高是2),低和高的相异性是多少?用2减去0,再除以(3-1)。它对于相似性与相异性是相反的,用1减相异性计算。

对于区间和比例这样的属性数据来说,相异性的计算是两个属性的差值。相似性的计算和相异性的相反,也可以用其他一些计算公式。

通过这张表格的计算先初步理解一下,简单属性的数据对象间的相似性和相异性是怎么计算的。

 

三、数据对象

一个正常的数据对象有很多个属性,如何来计算它们的相似性和相异性?

image.png对于大多数数据对象来说,主要是用它的相异性计算,用的较多的叫欧式距离。欧式距离公式dist是相异性(它们间的距离),p、q是两个样本对象在某个维度上的差值,K代表它的维度(某个属性)。想象一个二维表的数据,每一列是一个属性,在同个属性上两个数据对象的差值的平方,求和,再开平方,这就是欧式距离。

欧式距离大家以前接触过,比较容易理解。注意:在欧式距离的计算过程中,通常需要将属性数据进行标准化处理,数据的标准化有多种方法,比如学生的学习成绩来说,一般是80分~90分,标准化把它变成0~1,也就是同样除以100,这是标准化的一个操作。

image.png看看欧式距离计算的举例,左上角这张图里面有四个样本点(是一个二维的数据),每个样本点的坐标在右边的表里,看这张距离表(Distance Matrix)两点间的距离。

对角线是零(是同样的一个样本点),这是欧式距离计算的结果。新版本的同学以后用python算式,Python里面有包可以自动算出样本点间的距离区分。

image.png介绍其他的距离的计算公式,其中特别著名的距离计算公式叫闵可夫斯基距离(也叫闵式距离)。闵式距离实际上是欧式距离的一种泛化、概括、通用的表达。

闵式距离的公式是某个维度或某个属性上两个样本点的差值,它的r次方求和后再开r次方。r是重要参数,可以取1、2、3等等。如果r取2,1/2就开平方,也就是前面的欧式距离。

闵式距离实际上并不是一种单独的距离,而是一组距离的定义,是对多个距离度量公式的概括性的表述。

·r=1.Manhattan(曼哈顿)distance.

A common example of this is the Hamming distance(汉明距离),which is just the number of bits that are different between two binary vectors

·r=2. Euclidean distance

·r→∞.Chebyshev(切比雪夫距离)Distance

国际象棋中,国王可以直行、横行、斜行,所以国王走一步可以移动到相邻8个方格中的任意一个。国王从格子(x1,y1)走到格子(x2,y2)最少需要多少步?这个距离就叫切比雪夫距离

上确界(L max norm,L∞ norm),这是向量的任何分量之间的最大差

Do not confuse r with n, i.e., all these distances are defined for all numbers of dimensions.

闵式距离r取1叫做曼哈顿距离(两个样本的差值的绝对值),在曼哈顿距离里非常著名的、通用的一个举例是汉明距离,它主要是用两个二进制的向量,两个向量性的差值就看多少个0和1。

文本序列的相似性是对应它的每个字形比较两张图片相似不相似,可以利用的每个像素距离就是汉明距离,如果r等于2是正常的欧式距离。

如果R取向∞的话叫做切比雪夫距离,∞并不是真正的∞,是取一个最大值,切比雪夫距离比较著名的是在国际象棋,规则国王可以直行、横行、前行。国王走一步可以移动到八个方格中的任意一格。

这样的规则下,国王从某一个格子(比如X1Y1)走到格子X2Y2最少需要走多少步?可以用切比雪夫距离来计算,∞叫上确界,用L max或L∞表示,是指向量的任何分量间的最大差,是闵式距离的一个应用。

另外,在闵式距离里,r和n不要混淆,n是样本里的属性的维度,r是来计算不同距离的,r取1是曼哈顿距离,r取2是欧式距离。

 

四、距离的共性

只要满足距离的共性要求,第一个要求是两个数据对象ij间的距离永远大于零。

第二个要求是两个数据对象ij间的距离等于零是ij在同一个位置上。

第三个要求ij间的距离是没有方向的,(ij间的距离与ji间的距离是相同的)。

第四个要求是两边之和大于第三边,ji两个数据对象间再加一个数据对象k,任意两个数据对象间的距离总不会大于、等于第三个数据对象间的距离,如果等于是中间的数据对象在前面两个数据对象的线段上面,这就满足距离的共性条件要求。

 

五、总结

第二章全部给大家讲完,如果大家看教材时,这部分知识会讲的较多,主要是把关键、最主要的、以后用得到的一些知识讲一下,进一步扩展参考学习。

把第二章了解一下。第二章主要学习数据挖掘有两个构成:数据和挖掘。必须要先认识数据,数据data在第二章里做详细的介绍。首先要了解数据及其类型,数据是数据对象及其属性的集合,要进一步了解数据属性的类型:标称,续送,区间,比例。

数据在实际加工过程当中可能会造成质量问题,数据质量有噪声,缺失值,流行值等等,处理主要有四个功能:数据清洗、数据集成、数据变换、数据归约。

学习非常重要的一个知识是数据对象间的相似性和相异性,相似性和相异性是相反的,都可以来判断数据对象间的邻近性,主要要掌握几个距离计算公式,特别是闵式距离,r的取值不同分别代表了曼哈顿距离、欧式距离等等。

相关文章
|
数据采集 自然语言处理 Python
如何使用Gensim库进行情感分析?
使用Gensim进行情感分析,需安装Gensim库,导入相关模块(Word2Vec, KeyedVectors, nltk等)。数据预处理涉及分词和去除停用词,然后用Word2Vec训练词向量模型。已训练的模型可加载用于计算句子情感分数,通过平均词向量表示句子情感。代码提供了一个基础的情感分析流程,可按需求调整。
347 1
|
3月前
|
存储 编解码 监控
针对3-15分钟视频的抽帧策略:让Qwen2.5 VL 32B理解视频内容
针对3-15分钟视频,提出高效抽帧策略:通过每5-10秒定间隔或关键帧检测方法,提取30-100帧关键图像,结合时间均匀采样与运动变化捕捉,降低冗余,提升Qwen2.5 VL 32B对视频内容的理解效率与准确性。
|
5月前
|
传感器 算法 数据挖掘
Python时间序列平滑技术完全指南:6种主流方法原理与实战应用
时间序列数据分析中,噪声干扰普遍存在,影响趋势提取。本文系统解析六种常用平滑技术——移动平均、EMA、Savitzky-Golay滤波器、LOESS回归、高斯滤波与卡尔曼滤波,从原理、参数配置、适用场景及优缺点多角度对比,并引入RPR指标量化平滑效果,助力方法选择与优化。
1119 0
|
3月前
|
存储 安全 Linux
Kali Linux 2025.3 发布 (Vagrant & Nexmon) - 领先的渗透测试发行版
Kali Linux 2025.3 发布 (Vagrant & Nexmon) - 领先的渗透测试发行版
589 0
|
4月前
|
人工智能 监控 数据可视化
新媒体内容策划看板:高效内容生产的秘密武器
新媒体内容策划看板是可视化任务管理工具,用于规划选题、排期、执行及监控内容生产全流程,解决传统管理方式效率低、协作混乱等问题。核心模块包括选题库、内容日历、制作追踪和多平台分发跟踪,支持团队高效协作与数据反馈。主流工具如飞书、Notion、板栗看板各具优势,适配不同规模团队。通过集成数据指标(阅读量、转化率等)和AI辅助(智能排期、生成建议),看板可优化内容策略并形成闭环管理。未来,看板将与AI深度结合,推动内容生产智能化。
256 0
|
存储 Linux 网络安全
如何在 Linux 中检查和设置时区?
【7月更文挑战第12天】
785 2
如何在 Linux 中检查和设置时区?
|
安全 Linux 数据处理
Linux命令strip详解
`strip`命令在Linux中用于移除可执行文件和库的符号表及调试信息,减小文件大小,提升运行效率。它的工作原理是删除文件中包含的函数名、变量名等信息。主要参数包括`-s`(移除所有符号)、`-g`(仅移除调试信息)等。在应用时要注意文件备份,因为该操作不可逆。最佳实践是在发布版本中使用,并结合构建流程自动化。
|
存储 C++ 容器
C++中deque的用法(超详细,入门必看)
⭐一、deque的简介 deque是一个双向队列(double-ended queue),可以在队列的两端进行元素的插入和删除操作。deque的全称是double-ended queue,翻译过来就是双端队列,也有人称之为双向队列,这两个名称都可以表示该数据结构。deque是C++STL(标准模板库)中的一种容器,可以用于存储各种类型的元素。deque的特点是可以在队列的两端进行元素的操作,并且可以高效地在队列的任意位置进行元素的插入和删除操作。 可以说deque几乎涵盖了queue(队列)、stack(堆栈)、vector(向量 )等的全部用法,功能非常的强大。
1610 0
|
iOS开发
SwiftUI极简教程05:代码分组管理
SwiftUI极简教程05:代码分组管理
585 1
SwiftUI极简教程05:代码分组管理
|
Arthas 数据可视化 Java
盘点Go中的开发神器
Java的单元测试需要使用第三方库,一般是Junit,配置起来比较复杂。在使用了golang之后发现golang自带的单元测试真的非常简单。 如果我们有一个cal.go文件,那么其对应的单元测试文件为cal_test.go,其中的方法命名必须为TestXxx,这种按照命名进行单元测试的方式简单有效,也正是通常所说的“约定大于配置”。
595 0
盘点Go中的开发神器