在kaggle等竞赛中时常可以看到xgb的身影。2016年,陈天奇在论文《 XGBoost:A Scalable Tree Boosting System》中正式提出该算法。XGBoost的基本思想和GBDT相同,但是做了一些优化,比如二阶导数使损失函数更精准;正则项避免树过拟合;Block存储可以并行计算等。XGBoost具有高效、灵活和轻便的特点,在数据挖掘、推荐系统等领域得到广泛的应用。在此简单总结一下常用代码。
假设已经下载好了xgb并准备好了train_x, train_y 与 test_x, test_y

分类

import xgboost as xgb
from xgboost import XGBClassifier
from matplotlib import pyplot as pltmodel = XGBClassifier()
model.fit(train_x, train_y )# feature importance
print(model.feature_importances_)'''
plot_importance 与 feature_importances 可能会出现不一致
这是因为model.feature_importances_的重要性排名默认使用gain,而xgb.plot_importance默认使用weight。
改一下就一样了
plot_importance(model,importance_type='gain')
'''# plot feature importance
plot_importance(model)
plt.show()# 预测
y_pred = model.predict(test_x)

预测

import xgboost as xgb
from xgboost import plot_importancemodel = xgb.XGBRegressor(max_depth=6, # 可以调节这些参数来改进模型效果learning_rate=0.12, n_estimators=90, min_child_weight=6, objective="reg:gamma")
model.fit(x_train, y_train)

特征重要性图像尺寸调整

import xgboost as xgb
from xgboost import plot_importance
from matplotlib import pyplot as pltfig,ax = plt.subplots(figsize=(10,6))# 调节图像尺寸
plot_importance(model,height=0.6,# 调节线宽ax = ax,max_num_features=64)#调节显示数目
plt.show()

特征重要性中文显示

import xgboost as xgb
from xgboost import plot_importance# model = xgb.XGBRegressor()  # sklearn接口
# model.fit(xgb_trainx, xgb_trainy)# 绘图显示中文
#newdf.columns[3:]
feature_names = list(newdf.columns[3:])    # 拿到所有的特征
# 原生接口
dtrain = xgb.DMatrix(xgb_trainx, label=xgb_trainy, feature_names=feature_names)
param = {}
model = xgb.train(param, dtrain)fig,ax = plt.subplots(figsize=(10,6))
plot_importance(model,height=0.6,# 调节线宽#ylabel=ttylab,ax = ax,max_num_features=10,#调节显示数目importance_type='gain')
plt.show()  # 挑选前3个特征

xgb的简单使用(特征选择,重要性图像绘制,分类,预测)相关推荐

  1. 基于gan和孪生网络框架,利用双时间光学遥感图像绘制滑坡清单Landslide Inventory Mapping Using Bi-Temporal Optical Remote Sensin

    Landslide Inventory Mapping Using Bi-Temporal Optical Remote Sensing Images Remote Sensing Images 基于 ...

  2. 计算机图形图像电影论文,计算机图形图像绘制技术地现状分析及应用发展.doc...

    计算机图形图像绘制技术地现状分析及应用发展 计算机图形图像绘制技术的现状分析及应用发展-计算机论文 计算机图形图像绘制技术的现状分析及应用发展 金晓倩 JIN Xiao-qian (四川建筑职业技术学 ...

  3. 计算机图形设计论文 真实图形生成技术的发展,绘制技术论文,关于计算机图形图像绘制技术的现状应用相关参考文献资料-免费论文范文...

    导读:这是一篇与绘制技术论文范文相关的免费优秀学术论文范文资料,为你的论文写作提供参考. (四川建筑职业技术学院,德阳618000) (Sichuan College of Architectural ...

  4. 对P5基本二维图像绘制库的交互性扩展

    5379@TOC 对P5基本二维图像绘制库的交互性扩展 因为课程需要接触学习了P5.js ,觉得还蛮有意思的 下面是对它的2D绘图函数的一些简单扩展. ///终于等到你/ 无非是用周期性.随机性.对称 ...

  5. 【Python气象绘图临摹】图像绘制(下):地理子图GeoAxes、xy轴设置、应用ncl色阶colormap、各标题、海岸线、添加文本、添加矩形框

    文章目录 前言 plt.fig.ax.三者绘制区别: GeoAxes地图投影:绘图投影和数据投影 x轴.y轴设置: 多个子图之间的间距调节: 图上添加文本.矩形框: python中ncl色阶color ...

  6. 【OpenCV】Chapter10.色彩转换与图像绘制

    最近想对OpenCV进行系统学习,看到网上这份教程写得不错,于是跟着来学习实践一下. [youcans@qq.com, youcans 的 OpenCV 例程, https://youcans.blo ...

  7. 深入理解Flutter的图形图像绘制原理——图形库skia剖析

    Flutter是目前流行的高性能跨平台UI框架,图形库skia是其跨平台的基石.本文将深入分析skia的图形.字体.图片的渲染原理,如何挖掘硬件特性,为UI性能优化提供思路. 1. 引言 Flutte ...

  8. Android 图像绘制之 Drawable

    转载自:https://www.jianshu.com/p/4cd87e3c43d6,作者:不惜留恋_ (简书) 不要冲动去自定义 View 绘制简单的图形,以及显示静态的图片,可以用 Drawabl ...

  9. 关于通用雷达信号的时频分析与图像绘制(Matlab)

    关于通用雷达信号的时频分析与图像绘制(Matlab) 最近在研究雷达信号的调制识别,所以对通用的雷达信号种类进行了时频域上的研究,下面小结给大家,从信号的原理到matlab的时频图绘制. 信号种类 这 ...

最新文章

  1. 深入理解PHP内核(五)函数的内部结构
  2. 为什么S/4HANA的销售订单创建会触发生产订单的创建
  3. 根据数据集获取概率密度图像和概率分布图像
  4. 2021年合肥学院校程序设计竞赛 --H.简单的桌游问题
  5. 个人看法---团队合作
  6. 如何用java更改网页图片,java如何修改文档第一页为不同的页面
  7. python连接数据库步骤_Python连接mysql数据库
  8. vue 实现文件下载
  9. 在使用静态构造函数的时候应该注意几点
  10. 深度学习之江湖~那些大神们
  11. 极路由1S HC5661A 刷入不死u-boot(breed)加刷潘多拉固件教程
  12. mysql 插入毫秒数据_MySQL存储毫秒数据的方法
  13. C语言中32个关键字详解
  14. 京东联盟/好京客API与京东默认PID申请教程
  15. php计算周长,PHP实现的简单三角形、矩形周长面积计算器分享
  16. Ticket Lock的Relaxed Atomics优化
  17. 干货 | 互联网平台资金结算的合规处理方案
  18. 判断是否发生塑性变形的条件:von Mises屈服准则
  19. 用excel做数据分析必知的编程语言
  20. RT-Thread Studio学习 驱动攀藤PMS5003ST PM2.5传感器

热门文章

  1. 前有狼后有虎,高通计划裁员一成
  2. 多线程卖火车票的问题
  3. 小学生python游戏编程arcade----烟花粒子
  4. python中zeros用法_Python中的numpy.zeros()用法
  5. 对路径 的访问被拒绝
  6. SAP 自定义信息类型-字段搜索帮助方法
  7. 新学期,新气象我的新学期flag
  8. 数据中心变电站: 从头开始设计
  9. 【2018中美青年领袖峰会】30岁的你在做什么?当年从MIT辍学的16岁天才美少女,如今已募集到2200万美金基金?...
  10. 解决code ELIFECYCLE npm ERR errno 1问题