C4.5连续值处理方法 & 常见连续值处理方法

C4.5连续值处理方法

1.二分法:

 说白了,就是按照连续值进行排序,根据数值生成n-1个平均值(上述计算公式);

例子:

 密度进行信息增益计算:

(1)原始score集合:{a1,a2,……,an}= {0.697,0.774,0.634,0.608,0.556,0.403,0.481,0.437,0.666,0.243,0.245,0.343,0.639,0.657,0.360,0.593,0.719} 

(2)sort之后score集合:{a1,a2,……,an}={0.243,0.245,0.343,0.360,0.437,0.481,0.556,0.593,0.608,0.634,0.639,0.657,0.666,0.697,0.719,0.774}

 (3)平均值:{a1,a2,……,an}= {0.244 , 0.294, 0.351, 0.381, 0.420, 0.459, 0.518,0.574, 0.600, 0.621, 0.636, 0.648, 0.661, 0.681, 0.708, 0.746}.

(4)分别计算a1,a2,…,an的信息增益;

 

 (4)选择信息增益最大的结果作为分裂点,Gain(D,a,t)=0.263(t=0.381)z q z q

常见连续值处理方法

背景:当点击数量分别为1和2时,不能说明2一定就比1好;

常见方法:

(1)归一化

归一化:1)把数据变成(0,1)或者(1,1)之间的小数。主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速。2)对不同特征维度的伸缩变换的目的是使各个特征维度对目标函数的影响权重是一致的,即使得那些扁平分布的数据伸缩变换成类圆形。这也就改变了原始数据的一个分布;

归一化作用

        1.数据被限定在一定的范围内,从而消除奇异样本数据导致的不良影响;

        2.归一化后加快了梯度下降求最优解的速度(训练过程中,没有经过归一化的数据梯度寻优波动比较大,经过归一化后,梯度寻优波动较小);

        3.归一化有可能提高精度(如KNN,距离的计算依赖较大的那些特征)

a.max-min归一化

b.均值归一化

c. 小数位数归一化

d.向量归一化

e.指数归一化(softmax,sigmoid)

f.均值方差归一化

 公式:

(2)标准化

标准化:不改变数据的分布,只会改变数据分布的均值和方差;在机器学习中,我们可能要处理不同种类的资料,例如,音讯和图片上的像素值,这些资料可能是高维度的,资料标准化后会使每个特征中的数值平均变为0(将每个特征的值都减掉原始资料中该特征的平均)、标准差变为1,这个方法被广泛的使用在许多机器学习算法中(例如:支持向量机、逻辑回归和类神经网络)。

标准化作用:

        1.不同度量特征之间具有可比性,对目标函数的影响提现在几何分布上,而不是数值上

        2.不改变原始数据的分布, 好处在于进行特征提取时,忽略掉不同特征之间的一个度量,而保留样本在各个维度上的信息(分布)

公式:x* = (x - μ ) / σ

其中μ为所有样本数据的均值,σ为所有样本数据的标准差。

(3)离散化

数据离散化(也叫数据分组)是指将连续的数据进行分组,使其变为一段段离散化的区间,离散化后的特征根据其所在的组进行One-Hot编码。

  • 二值化分组

    二值化分组比较好理解,即将离散特征根据某个值划分成两个字段。
  • 等宽分组

    等宽分组的原理是,根据分组的个数得出固定的宽度,分到每个组中的变量的宽度是相等的。
  • 等频分组

    等频分组也叫分位数分组,即分组后每组的变量个数相同。
  • 单变量分组

    单变量分组也叫秩分组。其原理是:将所有变量按照降序或升序排序,排序名次即为排序结果,即将值相同的变量划分到同一组。
  • 基于信息熵分组

(4)缺失值处理

        1.删除缺失值数据:当缺失值数据是完全缺失,且数据量比较少时,可直接删除缺失谁

        2.插补缺失值

                a.均值

                b.利用同类均值插补

                c.极大似然估计:常见EM方法,适用于大样本;缺失:计算复杂,可能陷入局部极值;

                d.多重插补:多值插补的思想来源于贝叶斯估计,认为待插补的值是随机的,它的值来自于已观测到的值。具体实践上通常是估计出待插补的值,然后再加上不同的噪声,形成多组可选插补值。根据某种选择依据,选取最合适的插补值。

                常见方法为前2种;

归一化和标准化区别和联系

联系:归一化和标准化都是对数据的线性变换;二者都不会改变原始数据排列顺序的线性变换;当模型没有涉及对距离的计算,没有关于对变量间标准差的衡量。则不需要进行归一化和标准化;

区别:

        1.归一化会严格限定变换后数据的范围,比如[0,1];而标准化没有严格的区间,变换后的数据没有范围,只有其均值为0,标准差为1;

        2.归一化对数据的缩放比例仅仅和极值有关,除去极大值和极小值其他数据都更换掉,缩放比例Xmax-Xmin是不变的;标准化,除去极大值和极小值其他数据都更换掉,那么均值和标准差大概率会改变,这时候,缩放比例自然也改变了;

用法:

        如果把所有维度的变量一视同仁,在最后计算距离中发挥相同的作用应该选择标准化,如果想保留原始数据中由标准差所反映的潜在权重关系应该选择归一化。另外,标准化更适合现代嘈杂大数据场景。

标准差和方差的联系

统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数;标准差是总体各单位标准值与其平均数离差平方的算术平均数的平方根。

参考文献:

特征工程|连续特征的常见处理方式(含实例)_abcdefg90876的博客-CSDN博客

标准差和方差的关系_高三网

方差、标准差、均方差、均方误差(MSE)区别总结 - 知乎

归一化和标准化区别_bl128ve900的博客-CSDN博客_归一化和标准化的区别

https://www.zhihu.com/question/20467170一篇文章告诉你标准化和归一化的区别? _融融网

标准化和归一化什么区别? - 知乎

归一化 (Normalization)、标准化 (Standardization)和中心化/零均值化 (Zero-centered) - 简书

数据缺失值的4种处理方法 - 黎嫣 - 博客园

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: MATLAB C4.5算法实现是一种机器学习算法,其目的是用来通过一个具有多个属性的数据集来学习分类模型。这个算法首先需要对数据进行预处理,并进行属性选择,然后通过决策树的生成和修剪来构建最终的分类模型。 在C4.5算法中,数据预处理包括去除缺失和异常、数据规范化和去除冗余属性等步骤。属性选择是指从数据集中选择最佳的属性来构建决策树,其目的是使得构建的决策树能够最大程度地区分不同类别的数据。 决策树的生成过程中,首先选择一个属性作为根节点,然后对每个属性进行判断。如果该属性对应的样本已经全部属于同一类别,则该属性成为叶节点。否则,对这个属性下的样本继续进行属性选择,直到所有的样本都被划分到同一类别。 在决策树构建完成之后,需要进行剪枝操作来避免决策树的过拟合。具体的剪枝策略包括预剪枝和后剪枝,其目的是通过限制决策树的复杂度来提高分类的准确性。 总体来说,MATLAB C4.5算法实现是一种比较成熟的机器学习算法,适用于对具有多个属性的数据集进行分类建模和预测。其具体实现需要注意数据预处理、属性选择和决策树剪枝等步骤。 ### 回答2: MATLAB是一款强大的数学软件,是工程师和科学家用于分析数据、绘制图表及进行数值计算的标准工具。其中MATLAB 4.5提供了许多算法实现。下面介绍其中一些常见算法实现: 1. 线性回归:线性回归是一种用于分析和预测两个连续变量关系的统计方法。MATLAB可以使用regress函数对线性回归进行实现。 2. 插法:插法是一种从已知数据中推断未知数据的方法。MATLAB可以使用interp1、interp2和interp3等函数对插法进行实现。 3. 傅里叶变换:傅里叶变换是一种将任何周期信号分解成一系列正弦波的方法。MATLAB可以使用fft函数对傅里叶变换进行实现。 4. 移动平均:移动平均是一种平滑时间序列数据的方法。MATLAB可以使用smooth函数对移动平均进行实现。 5. 卷积:卷积是一种将两个信号相乘并积分来获得输出信号的方法。MATLAB可以使用conv函数对卷积进行实现。 总之,MATLAB提供了许多常用的算法实现,可以帮助工程师和科学家分析数据、预测趋势等,提高工作效率和精度。 ### 回答3: MATLAB是一种常用的数学计算和数据分析软件,C4.5算法是一种常用的决策树算法。在MATLAB中,可以通过编程来实现C4.5算法。 具体实现思路是: 1.加载数据集:可以使用MATLAB自带的数据集或自己准备数据集,通过函数importdata或xlsread将数据导入MATLAB。 2.数据预处理:将数据进行预处理,比如删除缺失或对离散数据进行二化等。 3.构建决策树:根据C4.5算法,选择最优特征进行切分,递归地构建决策树。 4.剪枝:为了避免过拟合,需要对决策树进行剪枝。 5.测试:使用测试数据集来测试决策树的准确性。 6.预测:利用构建好的决策树来预测新的数据。 在MATLAB中,可以使用函数fitctree和predict来实现决策树的构建和预测。同时也可以利用相关函数对决策树进行剪枝。需要注意的是,为了使C4.5算法得到更好的性能,需要合理地选择特征切分的准则和剪枝的参数等。 以上就是MATLAB实现C4.5算法的基本思路和方法。根据实际需求,可以进一步完善和优化算法实现过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值