
在学习机器学习中,我看到了很多情况,看到很在处理数据时经常离散化连续特征. 我对此很好奇. 我为什么要这样做,在什么情况下应该这样做?

一,离散化的原因
数据离散化是指将连续数据分段为离散化段. 分割的原理是基于等距离,等频率或优化方法. 数据离散化的主要原因如下:
1. 算法需求
诸如决策树和朴素贝叶斯之类的算法均基于离散数据. 如果要使用这种算法,则必须执行离散数据. 有效的离散化可以减少算法的时间和空间开销,并提高系统对样本进行分类和聚类以及抵抗噪声的能力.
2. 离散特征比连续特征更易于理解,并且更接近知识水平的表达

例如,工资收入,月薪2000和月薪20000. 从连续性的特征来看,高低工资之间的差异只能通过数值级别来理解,但是可以更直观地转换为离散数据(基于薪水,高薪)表示我们要记住的高薪和基本薪水.
3. 它可以有效地克服数据中的隐患,使模型结果更加稳定
第二,离散化的优点
在工业界,连续值很少直接用作逻辑回归模型的特征输入. 取而代之的是,将连续要素离散为一系列0、1要素,并移交给逻辑回归模型. 这样做的优点包括:
1. 易于增加和减少离散特征,并且易于快速迭代模型;
2. 向量稀疏向量内积乘法运算快速,计算结果易于存储,易于扩展;
3. 离散特征对于异常数据非常健壮: 例如,年龄大于30的特征为1,否则为0. 如果不离散特征,则“年龄300岁”的异常数据将对模型造成极大干扰; <

4. Logistic回归属于广义线性模型特征离散化,具有有限的表示力;将单变量离散化为N后,每个变量都有一个单独的权重,这等效于将非线性引入模型中,从而可以提高模型的表达能力. 非常适合;
5. 离散化后,可以进行从M + N变量到M * N变量的特征转换,从而进一步引入非线性并提高表达能力;
6. 离散化特征后,模型将更稳定. 例如,如果您离散化用户的年龄,则将20到30用作间隔,并且不会因为用户年龄大了而成为完全不同的人. 当然,与区间相邻的样本恰好相反,因此如何划分区间是一门科学;
7. 在特征离散化之后,它起到简化逻辑回归模型的作用,并降低模型过度拟合的风险.
三,离散化方法
1. 无监督学习方法
等宽法

等宽方法是将属性值划分为相同宽度的间隔,间隔的数量k根据实际情况确定. 例如,属性值在[0,60]之间,最小值为0,最大值为60,我们想将其分为3个相等的部分,然后将间隔分为[0,20],[21 ,40],[41,60],每个属性值都对应于属于它的间隔
等频率法
等宽方法是将属性值划分为相同宽度的间隔,间隔的数量k根据实际情况确定. 例如,有60个样本,我们想将其分为3个部分,那么每个部分的长度为20个样本.
基于集群的方法
基于聚类的方法分为两个步骤,即:
选择要对其进行聚类的聚类算法
在同一群集中将属性值用作统一标签.

注: 基于聚类方法,应根据聚类算法的实际情况确定聚类数. 例如,对于k均值算法,簇数可以自己确定,但对于DBSCAN特征离散化,该算法将查找簇数.
2. 监督学习方法:
1R方法
基于信息熵的方法
基于卡方的方法
四个摘要
模型是使用离散特征还是连续特征实际上是在“大量离散特征+简单模型”和“少量连续特征+复杂模型”之间的权衡. 离散化的线性模型和连续特征以及深度学习都可以使用. 这取决于您是否喜欢抛弃功能或抛弃模型. 一般而言,前者很容易,可以与n个人同时完成,并具有成功的经验;后者目前非常好,还有待观察.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-174494-1.html
去查查马云