在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. git 查看修改的代码行数,新增的文件以及删除的代码行数
  2. linux输出指定数量脉冲,ESM335x Linux输出脉冲计数
  3. linux bin命令解释,Linux:“awk”命令的妙用
  4. VSS、RSS、PSS、USS
  5. AI:2020年6月23日北京智源大会演讲分享之机器学习专题论坛——09:45-10:25邢波教授《A Blueprint of Standardized and Composable ML》
  6. 使用NAT网关轻松为单台云服务器设置多个公网IP
  7. 我看中国软件---技术篇
  8. C语言 提取字符串中的所有整数
  9. android prgoressBar setProgressDrawable 在4.0系统式正常,在2.3系统上不能正常使用的问题...
  10. python历史上的今天_历史上的今天接口调用示例
  11. python怎么读发音百度翻译-用python实现百度翻译的示例代码
  12. php中使用fsockopen实现异步请求
  13. Excel中CONCATENATE函数生成SQL insert 语句
  14. 拓端tecdat|R语言中的copula GARCH模型拟合时间序列并模拟分析
  15. maven module 路径_解决maven项目中-Dmaven.multiModuleProjectDirectory报错问题
  16. 无源贴片晶振四角引脚_贴片晶振引脚脚位地方向如何进行区分?
  17. 《Two-Archive Evolutionary Algorithm for Constrained Multiobjective Optimization》阅读笔记
  18. Scratch中设置物体的中心点
  19. c语言数字1 9转换英文,C语言提问:将一个月份数字转换成月份的英文名称
  20. Javaweb1:HTML、各种标签

热门文章

  1. sobel算子_OpenCV图像处理专栏十八 | 手动构造Sobel算子完成边缘检测
  2. 【编译打包】tengine 1.5.1 SRPM
  3. 前端通过3d实现一个立体正方体
  4. lua协程 unity_XLua 之 Lua 协程 与 Unity 协程互通
  5. vue 变量定义 对象_详解Vue 全局变量,局部变量
  6. 阿里巴巴菜鸟iot技术部实习生招聘
  7. emacs中运行matlab,Emacs 写matlab程序
  8. 微信小程序 实现个人用户界面
  9. apache配置文件解析(httpd.conf)
  10. php显示固定页码,php显示页码分页类的封装