XGBoost初识

1.原子序数的提取:  双能量X射线材料分辨特性与有效原子序数关系分析 - 豆丁网

2.XGBoost算法:https://m.opticsjournal.net/Articles/OJ73c554a3b191e34/FullText 

3.XGBoost包含的两种接口: 机器学习:xgboost原生库接口(陈天奇) && xgboost的sklearn接口 - 掘金 

两种使用方式的区别: 建模流程略有不同:原生库的数据必须封装在DMatrix()中,再进行训练;sklearnAPI没有数据封装的过程; 原生XGBoost库的大部分参数通过params参数传递;sklearnAPI没有params这个参数,所有参数都是直接在类里面赋值,比如XGBRegressor()回归类,XGBClassifier()分类类。 原生XGBoost库的train()函数即可用来处理分类问题,也可用来处理回归问题,具体是处理什么问题,是通过params参数中的objective参数来指定的。 sklearnAPI分别封装了分类函数与回归函数,XGBRegressor()回归类,XGBClassifier()分类类。

作者:HZ在掘金
链接:https://juejin.cn/post/7125829345897087013
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 具体详细参数说明:xgboost的sklearn接口和原生接口参数详细说明及调参指点 - wzd321 - 博客园

Xgboost回归四种调参方法及Python简单实现_井底哇哇的博客-CSDN博客_from xgboost.sklearn import xgbregressor 

1.booster

        用于指定弱学习器的类型,默认值为 ‘gbtree’,表示使用基于树的模型进行计算。还可以选择为 ‘gblinear’ 表示使用线性模型作为弱学习器。

 推荐设置为 ‘gbtree’,本文后面的相关参数设置都以booster设置为’gbtree’为前提。

2. learning_rate

        即是eta,为了防止过拟合,更新过程中用到的收缩步长,使得模型更加健壮。每次提升计算之后,算法会直接获得新特征的权重,eta通过缩减特征的权重使提升计算过程更加保守,缺省值为0.3 取值范围为:[0,1]。典型值一般设置为:0.01-0.2。

3.max_depth:int |每个基本学习器树的最大深度,可以用来控制过拟合。典型值是3-10 

4.gamma

       Gamma指定了节点分裂所需的最小损失函数下降值。这个参数的值越大,算法越保守。指定叶节点进行分裂所需的损失减少的最小值,默认值为0。设置的值越大,模型就越保守。推荐的候选值为:[0, 0.05 ~ 0.1, 0.3, 0.5, 0.7, 0.9, 1]

5. 

你可能感兴趣的:(python,python)