❤️Python机器学习❤️--XGBoost模型不要求数据标准化详情
在使用机器学习模型之前,通常我们会对数据进行预处理,来消除noise、提升模型表现。通常根据不同模型的不同性质,需要进行的预处理也不尽相同。那么,对于当下数据分析竞赛中非常火的XGBoost来说,转化为正态分布、去除极端值、Normalization等数据预处理是否有必要呢?本文就来具体地分析一下。
一、XGBoost需要去除异常值
异常值是现实生活中不太可能取到的值,通常是人为原因导致的数据记录错误。
有一些值我们明显发现是错误的、异常的。例如一个人的身高不可能是10m,一个人的体重不可能是875kg。对于异常的数据,现实中不太可能发生的,我们需要删除。
二、基于决策树的模型与线性回归的区别
在一些经济学文献中经常用到的数据预处理方法,在决策树模型中是不需要的。主要原因是:
经济学文献中经常用到的是参数模型,它们会提前假设数据的分布,例如线性(最常见的)、指数(科布道格拉斯生产函数)、logistic(二分类问题)等等,这一分布在模型学习之前就假设为已知的、确定的、不可变的,模型学习过程中可以变的只是各个自变量的系数,也就是参数。模型回归的过程,就是找到一组参数,让这个预先假定的分布去拟合数据。因此我们对于自变量的分布、极端值等情况会有很高的要求。
但是,决策树模型并不会预先假设数据的分布,而是直接学习features和label时间的关系,直接从数据中学习。虽然决策树模型也要调整参数,但是这个是算法的参数,而不是关于数据的参数。它使得我们的注意力从数据的特点转移到算法的属性上了。
三、XGBoost不要求数据是正态分布的
基于决策树的算法对数据的分布没有要求,因为它的原理是做分段的常数预测。因此,基于决策树的算法对于features的值不敏感,它仅仅利用features的大小顺序进行预测。因此,我们不需要担心有一些features不是正态分布的。当然了,我们是可以对X进行单调变换,但是这不会影响决策树的预测。
四、XGBoost不要求去除极端值或者winsorize
对于线性模型来说,数据集的长尾特性带来的噪音确实是会影响模型表现的。但是对于基于决策树的模型来说这就不是问题了,删除那些较大或者较小的值反而会使我们的模型产生偏差。因此我们不应该去除极端值或者winsorize,否则有可能把对于分类有帮助的信息删除了。
*winsorize的含义:例如一个数据集里面某一个x的值,95%的样本都是小于100的,那么剩下5%的也就是大于100%的数全部用100表示,来去除极端值影向。
如果我们实在是担心长尾问题,那么建议通过做单调变换来解决这个问题,这样我们数据的scale就会很好看,同时也不会改变数据的顺序。例如我们可以用下面的方法来变换某一个feature:
对于比较小的x,例如-α<X<α,这个函数接近于恒等式;对于比较大的x,这个函数会将其缩小到接近于0;与此同时,这个函数还保证了单调性不变,因此不会带来信息损失。
如果我们去除极端值,我们确实可以阻止模型在很高或者很低的点分割数据及,但是这种限制不会使得模型更好地拟合训练集。
当我们的数据集比较大的时候(例如超过10万条),只要我们控制好模型的复杂度(例如treesize、number of trees),模型是不容易受到过拟合的影响的。在这种情况下,限制模型在较高或者较低的点分割数据集,甚至会导致在test data set上面的表现。
五、XGBoost不要求Normalization
XGBoost不需要Normalization,这一点已经由XGBoost算法的发明者陈天奇(tqchen)亲自确认。
注:
*Normalization可以理解为“归一化”,通常等同于Min-Max scale。具体公式为:
具体效果是,把一个feature的取值范围,均匀地压缩到[0,1]之i间。
*另外一个比较相近的概念是standardization,可以理解为“标准化”。具体公式为:
具体效果为,把一个feature转换成均值为0、方差为1的分布。
*比较容易混淆的点在于,宽泛地说,normalization是可以包含standardization的。
standardization的另一个名字就是Z-score normalization。因此,standardization可以理解为一种特殊的normalization。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggcebk
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01