第二章 认识数据

来源:互联网 发布:对阿里云的理解 编辑:程序博客网 时间:2024/05/01 12:35

1、数据对象与属性类型

        数据集由数据对象组成。一个数据对象代表一个实体。例如,在销售数据库中,对象可以是顾客、商品或销售。

        通常,数据对象用属性描述。数据对象又称样本、实例、数据点或对象。

        如果数据对象存放在数据库中,则它们是数据元组。也就是说,数据库的行对应于数据对象,而列对应于属性。

1.1  什么是属性

        属性是一个数据字段,表示数据对象的一个特征。

        在文献中,属性、维、特征和变量可以互换地使用。术语“”一般用在数据仓库中。机器学习文献更倾向于使用术语“特征”,而统计学家则更愿意使用术语“变量”。数据挖掘和数据库的专业人士一般使用术语“属性”。

        用来描述一个给定对象的一组属性称作属性向量(或特征向量)。涉及一个属性(或变量)的数据分布称作单变量的。双变量分布涉及两个属性,等等。

        一个属性的类型由该属性可能具有的值的集合决定。属性可以是标称的、二元的、序数的或数值的。

1.2  标称属性

        标称属性的值是一些符号或事物的名称。每个值代表某种类别、编码或状态,因此标称属性又被看作是是分类的。这些值不必具有有意义的序。在计算机科学中,这些值也被看作是枚举的。

        标称属性(例子)。假设hair_color(头发颜色)是描述人的属性,可能的值为黑色、棕色、淡黄色、红色、赤褐色、灰色和白色。

        尽管我们说标称属性的值是一些符号或“事物的名称”,但是可以用数表示这些符号或名称(例如,0表示黑色,1表示棕色等等)。

        在标称属性之上,数字运算没有意义。

        因为标称属性值并不具有有意义的序,并且不是定量的,因此,给定一个对象集,找出这种属性的均值(平均值)或中位数(中值)没有意义,然而众数却是有意义的。

1.3  二元属性

        二元属性是一种标称属性,只有两个类别或状态:0或1,其中0通常表示该属性不出现,而1表示出现。如果两种状态对应于true和false的话,二元属性又称布尔属性

        二元属性(例子)。倘若属性smoker表示患者对象,1表示患者抽烟,0表示患者不抽烟。

        一个二元属性是对称的,如果它的两种状态具有同等价值并且携带相同的权重;即关于哪个结果应该用0或1编码并无偏好(例如,属性gender的两种状态男和女)。

        一个二元属性是非对称的,如果其状态的结果不是同等重要的。如艾滋病病毒(HIV)化验的阳性和阴性结果。

        为方便计,我们将用1对最重要的结果(通常是稀有的)编码(例如,HIV阳性),而另一个用0编码(例如,HIV阴性)。

1.4  序数属性

        序数属性是一种属性,其可能的值之间具有有意义的序或秩评定,但是相继值之间的差是未知的。

        序数属性(例子)。例如职位,对于教师有助教、讲师、副教授和教授。

        对于记录不能客观度量的主观质量评估,序数属性是有用的。因此,序数属性通常用于等级评定调查(例如,顾客满意度调查,分为0、1、2、3、4级别)。

        序数属性的中心趋势可以用它的众数和中位数表示,但不能定义均值。

        注意,标称、二元和序数属性都是定性的。即,它们描述对象的特征,而不给出实际大小或数量。这种定性属性的值通常是代表类别的词。如果使用整数,则它们代表类别的计算机编码,而不是可测量的量。

1.5  数值属性

        数值属性定量的,即它是可度量的量,用整数或实数值表示。

        数值属性可以是区间标度的或比率标度的。

        1.区间标度属性

                区间标度属性用相等的单位尺度度量。区间属性的值有序,可以为正、0或负。因此,除了值的秩评定外,这种属性允许它们比较和定量评估值之间的差。

                区间标度属性(例子)。例如,temperature(温度)是区间标度的。

                由于区间标度属性是数值的,除了中心趋势度量中位数和众数之外,我们还可以计算它们的均值。

        2.比率标度属性

                比率标度属性是具有固定零点的数值属性。也就是说,如果度量是比率标度的,则我们可以说一个值是另一个的倍数(或比率)。此外,这些值是有序的。因此我们可         以计算值之间的差,也能计算均值、中位数和众数。

                比率标度属性(例子)。例如,度量重量、高度、速度和货币量(100美元比1美元富有100倍)的属性。

1.6  离散属性与连续属性

        我们已经把属性分为标称、二元、序数和数值类型。可以用许多方法来组织属性类型,这些类型不是互斥的。

        机器学习领域开发的分类算法通常把属性分成离散的或连续的。每种类型都可以用不同的方法处理。

        离散属性具有有限或无限可数个值,可以用或不用整数表示。

        如果属性不是离散的,则它是连续的。

2、数据的基本统计描述

        基本统计描述可以用来识别数据的性质,凸显哪些数据值应该视为噪声或离群点。

2.1  中心趋势度量:均值、中位数和众数

        假设我们由某个属X,如salary,已经对一个数据对象集记录了它们的值。令x1.x2,…,xn为X的N个观测值或观测。如果我们标出salary的这些观测,大部分值将落在何处?这反映数据的中心趋势的思想。中心趋势度量包括均值中位数众数和中列数

        数据集“中心”的最常用、最有效的数值度量是(算术)均值,令x1.x2,…,xn为某数值属性X(如salary)的N个观测值或观测,该值集合的均值


        有时,对于i=1,…,N,每个值xi可以与一个权重wi相关联。权重反映它们所依赖的对应值的意义、重要性或出现的频率。在这种情况下,我们可以计算


        这称作加权算术均值加权均值

        尽管均值是描述数据集的最有用的单个量,但是它并非总是度量数据中心的最佳方法。主要问题是,均值对极端值(例如,离群点)很敏感。为了抵消少数极端值的影响,我们可以使用截尾均值(丢弃高低端值后的均值)。我们应避免在两端截去太多(如20%),因为这可能导致都是有价值的信息。

        对于倾斜(非对称)数据,数据中心的更好度量是中位数。中位数是有序数据值的中间值。它是把数据较高的一半与较低的一半分开的值。

        在X是数值属性的情况下,根据约定,中位数取作最中间两个值的平均值。

        当观测的数量很大时,中位数的计算开销很大。然而,对于数值属性,我们可以很容易计算中位数的近似值。假定数据根据它们的xi值划分成区间,并且已知每个区间的频率(即数据值的个数)。令包含中位数频率的区间定义为中位数区间。我们可以使用如下公式,用插值计算整个数据集的中位数的近似值:


        众数是另一种中心趋势度量。数据集的众数是集合中出现最频繁的值。因此,可以对定性和定量属性确定众数。众数可能不唯一,具有一个、两个、三个众数的数据集合分别称为单峰的、双峰的和三峰的。

        对于适度倾斜(非对称)的单峰数值数据,我们有下面的经验关系mean-mode3*(mean-median)这意味着:如果均值和中位数已知,则适度倾斜的单峰频率曲线的众数容易近似计算。

        中列数也可以用来评估数值数据的中心趋势。中列数是数据集的最大和最小值的平均值。

        在具有完全对称的数据分布的单峰频率曲线中,均值、中位数和众数都是相同的中心值。

        在大部分实际应用中,数据都是不对称的。它们可能是正倾斜的,其中众数出现在小于中位数的值上;或者是负倾斜的,其中众数出现在大于中位数的值上。


2.2  度量数据散布:极差、四分位数、方差、标准差和四分位数极差

        1.极差、四分位数和四分位数极差

        设x1.x2,…,xn为某数值属性X上的观测的集合。该集合的极差是最大值与最小值之差。

        分位数是取自数据分布的每隔一定间隔上的点,把数据划分成基本上大小相等的连贯集合。给定数据分布的第k个q-分位数是值x,使得小于x的数据值最多为k/q,而大于x的数据值最多为(q-k)/q,其中k是整数,使得0<k<q。我们有q-1个q-分位数。


        2-分位数是一个数据点,它把数据分布划分成高低两半。2-分位数对应于中位数。

        4-分位数是3个数据点,它们把数据分布划分成4个相等的部分,使得每部分表示数据分布的四分之一。通常称它们为四分位数

        100-分位数通常称作百分位数,它们把数据分布划分成100个大小相等的连贯集。

        4-分位数中的四分位数极差(IQR)定义为:IQR=Q3-Q1,它给出被数据的中间一半所覆盖的范围。

        2.五数概括、盒图与离群点

        对于描述倾斜分布,单个散布数值变量(例如,IQR)都不是很有用。识别可疑的离群点的通常规则是,挑选落在第3个四分位数之上或第1个四分位数之下至少1.5*IQR处的值。

        因为Q1、中位数和Q3不包含数据的端点信息,分布形状的更完整的概括可以通过同时也提供最高和最低数据值得到。这称作五数概括。分布的五数概括由中位数(Q2),四分位数Q1和Q3、最小和最大观测值组成。

        盒图是一种流行的分布的直观表示。盒图体现了五数概括:

      (1)盒的端点一般在四分位数上,使得盒的长度是四分位数极差IQR。

      (2)中位数用盒内的线标记。

      (3)盒外的两条线(称作胡须)延伸到最小和最大观测值。


 

        3.方差和标准差

        方差和标准差都是数据散布度量,它们指出数据分布的散布程度。低标准差意味着数据观测趋向于非常靠近均值,而高标准差表示数据散布在一个大的值域中。

数值属性X的N个观测值x1.x2,…,xN的方差是:

        观测值的标准差是方差2的平方根。

3、度量数据的相似性和相异性

3.1  数据矩阵与相异性矩阵

        假设我们有n个对象,被p个属性刻画。这些对象是x1=(x11,x12,…,x1p),x2=(x21,x22,…,x2p),等等,其中x ij是对象xi的第j个属性的值,这些对象可以是关系数据库的元组,也称数据样本或特征向量。

        数据矩阵或称对象—属性结构:这种数据结构用关系表的形式或n*p(n个对象*p个属性)矩阵存放n个数据对象:

其中,每行对应于一个对象。

        相异性矩阵或称对象-对象结构:存放n个对象两两之间的邻近度,通常用一个n*n矩阵表示:

其中d(i,j)是对象i和j之间的相异性或“差别”的度量。

        相似性度量可以表示成相异性度量的函数。例如,对于标称数据sim(i,j)=1- d(i,j)( sim(i,j)是对象i和j之间的相似性)。

        数据矩阵经常被称为二模矩阵,因为数据矩阵由两种实体或“事物”组成,即行(对象)和列(属性)。相异性矩阵被称为单模矩阵,因为相异性矩阵只包含一类实体。

        许多聚类算法和最近邻算法都在相异性矩阵上运行。在使用这些算法之前,可以把数据矩阵转化成相异性矩阵。

3.2  标称属性的邻近性度量

        设一个标称属性的状态数目是M。这些状态可以用字母、符号或者一组整数(如1,2…,M)表示。注意这些整数只是用于数据处理,并不代表任何特定的顺序。

        “如何计算标称属性所刻画的对象之间的相异性?”两个对象i和j之间的相异性可以根据不匹配率来计算 d(i,j)= (p-m)/p (m是匹配的数目,而p是刻画对象的属性总数。)

        或者,相似性可以用下式计算:sim(i,j)=1-d(i,j)=m/p

3.3  二元属性的邻近性度量

        “如何计算两个二元属性之间的相异性?”一种方法涉及由给定的二元数据计算相异性矩阵。如果所有的二元都被看做具有相同的权重,则我们得到一个两行两列的列联表,其中q是对象i和j都取1的属性数,属性的总数是p。


        基于对称二元属性的相异性称作对称的二元相异性。如果对象i和j都用对称的二元属性刻画,则i和j的相异性为d(i,j)=(r+s)/(q+r+s+t)

对于非对称的二元属性,两个状态不是同等重要的;给定两个非对称的二元属性,两个都取值1的情况(正匹配)被认为比两个都取值0的情况(负匹配)更有意义。因此,这样的二元属性经常被认为是“一元的”(只有一种状态)。基于这种属性的相异性被称为非对称的二元相异性,其中负匹配数t被认为是不重要的,因此在计算时可以被忽略。如下所示:d(i,j)=(r+s)/(q+r+s)

3.4  数值属性的相异性:闵可夫斯基距离

        在某些情况下,在计算距离之前数据应该规范化。这涉及变换数据,使之落入较小的公共值域,如[-1,1]或[0.0,1.0]。规范化数据试图给所有属性相同的权重。

        最流行的距离度量是欧几里得距离。令i=(xi1,xi2,…,xip)和j=(xj1,xj2,…,xjp)是两个被p个数值属性描述的对象。对象i和j之间的欧几里得距离定义为:


        另一个著名的度量方法是曼哈顿距离。其定义如下:


        闵可夫斯基距离是欧几里得距离和曼哈顿距离的推广,定义如下:


其中,h是实数,h1,这种距离又称Lp范数。P就是我们的h。当p=1时,它表示曼哈顿距离(即,L1范数);当p=2时,它表示欧几里得距离(即,L2范数)。

        如果对每个变量根据其重要性赋予一个权重在,则加权的欧几里得距离可以用下式计算:


加权也可以用于其他距离度量。

3.5  序数属性的邻近性度量

        令序数属性可能的状态数为M。这些有序的状态定义了一个排位1,…,Mf

        “如何处理序数属性?”在计算对象之间的相异性时,序数属性的处理与数值属性的非常类似。假设f是用于描述n个对象的一组序数属性之一。关于f的相异性计算涉及如下步骤:

        1.第i个对象的f值为xif,属性f由Mf个有序的状态,表示排位1,…,Mf。用对应的排位rif{1,…, Mf}取代xif

        2.由于每个序数属性都可以有不同的状态数,所以通常需要将每个属性的值域映射到[0.0,1.0]上,以便每个属性都有相同的权重。我们通过用zif代替第i个对象的xif来实现数据规格化,其中


        3.相异性可以用上面介绍的任意一种数值属性的距离度量计算,使用zif作为第i个对象的f值。

3.6  混合类型属性的相异性

        “我们如何计算混合属性类型的对象之间的相异性?”将所有属性类型一起处理,只做一次分析。一种这样的技术将不同的属性组合在单个相异性矩阵中,把所有有意义的属性转换到共同的区间[0.0,1.0]上。



3.7  余弦相似性

        文档用数以千计的属性表示,每个文档都被一个所谓的词频向量表示。

        余弦相似性是一种度量,它可以用来比较文档,或针对给定的查询词向量对文档排序。令x和y是两个待比较的向量,使用余弦度量作为相似性函数,我们有



 

0 0
原创粉丝点击