【有书共读】数据挖掘导论 第2章 2.1-2.2
2.1 数据类型
数据集:数据对象的集合。
数据对象:记录、点、向量、模式、事件、案例、样本、观测或实体。
属性:用来刻画数据对象的基本特性,也成为变量、特性、字段、特征或维。
2.1.1 属性与度量
1. 什么是属性
定义2.1 属性(attribute)是对象的性质或特性。
定义2.2 测量标度(measurement scale)是将数值或符号与对象的属性相关联的规则(函数)。
这两个定义有点拗口,简单地说,比如眼球的颜色是数据对象(某个人)的一个属性,具有棕色、黑色、蓝色等值,这些值是属性的一个标度(表示)。
2. 属性类型
3. 属性的不同类型
属性的类型有四种:标称(nominal)、序数(ordinal)、区间(interval)和比率(ratio)。具体如表2-2
标称和序数属性统称为分类的(categorical)或定性的(qualitative)属性;相应的区间和比率属性统称定量的(quantitative)或数值的(numeric)属性。
属性也可以进行变换,具体如表2-3
4. 用值的个数描述属性
(1) 离散的(discrete):属于分类属性,可以有有限或者无限个值。
(2) 连续的(continuous):取实数值的属性。
5. 非对称属性
2.1.2 数据集的类型
1. 数据集的一般特性
主要包含维度(dimensionality),稀疏性(sparsity),和分辨率。这几个概念顾名思义就好。
2. 记录数据
许多数据挖掘任务都假定数据集是记录(数据对象)的汇集,每个记录包含固定的数据字段(属性)集。
大家不用太在意记录数据的定义,在这里记录基本是特指一个数据对象。需要注意的是,记录数据有不同的变体,包括事物/购物篮数据,数据矩阵,稀疏数据矩阵(文档-词矩阵)等变体,具体的例子我截了图以方便大家理解。3. 基于图形的数据
主要有两种类型,一种是图中带有对象之间联系的数据,比如我们把贴吧看做一个对象,那么百度首页上“贴吧”这个超链接就代表了百度首页和贴吧页面之间的联系,这是一个普通的例子,实际碰到的问题一般会更复杂。另一种是图形本身代表着数据对象,这个在我们CV领域中比较常见,比如给你一幅图让你识别,那么此时图本身就是一个数据对象。
4. 有序数据
属性具有涉及时间或空间序联系的数据类型。具体而言,有如下几种:
时序数据 sequential data:也称时间数据 temporal data,这种数据的特点是每个记录数据都包含一个与之相关的时间。
序列数据 sequence data:跟时序数据相似,但是这里只考虑相对位置而非时间,比如DNA序列。
时间序列数据 time series data:这个和时序数据不同的是,每一个记录数据都是一个时间序列,比如,金融数据集可能包含每个股票的时间序列,这就构成了时间序列数据集。
2.2 数据质量
数据挖掘使用的数据一开始往往是为了别的用途收集的,或者收集时未明确其目的,因此,数据质量常常存在问题。在这种情况下,为了保证数据挖掘的顺利进行,主要有两种解决办法:第一,是问题的检测和纠正,也叫数据清理/洗;第二,是使用可以容忍低数据质量的算法。
2.2.1 测量和数据收集问题
1. 测量误差和数据收集错误
测量误差(measurement error)是指测量过程中导致的问题。对于连续属性,测量值与实际值的差成为误差(error)。数据收集错误(data collection error)是指诸如遗漏数据对象或属性值,或不当地包含了其他数据对象等错误。
2. 噪声和伪像
噪声是指测量误差的随机部分。数据错误可能是更确定性现象的结果,比如一组照片在同一个地方出现条纹,这种失真通常称为伪像。
3. 精度、偏倚和准确率
定义 2.3 精度(precision) (同一个量的)重复测量之间的接近程度。
定义 2.4 偏倚(bias) 测量值与被测量之间的系统的变差。
定义 2.5 准确率(accuracy) 被测量的测量值与实际值之间的接近度。
精度通常用值集合的标准差度量,二偏倚用值集合的均值与测出的已知值之间的差度量。
4. 离群点(outlier)
指在某种意义上具有不同于数据集中其他大部分数据对象的特征的数据对象,或是相对于该属性的典型值来说不寻常的属性值,也成为异常(anomalous)对象或异常值。区别噪声和离群点是一个重要的课题,异常检测相关部分将在第10章中讨论。
5. 遗漏值
解决遗漏值的方法有以下几种:
(1) 删除数据对象或属性:可以直接删除数据对象,但是如果有遗漏的数据对象比较多,则不可取;也可删除相应属性,但是如果此属性比较重要,那么也不可取。
(2) 估计遗漏值:对于连续属性,可以使用插值或者平滑将一楼属性值求出;如果是分类属性,则可以取最近邻中最长出现的属性值。
(3) 在分析时忽略遗漏值:可以通过修改数据挖掘算法的方式遗漏值。比如,对于聚类算法,计算数据对象之间的相似性,仅用没有遗漏的属性来计算相似性。这种方法,除非整个属性数目很少,或者遗漏值的数量很大,否则方法本身引起的误差影响不大。
6. 不一致的值
数据可能包含不一致的值。比如,在记录北京的地址时出现了上海的徐汇区,这就相当于是记错了。
7. 重复数据
数据既可能包含重复或几乎重复的数据对象。
2.2.2 关于应用的问题
在使用数据挖掘技术时,需要注意数据的时效性;并且,可用的数据必须包含应用所需要的信息。