Xgboost其实是将弱分类器组合起来的一种算法
核心在于加入新分类器后提升预测能力


惩罚项:欧米伽ft
其中γ是惩罚力度,T是树的个数,w是权重

Xgboost Python实例:
数据集展示:

import xgboost
# First XGBoost model for Pima Indians dataset
from numpy import loadtxt
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# load data
dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",")
# split data into X and y
X = dataset[:,0:8]
Y = dataset[:,8]
# split data into train and test sets
seed = 7
test_size = 0.33
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=test_size, random_state=seed)
# fit model no training data
model = XGBClassifier()
model.fit(X_train, y_train)
# make predictions for test data
y_pred = model.predict(X_test)
predictions = [round(value) for value in y_pred]
# evaluate predictions
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))

需要用到xgboost模块
from xgboost import XGBClassifier
还用到了准确率测算模块
from sklearn.metrics import accuracy_score

from numpy import loadtxt
from xgboost import XGBClassifier
from xgboost import plot_importance
from matplotlib import pyplot
# load data
dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",")
# split data into X and y
X = dataset[:,0:8]
y = dataset[:,8]
# fit model no training data
model = XGBClassifier()
model.fit(X, y)
# plot feature importance
plot_importance(model)
pyplot.show()

# Tune learning_rate
from numpy import loadtxt
from xgboost import XGBClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import StratifiedKFold
# load data
dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",")
# split data into X and y
X = dataset[:,0:8]
Y = dataset[:,8]
# grid search
model = XGBClassifier()
learning_rate = [0.0001, 0.001, 0.01, 0.1, 0.2, 0.3]
param_grid = dict(learning_rate=learning_rate)
kfold = StratifiedKFold(n_splits=10, shuffle=True, random_state=7)
grid_search = GridSearchCV(model, param_grid, scoring="neg_log_loss", n_jobs=-1, cv=kfold)
grid_result = grid_search.fit(X, Y)
# summarize results
print("Best: %f using %s" % (grid_result.best_score_, grid_result.best_params_))
means = grid_result.cv_results_['mean_test_score']
params = grid_result.cv_results_['params']
for mean, param in zip(means, params):print("%f  with: %r" % (mean, param))

1.learning rate
2.tree
max_depth
min_child_weight
subsample, colsample_bytree
gamma
3.正则化参数
lambda
alpha 
xgb1 = XGBClassifier(learning_rate =0.1,n_estimators=1000,max_depth=5,min_child_weight=1,gamma=0,subsample=0.8,colsample_bytree=0.8,objective= 'binary:logistic',nthread=4,scale_pos_weight=1,seed=27)

集成算法-Xgboost相关推荐

  1. xgboost简单介绍_好文干货|全面理解项目中最主流的集成算法XGBoost 和 LightGBM

    点击上方"智能与算法之路",选择"星标"公众号 第一时间获取价值内容 本文主要介绍基于 Boosting 框架的主流集成算法,包括 XGBoost 和 Ligh ...

  2. 【机器学习】XGBoost集成算法——(理论+图解+python代码比较其他算法使用天池蒸汽数据)

    一.集成算法思想 二.XGBoost基本思想 三.用python实现XGBoost算法 在竞赛题中经常会用到XGBoost算法,用这个算法通常会使我们模型的准确率有一个较大的提升.既然它效果这么好,那 ...

  3. 以XGBoost为代表的集成算法体现的哲学思想与数学技巧

    目录 哲学思想一:抓住主要矛盾 为什么AdaBoost要增加前一次错分样本的权重? 为什么lightGBM可以忽略梯度小的样本? 哲学思想二: 矛盾在一定条件下是可以相互转化的. 为什么随机森林比单一 ...

  4. 集成学习-Boosting集成学习算法XGBoost

    XGBoost全名叫(eXtreme Gradient Boosting)极端梯度提升,经常被用在一些项目中,其效果显著.它是大规模并行boosted tree的工具,它是目前最快最好的开源boost ...

  5. halcon机器视觉算法原理与编程实战_快速弄懂机器学习里的集成算法:原理、框架与实战...

    作者:  博观厚积 简书专栏:https://www.jianshu.com/u/2f376f777ef1 1. 关于集成学习算法 集成学习算法,通俗地讲就是:三个臭皮匠,顶个诸葛亮,这在很多地方都有 ...

  6. 数据挖掘:模型选择——集成算法与树模型

    之前介绍的树模型属于弱学习器,本身的算法比较简单,但是与集成算法合并后,会产生更好的效果.比如:决策树+bagging=随机森林:决策树+boosting=提升树 这里先简单介绍下集成算法,然后对随机 ...

  7. 10- 天猫用户复购预测 (机器学习集成算法) (项目十) *

    项目难点 merchant:  商人 重命名列名:  user_log.rename(columns={'seller_id':'merchant_id'}, inplace=True) 数据类型转换 ...

  8. 2022国赛数学建模思路 - 案例:集成算法AdaBoost

    2022 高教社杯(国赛数学建模)思路解析 2022高教社杯ABCD赛题思路解析: https://blog.csdn.net/dc_sinor/article/details/126211983 集 ...

  9. 集成算法终极模型之《神器LightGBM》—最后的高山

    关注+星标,听说他有点东西 全文共 6481 字,阅读全文需 16 分钟 写在前面的话 大家好,我是小一 2021 年第一篇文章,还是决定用 6000 多字的技术文来开篇. 今天的文章是机器学习算法里 ...

最新文章

  1. 你知道我今天为什么来公司上班吗?
  2. interrupt 1 using 1
  3. Anaconda:Anaconda安装图文教程及其tensorflow安装、运行、测试之最强详细攻略
  4. 神经网络 梯度下降_梯度下降优化器对神经网络训练的影响
  5. Appium环境搭建-完整版
  6. css中如何实现帧布局_浅谈web前端中的表格布局与CSS盒子布局
  7. android 默认焦点设置_Android界面设计基础:控件焦点4个步骤
  8. 更自由的阿里云API工具JCLI
  9. Linux 命令(53)—— exit 命令(builtin)
  10. 【渝粤教育】国家开放大学2018年春季 8639-22T食品营养与健康 参考试题
  11. 泛函密度 matlab,【讨论】密度泛函理论中“密度”究竟指什么 - 计算模拟 - 小木虫 - 学术 科研 互动社区...
  12. XGBoost和LightGB
  13. 实验一 MATLAB数字图像处理基本操作
  14. 论文参考文献DOI含义
  15. 计算机科学技术对教育的影响,计算机科学技术在计算机教育中的应用分析(原稿)...
  16. 计算机动画电影英语翻译,“动画电影”英语怎么说
  17. api—淘宝图片上传
  18. 千兆路由器怎么设置网速最快_tp无线路由器怎么设置网速最快
  19. 为什么会用到浅拷贝和深拷贝
  20. MC最强辅助模组,有了它从此下矿再也不怕了

热门文章

  1. Science | 化学合成文献数字化自动执行通用系统
  2. Nat. Mach. Intell.| 机器学习显著降低药物组合筛选成本
  3. ls 中一些你不知道的事
  4. datagridvie设置行高列宽_DataGridView使用技巧(七、设定列宽和行高自动调整)----.NET...
  5. GCB:生态中心邓晔组-增温改变了微生物相互作用关系
  6. 潜心学术,我删除了无数公众号,却将这10个置顶
  7. 11月4日下午:植物保护高端论坛 (白洋、韦中)
  8. NC:多样性激发的确定性细菌装配过程限制了群落功能
  9. Science:又一明星菌群可以调控肠道免疫?
  10. 易生信-扩增子教程02-真菌引物选择