前言——记得在阿里实习的时候,大家都是用mllib下的GBDT来train model的。但由于mllib不是开源的,所以在公司外是不能够使用。后来参加kaggle比赛的时候,认识到一个GDBT好用的工具,xgboost,所以就认真地学习了一下。

github地址:https://github.com/dmlc/xgboost

具体使用方式,其实里面都有说明的,下面主要讲讲在windows下python环境怎样使用xgboost。

1、按照官方说明来下载并编译release版64位程序,并执行“python setup.py install”。

2、在python代码中添加环境路径“sys.path.append('C:\\.........\\xgboost-master\\wrapper')”(注:该路径为你下载解压出来的文件夹wrapper路径)

3、这样就可以尝试“import xgboost as xgb”了,如果成功就没问题了。(注:要依赖numpy以及scipy,且安装位数要跟你Python位数一致,64位版numpy以及scipy要到这里下载,32位版就可以到官网下载)

下面贴个train的代码以及predict的代码:

train:

#!/usr/bin/python
import sys,os
sys.path.append('C:\\xgboost-master\\wrapper')import numpy as np
import scipy.sparse
import xgboost as xgb### simple example
# load file from text file, also binary buffer generated by xgboost
dtrain = xgb.DMatrix('C:\\PredictAHE_Trainset_libsvmFormat.txt')
dtest = xgb.DMatrix('C:\\PredictAHE_Testset_libsvmFormat.txt')# specify parameters via map, definition are same as c++ version
param = {'max_depth':6, 'eta':0.3, 'silent':1, 'objective':'binary:logistic' }# specify validations set to watch performance
watchlist  = [(dtest,'eval'), (dtrain,'train')]
num_round = 20
bst = xgb.train(param, dtrain, num_round, watchlist)# this is prediction
preds = bst.predict(dtest)
labels = dtest.get_label()
print ('error=%f' % (  sum(1 for i in range(len(preds)) if int(preds[i]>0.5)!=labels[i]) /float(len(preds))))
bst.save_model('C:\\xgb.model')

predict:

#!/usr/bin/python
import sys,os
sys.path.append('C:\\xgboost-master\\wrapper')import numpy as np
import scipy.sparse
import xgboost as xgb### simple example
# load file from text file, also binary buffer generated by xgboost
dtest2 = xgb.DMatrix('C:\\PredictAHE_Temp_libsvmFormat.txt')# load model and data in
bst2 = xgb.Booster(model_file='C:\\xgb.model')
preds2 = bst2.predict(dtest2)# this is prediction
outing = open('C:\\PredictAHE_Temp_Result.txt', 'w')
outing.write(str(int(preds2[0]>0.5))) #只输出了一个
outing.close()

P.S.输入的文件格式要是 libsvm格式

xgboost的使用简析相关推荐

  1. 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析

    目录[阅读时间:约10分钟] 一.概述 二.对比: gorilla/mux与net/http DefaultServeMux 三.简单使用 四.源码简析 1.NewRouter函数 2.HandleF ...

  2. 简析平衡树(三)——浅谈Splay

    前言 原本以为\(Treap\)已经很难了,学习了\(Splay\),我才知道,没有最难,只有更难.(强烈建议先去学一学\(Treap\)再来看这篇博客) 简介 \(Splay\)是平衡树中的一种,除 ...

  3. 基于libmad库的MP3解码简析

    基于libmad库的MP3解码简析  MAD (libmad)是一个开源的高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3). ...

  4. 简析 .NET Core 构成体系

    简析 .NET Core 构成体系 Roslyn 编译器 RyuJIT 编译器 CoreCLR & CoreRT CoreFX(.NET Core Libraries) .NET Core 代 ...

  5. Python源码学习:内建类型简析并简析int对象

    Python源码分析 本文环境python2.5系列 参考书籍<<Python源码剖析>> 上一篇文章中已经大致分析了下,Python的启动执行流程,现在我们分析一下Pytho ...

  6. Python源码学习:启动流程简析

    Python源码分析 本文环境python2.5系列 参考书籍<<Python源码剖析>> Python简介: python主要是动态语言,虽然Python语言也有编译,生成中 ...

  7. 简析TCP的三次握手与四次分手【转】

    转自 简析TCP的三次握手与四次分手 | 果冻想 http://www.jellythink.com/archives/705 TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇 ...

  8. ceph存储原理_Ceph存储引擎BlueStore简析

    前文我们创建了一个单节点的Ceph集群,并且创建了2个基于BlueStore的OSD.同时,为了便于学习,这两个OSD分别基于不同的布局,也就是一个OSD是基于3中不同的存储介质(这里是模拟的,并非真 ...

  9. Android Jetpack组件App Startup简析

    1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发中的问题,对代码的逻辑和UI界面实现深层解耦,打造数据驱动型UI界面. A ...

最新文章

  1. spark 序列化错误 集群提交时_【问题解决】本地提交任务到Spark集群报错:Initial job has not accepted any resources...
  2. todo:DSB and ISB
  3. java pdf表单域实现_Java 创建PDF表单域 - 文本框、复选框、列表框、组合框、按钮等...
  4. Play和Grails Java框架的优缺点
  5. html如何插入swf视频,Html插入SWF方法
  6. php文件显示不完整,github文件显示不全
  7. linux 下php多版本安装
  8. 爬取词库,使用jieba分词库,自定义dict.txt文件+将搜狗词库.scel文件为.txt文件
  9. Python使用itchat获取微信好友
  10. ❤️Bean的自动装配(详细)
  11. Python中的极端梯度增强(XGBoost)集成
  12. 钢结构节点输出软件_BIM技术助力桥梁钢结构设计施工一体化建设
  13. 我的世界服务器修改世界难度,我的世界服务器空岛生存调难度指令 | 手游网游页游攻略大全...
  14. 软件测试风险管理包含哪两方面,软件测试风险的应对措施通常包括哪几类
  15. 2023 抖音表情包小程序变现项目 详细玩法视频课程
  16. 提高 Python 代码的可读性,你需要知道这10个技巧
  17. 大数据运维工程师 base 上海
  18. 小白菜快速上手 Docker
  19. FPGA学习网站、开源网站和论坛网站汇总
  20. 故宫景点功课11:后三宫区(下)

热门文章

  1. 图文教程,Nginx+Keepalived(双机热备)介绍已经搭建高可用负载均衡环境
  2. wsl2+ubuntu20安装ros2遇到update问题
  3. Caddy 源码阅读
  4. 从简单的数据表中学习oracle的窗口函数使用
  5. BMZCTF WEB WEB_penetration
  6. python欧拉螺线_基于菲涅耳积分的Python OpenDrive地图螺旋线/回旋线/欧拉螺旋线/Cornu螺旋线插值...
  7. Spring事务抛出Exception异常不回滚
  8. 医院财务会计的互联网变革
  9. android 百度 全景图,百度地图全景图
  10. 解决 ‘GDK_IS_DISPLAY (display)‘ failed