开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践:数据理解与预处理-3】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15442
数据理解与预处理-3
内容介绍:
一、相似性和相异性
二、简单属性
三、数据对象
四、距离的共性
五、总结
数据及其数据预处理的基本内容给大家讲完后,下面学习数据对象的另一个重要内容——数据对象的相似性、相异性。
一、相似性和相异性
相似性是指两个数据对象如何相似、相近数值的一个度量的指标。如果两个数据对象越相似,那么该数值就越高。
通常相似性的度量的值是在0和1之间。
另一个判断两个样本的关系是相异性,相异性是判断两个速度对象如何不同的数值指标。
相似性是alike(如何相似),相异性是different(如何不同),如果两个数据对象越相似,相异性的度量值就越低。最小的相异性的值是0,上限在不同情况下是有变化的。
另外通过邻近度来代表相似性和相异性。邻近:你的邻居的相近。邻近度可以用相似来表示,也可以用相异来表示。一定要注意两个样本间是不是相似、相异。(既可以用相似表示,也可以用相异表示)
二、简单属性
具体展开一下,先看简单属性间的相似性、相异性,简单属性可以理解成数据对象中只有一个属性(用P和Q代表两个数据对象的一个属性),对于数据属性的四个类型如何计算简单属性的相似性和相异性?
首先数据属性的标称的相异性判断很简单,两个对象相等的相异性是0,不等的差别相异性是1。注意一下,相似性和相异性两个互为相反。
有序属性的相异性的计算稍麻烦点,要看两个对象间的差值再除以对象个数减一。n表示属性取几个有序值(有序值的状态是几个)。比如家庭收入是低中高,n就是3。
所以,相异性的计算分母要除以(n-1),分子是两个属性间的差值,如果以家庭收入低中高来表示(低是0,中是1,高是2),低和高的相异性是多少?用2减去0,再除以(3-1)。它对于相似性与相异性是相反的,用1减相异性计算。
对于区间和比例这样的属性数据来说,相异性的计算是两个属性的差值。相似性的计算和相异性的相反,也可以用其他一些计算公式。
通过这张表格的计算先初步理解一下,简单属性的数据对象间的相似性和相异性是怎么计算的。
三、数据对象
一个正常的数据对象有很多个属性,如何来计算它们的相似性和相异性?
对于大多数数据对象来说,主要是用它的相异性计算,用的较多的叫欧式距离。欧式距离公式dist是相异性(它们间的距离),p、q是两个样本对象在某个维度上的差值,K代表它的维度(某个属性)。想象一个二维表的数据,每一列是一个属性,在同个属性上两个数据对象的差值的平方,求和,再开平方,这就是欧式距离。
欧式距离大家以前接触过,比较容易理解。注意:在欧式距离的计算过程中,通常需要将属性数据进行标准化处理,数据的标准化有多种方法,比如学生的学习成绩来说,一般是80分~90分,标准化把它变成0~1,也就是同样除以100,这是标准化的一个操作。
看看欧式距离计算的举例,左上角这张图里面有四个样本点(是一个二维的数据),每个样本点的坐标在右边的表里,看这张距离表(Distance Matrix)两点间的距离。
对角线是零(是同样的一个样本点),这是欧式距离计算的结果。新版本的同学以后用python算式,Python里面有包可以自动算出样本点间的距离区分。
介绍其他的距离的计算公式,其中特别著名的距离计算公式叫闵可夫斯基距离(也叫闵式距离)。闵式距离实际上是欧式距离的一种泛化、概括、通用的表达。
闵式距离的公式是某个维度或某个属性上两个样本点的差值,它的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的取值不同分别代表了曼哈顿距离、欧式距离等等。