每日一题:树模型为什么不需要归一化?
Posted Python学习与数据挖掘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题:树模型为什么不需要归一化?相关的知识,希望对你有一定的参考价值。
每日一题 精选常考面试题,将其汇总成专栏,利用零碎时间为职业保驾护航,建议大家独立思考答题。
资料专栏
题目
树模型为什么不需要归一化?
参考答案
树模型是找最佳分裂点,是否对数据进行归一化,不影响最佳分裂点的计算。此外,树模型是不进行梯度下降的,阶跃点是不可导的,并且求导没意义,也就不需要归一化。
既然树形结构(如决策树、RF)不需要归一化,那为何非树形结构比如Adaboost、SVM、LR、Knn、KMeans之类则需要归一化呢?
对于线性模型,特征值差别很大时,比如说LR,我有两个特征,一个是(0,1)的,一个是(0,10000)的,运用梯度下降的时候,损失等高线是椭圆形,需要进行多次迭代才能到达最优点。
但是如果进行了归一化,那么等高线就是圆形的,促使SGD往原点迭代,从而导致需要的迭代次数较少。
除了归一化,我们还会经常提到标准化,那到底什么是标准化和归一化呢?
标准化:特征均值为0,方差为1
公式:
归一化:把每个特征向量(特别是奇异样本数据)的值都缩放到相同数值范围,如[0,1]或[-1,1]。
最常用的归一化形式就是将特征向量调整为L1范数(就是绝对值相加),使特征向量的数值之和为1。
而L2范数就是欧几里得之和。
data_normalized = preprocessing.normalize( data , norm=“L1” )
公式:
这个方法经常用于确保数据点没有因为特征的基本性质而产生较大差异,即确保数据处于同一数量级(同一量纲),提高不同特征数据的可比性。
技术交流
欢迎转载、收藏、有所收获点赞支持一下!
目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友
- 方式①、发送如下图片至微信,长按识别,后台回复:加群;
- 方式②、添加微信号:dkl88191,备注:来自CSDN
- 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
以上是关于每日一题:树模型为什么不需要归一化?的主要内容,如果未能解决你的问题,请参考以下文章