高级算法梳理第三天

CART树
Classification And Regression Tree(CART)是决策树的一种,,CART算法既可以创建分类树,也可以用于创建回归树、模型树,两者在建树的过程中稍有偏差
CART算法流程:

  1. 若满足停止分裂条件(样本个数小于预定阈值,或Gini指数小于预定阈值(样本基本属于同一类,或没有特征可供分裂),则停止分裂;
  2. 否则,选择最小Gini指数进行分裂;
  3. 递归执行1-2步骤,直至停止分裂。

算法原理
xgboost对应就是一堆CART树。算法思想就是不断地添加树,不断地进行特征分裂来生长一棵树,每次添加一个树,其实是学习一个新函数,去拟合上次预测的残差。当我们训练完成得到k棵树,我们要预测一个样本的分数,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数,最后只需要将每棵树对应的分数加起来就是该样本的预测值。
损失函数
在这里插入图片描述
第一项为训练误差,第二项为正则化项,用来刻画模型的复杂程度。具体形式将在(5.正则化)中介绍。
分裂节点算法
基于空间切分去构造一颗决策树是一个NP难问题,我们不可能去遍历所有树结构,因此,XGBoost使用了和CART回归树一样的想法,利用贪婪算法,遍历所有特征的所有特征划分点,不同的是使用上式目标函数值作为评价函数。具体做法就是分裂后的目标函数值比单子叶子节点的目标函数的增益,同时为了限制树生长过深,还加了个阈值,只有当增益大于该阈值才进行分裂。
正则化
正则化是为了解决过拟合性,欠拟合线。我们可以通过正则化来增加惩罚项来解决这些过拟合性或者欠拟合性的偏差。

对缺失值处理
在训练的过程中会有一些缺失数据,我们可以暂时选择把这些缺失数据放在节点上。然后重点标注这些节点,可以大大的提高我们的效率
优缺点
优点:
使用正则化可以尽好的优化缺失数据等等。
缺点:
算法使用贪心算法,比较耗时

应用场景
进行分类数据,用回归预测

Sklearn参数

class sklearn.linear_model.LogisticRegression(

penalty=’l2’, 参数类型:str,可选:‘l1’ or ‘l2’, 默认: ‘l2’。该参数用于确定惩罚项的范数

dual=False, 参数类型:bool,默认:False。双重或原始公式。使用liblinear优化器,双重公式仅实现l2惩罚。

tol=0.0001, 参数类型:float,默认:e-4。停止优化的错误率

C=1.0, 参数类型:float,默认;1。正则化强度的导数,值越小强度越大。

fit_intercept=True, 参数类型:bool,默认:True。确定是否在目标函数中加入偏置。

intercept_scaling=1, 参数类型:float,默认:1。仅在使用“liblinear”且self.fit_intercept设置为True时有用。

class_weight=None, 参数类型:dict,默认:None。根据字典为每一类给予权重,默认都是1.

random_state=None, 参数类型:int,默认:None。在打乱数据时,选用的随机种子。

solver=’warn’, 参数类型:str,可选:{‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’}, 默认:liblinear。选用的优化器。

max_iter=100, 参数类型:int,默认:100。迭代次数。multi_class=’warn’, 参数类型:str,可选:{‘ovr’, ‘multinomial’, ‘auto’},默认:ovr。如果选择的选项是’ovr’,

那么二进制问题适合每个标签。对于“多项式”,最小化的损失是整个概率分布中的多项式损失拟合,即使数据是二进制的。当solver  ='liblinear’时,'multinomial’不

可用。如果数据是二进制的,或者如果solver =‘liblinear’,‘auto’选择’ovr’,否则选择’multinomial’。

verbose=0, 参数类型:int,默认:0。对于liblinear和lbfgs求解器,将详细设置为任何正数以表示详细程度。

warm_start=False, 参数类型:bool,默认:False。是否使用之前的优化器继续优化。

n_jobs=None,参数类型:bool,默认:None。是否多线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值