认识数据
目标:熟悉数据
将解决什么问题?
- 数据由什么类型的属性或字段组成?
- 每个属性具有何种类型的数据值?
- 哪些属性是离散的,哪些是连续的?
- 数据看上去如何?
- 值如何分布?
- 有什么方法可以可视化地观察数据?
- 是否可以看出离群点?
- 可以度量某些数据对象与其他数据对象之间的相似性?
数据对象与属性类型
数据对象
数据集由数据对象组成,一个数据对象代表一个实体。比如在销售数据库中,对象可以是顾客、商品和销售。
通常又称样本、实例、数据点,如果存放在数据库中,则成为数据元组。
属性类型
属性,表示数据对象的一个特征。“属性、维、特征和变量”都可称为属性。
给定属性的观测值称作观测。一个属性的数据分布称为单变量,以此类推。
属性类型 | 特点 | 中心趋势度量观察指标 | 举例 |
---|---|---|---|
标称属性 | 值代表类别、编码或状态;分类的;不必具有意义;枚举值;可以是数值 | 使该属性最常出现的值,众数 | 职业、头发颜色等 |
二元属性 | 布尔属性,只有两个取值。包括对称与非对称,即状态是否具有同等价值并携带相同的权重 | - | 对称:性别;非对称:病毒化验结果(阴阳性) |
序数属性 | 其可能的值之间具有有意义的序或秩,但值之间的差是未知的,可以是数值 | 众数、中位数 | 小中大;成绩A,B,C;军阶 |
数值属性 | 定量,分为区间标度和比率标度。 | 均值、中位数、众数 | 区间标度:温度;比率标度:收入水平 |
离散属性和连续属性
与以上类型并不互斥。离散属性具有有限或无限可数个值,可以用或不用整数表示。
连续属性通常与数值属性可以互换使用。但在实践中,连续属性一般用浮点变量表示。
数据的基本统计描述
- 中心趋势度量。度量数据分布的中部或中心位置。给定一个属性,它的值大部分落在何处? 包括均值、中位数、众数和中列数。
- 数据的散布。*数据如何分散?*包括极差、四分位数、四分位数极差、五数概况和盒图,方差和标准差。对于识别离群点,也是有用的。
- 可视化数据。分位数图、分位数-分位数图、直方图和散点图。
中心趋势度量
使用python的numpy库
import numpy as np
from scipy import stats
a = np.arange(10,50,10).reshape(-1,1)
# a = [10,20,30,40]
度量 | 优点 | 缺点 | 实现 | 针对数据类型 | 优化方法 |
---|---|---|---|---|---|
均值(加权) | 描述数据集的最有用的单个量 | 对极端值(离群点)很敏感 | np.mean(a) | 任何数值 | 截尾均值 |
中位数 | 将数据较高的一半与较低的一半分开,离群点不会影响该值 | 对于大数据量,计算开销大 | np.median(a) | 倾斜数据 | 将数值转为中位数区间 |
众数 | 对于定性和定量属性均可适用 | - | stats.mode(a)[0]_[0] | - | - |
中列数 | 数据集中最大值和最小值的平均值 | 易受极端值影响 | [np.max(a)+np.min(a)]/2 | - |
在具有完全对称的数据分布的单峰频率曲线中,均值、中位数和众数都是相同的中心点。
正倾斜:众数出现在小于中位数的值上;负倾斜:众数出现在大于中位数的值上。
度量数据散布
import matplotlib.pyplot as plt
import seaborn as sns
度量 | 描述 | 实现 | 用途 |
---|---|---|---|
极差 | 数据集中最值之差 | np.max(a)-np.min(a) | 数据分布范围是否分散 |
分位数 | 将数据分布划分成大小相等的连贯集 | np.median(a) | 类中位数 |
四分位数 | 第一个四分位数Q1是数据最低的25%,依次计算 | - | 观察数据的分布 |
四分位数极差 | IQR=Q3-Q1 | - | 给出被数据的中间一半所覆盖的范围 |
五数概括 | 最小值,Q1,中位数,Q3,最大值 | - | 描述倾斜分布,识别可疑的离群点:挑选落在Q3之上或Q1之下至少1.5*IQR处的值 |
盒图 | 五数概括的直观表示,盒的长度就是IQR,会显示离群点 | sns.boxplot() | 观测是否分布倾斜,是否有离群点 |
方差和标准差 | 数据散布度量 | np.var(a);np.std(a) | 数据分布的散布程度,低标准差意味数据观测趋向于非常靠近均值,高标准差表示数据散布在一个大的值域中 |
数据统计的图形显示
分位数图(单属性描述)
分位数-分位数图(单属性双对象描述):可用来判断分布是否有漂移
直方图
散点图:确定双变量是否存在联系、模式或趋势的最有效的图形方法之一。用于观察点簇和离群点,考察相关性。
度量数据的相似性和相异性
- 数据矩阵:对象-属性结构
- 相异性矩阵:对象-对象结构
标称属性的邻近性度量
d(i,j)=(p−m)∣p
使用相异性矩阵计算邻近性度量。m是匹配的数目(即i和j取相同状态的属性数),而p是刻画对象的属性总数。
二元属性的邻近性度量
1 | 0 | sum | |
---|---|---|---|
1 | q | r | q+r |
0 | s | t | s+t |
sum | q+s | r+t | q+r+s+t |
-
对称的二元相异性:
d(i,j)=(r+s)/(q+r+s+t) -
非对称的二元相异性:
d(i,j)=(r+s)/(q+r+s)
数值属性的相异性
- 欧几里得距离
- 曼哈顿距离
- 闵可夫斯基距离
序数属性的相异性
数据规格化:
Zif=(rif−1)/(Mf−1)
混合模型的相异性
分开分类型依次计算
余弦相似性
文本相似性。由于词频矩阵通常为稀疏矩阵,需要一种忽略0匹配的数值数据度量。