xgboost的使用简析
前言——记得在阿里实习的时候,大家都是用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的使用简析相关推荐
- 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析
目录[阅读时间:约10分钟] 一.概述 二.对比: gorilla/mux与net/http DefaultServeMux 三.简单使用 四.源码简析 1.NewRouter函数 2.HandleF ...
- 简析平衡树(三)——浅谈Splay
前言 原本以为\(Treap\)已经很难了,学习了\(Splay\),我才知道,没有最难,只有更难.(强烈建议先去学一学\(Treap\)再来看这篇博客) 简介 \(Splay\)是平衡树中的一种,除 ...
- 基于libmad库的MP3解码简析
基于libmad库的MP3解码简析 MAD (libmad)是一个开源的高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3). ...
- 简析 .NET Core 构成体系
简析 .NET Core 构成体系 Roslyn 编译器 RyuJIT 编译器 CoreCLR & CoreRT CoreFX(.NET Core Libraries) .NET Core 代 ...
- Python源码学习:内建类型简析并简析int对象
Python源码分析 本文环境python2.5系列 参考书籍<<Python源码剖析>> 上一篇文章中已经大致分析了下,Python的启动执行流程,现在我们分析一下Pytho ...
- Python源码学习:启动流程简析
Python源码分析 本文环境python2.5系列 参考书籍<<Python源码剖析>> Python简介: python主要是动态语言,虽然Python语言也有编译,生成中 ...
- 简析TCP的三次握手与四次分手【转】
转自 简析TCP的三次握手与四次分手 | 果冻想 http://www.jellythink.com/archives/705 TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇 ...
- ceph存储原理_Ceph存储引擎BlueStore简析
前文我们创建了一个单节点的Ceph集群,并且创建了2个基于BlueStore的OSD.同时,为了便于学习,这两个OSD分别基于不同的布局,也就是一个OSD是基于3中不同的存储介质(这里是模拟的,并非真 ...
- Android Jetpack组件App Startup简析
1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发中的问题,对代码的逻辑和UI界面实现深层解耦,打造数据驱动型UI界面. A ...
最新文章
- spark 序列化错误 集群提交时_【问题解决】本地提交任务到Spark集群报错:Initial job has not accepted any resources...
- todo:DSB and ISB
- java pdf表单域实现_Java 创建PDF表单域 - 文本框、复选框、列表框、组合框、按钮等...
- Play和Grails Java框架的优缺点
- html如何插入swf视频,Html插入SWF方法
- php文件显示不完整,github文件显示不全
- linux 下php多版本安装
- 爬取词库,使用jieba分词库,自定义dict.txt文件+将搜狗词库.scel文件为.txt文件
- Python使用itchat获取微信好友
- ❤️Bean的自动装配(详细)
- Python中的极端梯度增强(XGBoost)集成
- 钢结构节点输出软件_BIM技术助力桥梁钢结构设计施工一体化建设
- 我的世界服务器修改世界难度,我的世界服务器空岛生存调难度指令 | 手游网游页游攻略大全...
- 软件测试风险管理包含哪两方面,软件测试风险的应对措施通常包括哪几类
- 2023 抖音表情包小程序变现项目 详细玩法视频课程
- 提高 Python 代码的可读性,你需要知道这10个技巧
- 大数据运维工程师 base 上海
- 小白菜快速上手 Docker
- FPGA学习网站、开源网站和论坛网站汇总
- 故宫景点功课11:后三宫区(下)
热门文章
- 图文教程,Nginx+Keepalived(双机热备)介绍已经搭建高可用负载均衡环境
- wsl2+ubuntu20安装ros2遇到update问题
- Caddy 源码阅读
- 从简单的数据表中学习oracle的窗口函数使用
- BMZCTF WEB WEB_penetration
- python欧拉螺线_基于菲涅耳积分的Python OpenDrive地图螺旋线/回旋线/欧拉螺旋线/Cornu螺旋线插值...
- Spring事务抛出Exception异常不回滚
- 医院财务会计的互联网变革
- android 百度 全景图,百度地图全景图
- 解决 ‘GDK_IS_DISPLAY (display)‘ failed