数据规范化
数据规范化又称标准化(standardization),通过将属性的取值范围进行统一,避免不同的属性在数据分析的过程中具有不平等的地位
常用方法:
最小-最大法(min-max normalization)
z-score
最小-最大法
假设需要映射到目标区间为[L,R]。原来的取值范围为[l, r],则根据等比例映射的原理,一个值x映射到新区间后的值v的计算方法如下:
例如,对于描述客户的属性“年收入(万元)”,如果原来的取值范围为[3,200],新的取值范围为[0,1],则若某客户的年收入为60万元,规范化后为(60-3)/(200-3)=0.29
z-score
z-score,又称零均值规范化(zero-mean normalization)。给定一个属性A,设其取值的均值为μA,标准差为σA,A的某个取值x规范化后的值v计算如下:
均值为μA和标准差为σA通过已有样本的属性值进行计算。规范化后的属性A取值的均值为0,标准差为1
例如,年收入属性的均值为82,标准差为39,则年收入60万规范化后为-0.56
(60-82)/39
数据离散化
分箱离散化(等距离分箱、等频率分箱)
等距离(equal- distance)分箱
又称为等宽度分箱(equal-width binning),是将每个取值映射到等大小的区间的方法
等距离分箱可能导致属于某些的取值非常多,而某些又非常少
例如:
假设14个客户的属性“年收入”的取值按顺序为:
20,40,50,58,65,80,80,82,86,90,96,105,120,200
利用等距离分箱,区间的个数为4,则区间间距为(200-20)/4=45,则4个箱的区间分别为[20,65),[65,110),[110,155),[155,200]
[20,65) : 20,40,50,58
[65,110): 65,80,80,82,86,90,96,105
[110,155): 120
[155,200]: 200
等频率(equal-frequency)分箱
又称等深度分箱(equal-depth binning)。它将每个取值映射到一个区间,每个区间内包含的取值个数大致相同
例如:
假设14个客户的属性“年收入”的取值按顺序为:
20,40,50,58,65,80,80,82,86,90,96,105,120,200
利用等频率分箱,每箱3个值,则4个箱分别为[20,40,50],[58,65,80,80],[82,86,90],[96,105,120,200]
基于熵的离散化
分箱离散化是一种无监督离散化方法
基于熵的离散化方法是常用的有监督的离散化方法
给定一个数据集D及分类属性的取值,即类别集合C={c1, c2, …, ck},数据集D的信息熵entropy(D)的计算公式
其中p(ci)=count(ci)/|D|,count(ci)表示类别ci在D中出现的次数,|D|代表D中的数据行数,即对象个数。信息熵的取值越小,类别分布越纯,反之越不纯
离散化方法ChiMerge
如果基于熵的方法可以看作是自顶向下的分裂方法,则ChiMerge则属于自底向上的合并方法
ChiMerge是从每个值都是一个小区间开始,不断合并相邻区间成为大的区间,它是基于统计量卡方检验实现的
k为类别的个数
数据清洗
处理数据的缺失、噪音数据的处理以及数据不一致的识别和处理
处理数据的缺失:
如果数据集含有分类属性,一种简单的填补缺失值的方法为
对于数值属性:将属于同一类的对象的该属性值的均值赋予此缺失值
对于离散属性或定性属性,用众数代替均值
更复杂的方法,可以将其转换为分类问题或数值预测问题
噪音数据的处理
一类是识别出噪音,将其去除:孤立点(离群点、outliers)的识别属于第一类方法,上一章中介绍聚类算法DBSCAN时提到过,最终不属于任一个簇的点可以看作噪音。
异常点( anomaly)
一类是利用其它非噪音数据降低噪音的影响,起到平滑(smoothing)的作用: 1) 分箱(binning)方法可以用于平滑噪音。例如,将年收入的缺失值填补之后,将其取值利用分箱法平滑噪音; 2) 线性回归
特征提取与特征选择
什么是特征?
数据集中的属性便是特征。
比如身高、体重、兴趣、专业、年级、成绩等等
为什么要进行特征提取或特征选择
在现实生活中,一个对象往往具有很多属性(以下称为特征),这些特征大致可以被分成三种主要的类型:
相关特征:对于学习任务(例如分类问题)有帮助,可以提升学习算法的效果;
无关特征:对于算法没有任何帮助,不会给算法的效果带来任何提升。
冗余特征:不会对我们的算法带来新的信息,或者这种特征的信息可以由其他的特征推断出
比如:平均成绩可以用总成绩除以课程数
特征提取与特征选择
特征选择:从原始特征数据集中选择出子集,是一种包含的关系,没有更改原始的特征空间。
特征提取:主要是通过属性间的关系,如组合不同的属性得到新的属性。
两者的目的
降维,即减少属性(特征)的数量
降低学习任务的难度
提升模型的效率