[每日问答]离散化的作用是什么?

一:定义

离散化指把连续型数据切分为若干“段”,是数据分析中常用的手段。切分的原则有等距,等频,优化,或根据数据特点而定。


二:具体方式

1.等距
将连续型变量的取值范围均匀划成n等份,每份的间距相等。例如,客户订阅刊物的时间是一个连续型变量,可以从几天到几年。采取等距切分可以把1年以下的客户划分成一组,1-2年的客户为一组,2-3年为一组..,以此类分,组距都是一年。等距可以保持数据原有的分布,段落越多对数据原貌保持得越好。

2.等频

把观察点均匀分为n等份,每份内包含的观察点数相同。还取上面的例子,设该杂志订户共有5万人,等频分段需要先把订户按订阅时间按顺序排列,排列好后可以按5000人一组,把全部订户均匀分为十段。等频处理则把数据变换成均匀分布,但其各段内观察值相同这一点是等距分割作不到的。

3.优化离散
需要把自变量和目标变量联系起来考察。切分点是导致目标变量出现明显变化的折点。常用的检验指标有卡方,信息增益,基尼指数,或WOE(要求目标变量是两元变量)。


三:优点

1.算法需要
例如决策树,NaiveBayes等算法本身不能直接使用连续型变量,连续型数据只有经离散处理后才能进入算法引擎。

2.对异常数据有很强的鲁棒性
比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰。

3.有利于对非线性关系进行诊断和描述
对连续型数据进行离散处理后,自变量和目标变量之间的关系变得清晰化。如果两者之间是非线性关系,可以重新定义离散后变量每段的取值,如采取0,1的形式,由一个变量派生为多个哑变量,分别确定每段和目标变量间的联系。这样做,虽然减少了模型的自由度,但可以大大提高模型的灵活度。

4.加快运算速度
稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展。

5.特征交叉
离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力。

6.模型更加稳定
特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问。


四:参考文献

1.http://blog.sina.com.cn/s/blog_652090850100ynds.html
2.https://www.zhihu.com/question/31989952

猜你喜欢

转载自blog.csdn.net/cloud_xiaobai/article/details/71566658
今日推荐