开发者学堂课程【高校精品课-北京理工大学-数据仓库与数据挖掘(上):Data-Data Objects and Attribute Types】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/921/detail/15626
Data-Data Objects and Attribute Types
内容介绍
一、数据对象,属性和属性值
二、数据集的类型
三、数据集特性的描述
四、属性的类别
在这一部分中,向大家介绍数据对象和属性类型,数据基本的统计描述,数据相似性和相异性三部分内容。
一、数据对象,属性和属性值
我们首先来看一下数据对象。数据对象它代表的是一个实体。在数据库表中,数据对象代表的是这个数据库表中的一行。
比如说在我们的顾客信息表中。我们的一行代表的就是一条顾客的信息,那么我们把它称之为一个数据对象。和数据对象具有相同含义的名词,包括视力,实力,数据点以及元组。
数据对象是由一组刻画数据特性的属性来描述,属性对应于数据库表中的每一列,在 PPT 中的这张表,他展示的顾客信息是由顾客的 id ,顾客所在省份,顾客性别,顾客年龄段以及顾客的星座,由这样五个属性来描述。
和属性具有相同含义的名词,包括维度,特征,变量。对特定对象特定属性的取值,我们把它称之为属性值。比如说像这里的顾客信息表中,它每一个方格就代表每一个属性值。
比如我们标黄的河北省,他就指的是我们第三行的这个顾客他所属的省份。
我们把一组数据对象的集合称之为叫做数据集。比如在我们 ppt 上展示的。由多个数据对象组成的这样一个数据库表,就对应的是我们的一个数据集。
二、数据集的类型
数据集的类型主要包括三大类:记录数据,基于图形的数据,有序数据。在记录数据中。比较具有代表性的,包括我们的数据矩阵,文档数据,事物数据。基于图形的数据主要包含我们的网络数据和生物分子结构数据。有序数据主要是包含时序数据和序列数据。
1、记录数据
我们首先来看一下我们的记录数据。我们的 ppt 上面展示了三种常见的记录数据。我们的最左边这里代表的是数据矩阵。这里我们举的是在推荐系统中常用的用户项目矩阵。
在这个数据矩阵中,他的每一行代表的是一个顾客。每一列代表的是一个商品。顾客对商品的特定评分就构成了我们的用户项目矩阵。我们在这个 ppt 上面的这一部分代表的是文档数据。在文档数据中每一行代表的是一个文档。每一列代表的是一个单词。那么也就是说,每一个文档是用单词在这个文档中出现的次数来表示。那么下面的这个数据是大家比较熟悉的事物数据。也就是之前所介绍的购物篮数据。他的每一行代表的顾客的记录,而顾客的记录是由它在这一次购物中所购买商品的项目组成。这个就是我们在记录数据中最常见的三种类型。
2、基于图形的数据
我们来看一下基于图形的数据。基于图形的数据主要有两类,一类是网络数据,一类是分子结构数据。
我们首先来看一下网络数据。我们 ppt 中这边展示的这样的一个网络,代表的是网页之间的联系。图中的每一个节点代表的是一个网页,如果网页和网页之间有引用关系,那就在这俩个网页之间添加一条边,边上的数字代表网页被引用的次数。网页对于这样的网页和网页之间的引用关系。我们可以用一个矩阵去描述它。我们 ppt 中的这一部分代表的是一个苯分子结构。其中黑色代表的是碳原子。灰色代表的是氢原子。所以说基于图形的数据,它是非常适合描述对象之间有联系的数据。
3、有序数据
我们来看一下有序数据。有些数据主要有两大类时序数据和序列数据。我们首先来看一下时序数据。
时序数据它代表的是对同一个数据对象在不同时间点观测值的记录。像我们的 ppt 中展示的是通用汽车的股票价格和特斯拉股票价格的随时间变化的趋势。所以说通过时间序列,我们可以观察数据对象随时间变化的趋势或者是程度。有序数据中的第二类主要数据就是我们的序列数据。序列数据他没有时间标签。但是序列数据,它记录了各个实体的顺序。
比如说我们 PPT 这里展示的是 DNA 的序列数据。我们知道 DNA 主要是由4种核糖苷酸,也就是 gc ta 来组成。那么通过记录这4种核糖苷酸,它的出现的顺序,我们可以用来描述每一个 DNA 。
三、数据集特性的描述
数据集的特性主要从4个方面也就是维度,稀疏性,分辨率和分布4个方面来描述。
首先我们来看一下维度。维度就指的是这个数据集中属性的个数。在我们的日常生活中,我们经常会面临的高维数据的处理。所谓的高维数据,就是指的是我们属于我们数据集的属性个数,非常非常多。对于高维数据的处理由于维度高会造成一些困难。
一方面是它的计算量,随着维度的增加,会呈一个指数的增长。那么其次呢还有一种现象就是叫做维度的诅咒或者叫维度的灾难。那么维度的灾难。
比如说我们以分类任务为例。应该是随着我们的这个维度的增加,相当于我们对对象的信息就了解得越多。那么我们的分类器的性能应该是越来越好。但是随着我们维度的增加增加到某一个程度之后,大家可以看到它的这个分类器的性能反而会出现下降。那么这个叫做维度的灾难。主要是因为随着维度的增加。
那么我们的数据量相对而言越来越少。那么甚至,可能会成为一种稀疏数据,从而造成了我们的这样的一个分类性能随着这样的一个维度的增加反而不升反降。
数据集的稀疏性就指的是数据矩阵中大量的值为空或者是缺失。我们这里以推荐系统中的项目用户矩阵来向大家介绍。在推荐系统中,我们的用户的数目是非常大的。我们项目的数目也是非常大的。所以我们的用户项目举证是一个非常大的矩阵。但是由于一个用户往往仅对大量商品中的诺干个商品进行了评分,所以导致我们数据矩阵中大量的值为空。这就造成了我们推荐系统中的用户项目矩阵是非常稀疏的。他的稀疏性甚至可以达到99.9%以上。
所谓的分辨率就指的是数据对象测量的最小单元。我们这里用遥感数据图像来向大家解释。
我们这幅图像,拍摄的是一个铁轨附近的图像。
那么我们这幅图像它的分辨率呢是0.5米。也就是说在这样的一幅图像中,他的每一个像元代表的是一个。那么大家可以看到对于分辨率为0.5米的这个图像,它的整个图像是非常清晰的。那么轨道和轨道是能够非常清晰地把它分辨出来。那么这幅图像她和我们刚才这幅图像拍摄的是同一个地点,但是分辨率不一样。
它的分辨率是两米,也就是在这个图像中,他的一个像元代表的是一个2米×2米的面积。
那么对于这样的一幅图像,它就是比较模糊的。那么轨道和轨道之间由于比较模糊,轨道和轨道之间基本上沾粘在一起,不好区分。这里呢向大家介绍的就是分辨率。我们最后再来看一下数据的分布。数据的分布主要指的是数据属性的分布。那么比如说像我们数据属性最常见的分布就是这种正态分布。那么就是中间高两端低的这么一个分布状态。我们主要是通过以上四个特性对我们的数据集进行描述。
四、属性的类别
对于属性我们有很多种分类方法。比如说通过属性值个数,我们可以把我们的属性分为离散属性和连续属性两大类。那我们通过这个属性值的类型,也可以把我们的属性分成标称属性,二分属性,序数属性,和数值属性。其中数值属性呢,又分为区间属性和比率属性。首先我们来看一下标称属性。标称属性,它代表的仅仅是事物的名称。主要用于表示数据对象的状态和种类。比如说像我们的头发的颜色:黑色,灰色,白色等等。
她仅仅是用来区分对象。在这个 PPT 中,这样的一个顾客信息表中,我们可以看到这样的一个星座。星座的取值,主要是有十二星座,那么每一个星座的名称呢,主要是用来展示这个用户他星座的类型。这个呢就是我们在属性中比较常见的标称属性。我们再来看一下二分属性。
二分属性它其实是一种特殊的标称属性。那么它特殊在哪里呢?主要指的是它的取值只有两种状态:0或1。如果是这两种状态它出现的概率是基本上平衡的,也就是各自占50%,那么对于这样的二分属性,我们把它称之为叫做对称的二分属性。
那么比如说像我们的顾客的性别。那么性别这个属性,就是一个典型的对称的二分属性。它的取值只有两种,因为性别只有男性和女性。而且男性和女性出现的概率基本上是各占50%,所以这个就是一种比较典型的对称的二分属性。那比如说像我们在做这个艾滋病等一些疾病检测的时候,那么如果我们有一个属性叫做 outcome ,就是他的检测结果。对于检测结果这个属性来说,它的取值只有两种1或者是0。一代表就是阳性,就是表示的是患艾滋病。0代表的是阴性。表示的是没有患艾滋病。那么因为在我们的这个人群中,艾滋病患者的比例是非常非常少的。所以说对于艾滋病检测的这样一个属性 outcome 来说,它的取值也是两种。但是,一的比例很少,那么这样的属性,我们把它称之为叫做不对称的二分属性。我们再来看一下有序属性。有些属性它也能够表示事物的名称。但是除了表示名称之外,有些属性还能够确定对象之间的顺序。比如说像我们的顾客信息表中,我们有一个顾客的年龄段。那么年龄段的取值有20岁以下,20~30岁。
30~40岁是40~50岁,这些取值它不仅能够区分顾客的年龄段。而且它还是有顺序的。比如说我们可以知道,20岁是比20~30岁要年轻,20~30岁要比30~40岁年轻。这样的属性我们把它称之为叫做有序属性。第三类就是我们常见的数值属性。它的取值是数值。对于数值属性来说呢,它又分为两大类。一类是我们区间属性。第二类是我们的比例属性。
对于区间属性来说呢=,他的区间属性的差是有意义的。比如说像我们常见的日历的日期。以及我们的摄氏温度都是区间属性。那么对于比例属性来说,它不仅是属性之间的差有意义,而且属性和属性值之间的比值也是有意义的。那比如说像我们温度中的这样的一个开始温度,以及我们的速度,都是叫比率属性。那么我们刚才讲的标称属性,有序数据,数值属性,那么都是从他的属性值的取值类型上来区分。那么如果是从属性值的个数上,我们又把我们的属性分为离散的和连续的两大类。
对于离散属性,我们往往用整型数值来代表。那么对于连续属性呢,我们往往是用我们的浮点类型的数值来代表。比如像这张表中展示的是对学生的学习能力的记录。
那么像 id ,像他的年级和班级。那么这些都是整型类型,我们把它认为是离散的属性。而像我们的比如说像听能力和看能力,那么它的取值是浮点值类型的,我们把它称之为是叫做连续属性。在数据挖掘中那么有一些算法,对于我们的属性值的类型是有要求的。那么我们有可能就要把我们的连续属性转换成我们的离散属性。