机器学习中,离散化,特征归一化等等,这些都是很重要的数据处理方式,所以在这里进行简单的解释我的理解.
简介
-
离散化
- 为什么离散化
- 离散化的优势
-
特征归一化
- 标准化
-
变量编码方式
-
cut与qcut
离散化
定义:离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。
例如:原数据:1,999,100000,15;处理后:1,3,4,2;原数据:{100,200},{20,50000},{1,400};处理后:{3,4},{2,6},{1,5};(定义来自百度百科)
通常情况下,我们认为的离散性变量是非数值性变量,例如:男,女;老,少等,我们进行数据离散化也可以是使男->1,女->0,这样用数值性数据进行代替,能方便我们后续的计算.
一.为什么离散化
数据离散化是指将连续的数据进行分段,使其变为一段段离散化的区间。分段的原则有基于等距离、等频率或优化的方法。数据离散化的原因主要有以下几点:
1.方便算法需要
例如决策树、朴素贝叶斯等算法,都是基于离散型的数据展开的。如果要使用该类算法,必须将离散型的数据进行。有效的离散化能减小算法的时间和空间开销,提高系统对样本的分类聚类能力和抗噪声能力。
2.离散化的特征相对于结构复杂的连续型特征更易理解
比如工资收入,月薪2000和月薪20000,从连续型特征来看高低薪的差异还要通过数值层面才能理解,但将其转换为离散型数据(底薪、高薪),则可以更加直观的表达出了我们心中所想的高薪和底薪。
3.可以有效克服数据中隐藏的缺陷,使模型结果更加稳定
二.离散化的优势
-
离散特征的增加和减少都很容易,易于模型的快速迭代;
-
稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;
-
离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄