sklearn-梯度提升分类

GradientBoostingClassifier(1.11.4.1)
Gradient Boosting for classification,梯度提升分类。

参数:

1、loss : {‘deviance’,‘exponential’}, optional (default=‘deviance’),优化的损失函数,‘deviance’,代表分类的概率输出的偏差。对于‘exponential’损失的梯度上升,还原成AdaBoost算法。

2、learning_rate : float, optional (default=0.1),学习率。学习率通过“learning_rate”来减少每棵树的贡献,需要在learning_rate和n_estimators之间权衡,通常来说learning_rate越小,n_estimators越大。

3、n_estimators : int (default=100),梯度提升的迭代次数,也是弱学习器的数目。梯度提升对于过拟合是相当可靠的,所以一个大的数字通常会带来更好的性能。

4、max_depth : integer, optional (default=3),个体回归估计器的最大深度,最大深度限制了树中节点的数量。调优该参数以获得最佳性能;最好的值取决于输入变量的相互作用。

5、criterion : string, optional (default=”friedman_mse”),衡量分割质量的函数。支持的标准有Friedman的“friedman_mse”即改进分数的均方误差;“mse”均方误差;“mae”平均绝对误差。默认值“friedman_mse”通常是最好的,因为它可以在某些情况下提供更好的近似值。

6、min_samples_split : int, float, optional (default=2),分割一个内部结点所需要的最小样本数。如果是int,则最小值是min_samples_split。如果是float,则最小值是(min_samples_split * n_samples)。

7、min_samples_leaf : int, float, optional (default=1),一个叶子节点所需要的最小样本数。如果是int,则最小值是min_samples_leaf。如果是float,则最小值是(min_samples_leaf * n_samples)。

8、min_weight_fraction_leaf : float, optional (default=0.),一个叶子节点所需要的最小权重占所有权重(全部输入)的分数。当sample_ weight不提供的时候,样本权重相等。取值范围[0.0,0.5]

9、subsample : float, optional (default=1.0),用于拟合独立基学习器的样本的比例。如果比1.0小,将导致随机梯度提升。subsample和n_estimators之间相互作用。选择subsample<1.0,导致了方差减少,偏差增加。

10、max_features : int, float, string or None, optional (default=None),在寻找最佳分割时需要考虑的特性数量:如果是int,每次分割时,都考虑max_features个特征;如果是float,则max_features是百分比,每次分割时考虑int(max_features * n_features) 个特征;如果“auto”,则max_features=sqrt(n_features);如果是“sqrt”,则max_features=sqrt(n_features);如果是“log2”,则max_features= log2(n_features);如果是None则max_features=n_features。
选择max_features < n_features会引起,方差减少,偏差增加。

11、max_leaf_nodes : int or None, optional (default=None),以最佳优先的方式构成max_leaf_nodes个节点的树。最优节点被定义为,不纯度相对低的减少率。如果是None,则不限制叶子结点的数目。

12、min_impurity_split : float,树生成的过程中早期停止的阈值。一个节点的不纯度如果高于阈值,它将会被分裂,否则它就是一个叶子结点。

13、min_impurity_decrease : float, optional (default=0.),如果分裂导致的不纯度减少大于等于这个值,那么一个节点将会被分裂。
加权的不纯度减少的公式如下:
N_t / N * (impurity - N_t_R / N_t * right_impurity
- N_t_L / N_t * left_impurity)
N是所有的样本数,N_t是当前节点的样本数,N_t_L是左子树的样本数,N_t_R是右子树的样本数。
如果sample_weight被传值,N, N_t, N_t_R and N_t_L也适用于加权和。

14、init : BaseEstimator, None, optional (default=None),一个估计器对象,被用于计算最初的预测值。init提供fit和predict,如果为None,它就调用loss.init_estimator。

15、verbose : int, default: 0,冗长输出。

16、warm_start : bool, default: False,热启动。

17、random_state : int, RandomState instance or None,optional (default = None),随机数种子。

18、presort : bool or ‘auto’, optional (default=’auto’),是否对数据进行预分类,以加快在拟合过程中找到最佳分割的结果。在默认情况下“auto”模式,会在密集的数据集上使用预分类,在稀疏的数据集上使用正常的分类。在稀疏数据集上设置为True为导致错误。

属性:

1、feature_importances_ : array, shape = [n_features],特征重要性,值越大,特征越重要。

2、oob_improvement_ : array, shape = [n_estimators],在包外样本上的损失的提升 (= deviance),和上次迭代有关联。oob_improvement_[0]是初始估计器(init ),第一步的损失提升。

3、train_score_:array,shape=[n_estimators],第i个分数train_score_[i]是模型的偏差(=loss),在包内样本的第i次迭代中。如果subsample == 1,这就是训练数据中的异常值。

4、loss_ : LossFunction,具体的LossFunction对象。

5、init : BaseEstimator,提供初始预测的估计量。通过init或者loss.init_estimator设置。

6、estimators_:ndarray of DecisionTreeRegressor,shape= [n_estimators,loss_.K],子估计器的集合,loss_.K为1则是二分类,否则就是n_classes。

方法:
1、apply(X[, check_input]),返回每个样本所预测的叶子的索引。
2、decision_path(X[, check_input]),返回树中的决策路径。
3、fit(X, y[, sample_weight, check_input, …]),拟合。
4、get_params([deep]),得到参数。
5、predict(X[, check_input]),预测。
6、predict_log_proba(X),预测输入样本X的对数概率。
7、predict_proba(X[, check_input]),预测输入样本X的概率。
8、score(X, y[, sample_weight]),返回给定测试数据和标签的平均精度。
9、set_params(**params),设置参数。
10、staged_decision_function(X),计算每次迭代的X的决策函数。
11、staged_predict(X),在每个阶段对X的类别进行预测。
12、staged_predict_proba(X),预测X的每个阶段的类概率。

实验数据是手写数字识别的数据。在调参的过程中:
1、learning_rate的修改会对acc有较大的影响,默认0.1,这里使用了默认值。
2、n_estimators是弱学习器的数量,值越大,时间越长,默认100,在一定范围内,增大这个数据会提升正确率,但是到一定程度以后再增大数据,对正确率的提升影响不大,还会使得运行时间很长。
3、subsample是基学习器的样本比例,在一定范围内值的增加会提升正确率,但是超过这个阈值之后又会有所下降。总体来说对正确率的影响不大。
4、criterion,有三种评价指标,还是friedman_mse的效果最好,note里面也提到了,保持默认。
5、min_samples_split,修改数值对acc的影响不大,较小的值效果较好,请保持默认值。
6、min_samples_leaf,同上。
7、min_weight_fraction_leaf,[0.0,0.5],值越小,正确率越高,请保持默认。
8、max_depth,修改数值对acc影响不大,请保持默认值。
9、min_impurity_decrease,较小的值,效果较好,但总体变化不大,请保持默认值。
10、min_impurity_split,这个参数会在0.21版本中被删除,由min_impurity_decrease代替,实际上这两个参数的意义差不多,变化规律也差不多,请保持默认值。
11、max_feature,可以这样调节,先使用None,“auto”,“log2”,“sqrt”,看一下哪个最大,取值为多少,比如,我的属性值为65个,选择sqrt时的正确率最高,因此sqrt(65)约为8,尝试8和9以及sqrt相对比哪个最大。结果9时正确率最高。
12、max_leaf_nodes,默认None是不限制,在一定范围内,随着参数取值的增大,acc会变大,到达某一取值时,acc的结果开始在几个取值之间震荡,然后到达最大值,紧接着会过拟合,值会略微减小,过拟合之后的acc值就不变了。选择None时,可以找到最大值,因此请保持默认。
13、warm_start和presort都请保持默认值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342