1. import xgboost as xgb
  2. import numpy as np
  3. from sklearn.datasets import fetch_covtype
  4. from sklearn.model_selection import train_test_split
  5. import time
  1. # Fetch dataset using sklearn
  2. cov = fetch_covtype()
  3. X = cov.data
  4. y = cov.target
  1. # Create 0.75/0.25 train/test split
  2. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, train_size=0.75, random_state=42)
  1. # Specify sufficient boosting iterations to reach a minimum
  2. num_round = 25 #3000
  3. # Leave most parameters as default
  4. param = {'objective': 'multi:softmax', # Specify multiclass classification
  5. 'num_class': 8, # Number of possible output classes
  6. 'tree_method': 'gpu_hist' # Use GPU accelerated algorithm
  7. }
  1. # Convert input data from numpy to XGBoost format
  2. dtrain = xgb.DMatrix(X_train, label=y_train)
  3. dtest = xgb.DMatrix(X_test, label=y_test)
  1. gpu_res = {} # Store accuracy result
  2. tmp = time.time()
  3. # Train model
  4. param['tree_method'] = 'gpu_hist'
  5. xgb.train(param, dtrain, num_round, evals=[(dtest, 'test')], evals_result=gpu_res)
  6. print("GPU Training Time: %s seconds" % (str(time.time() - tmp)))
  1. [0] test-merror:0.254804
  2. [1] test-merror:0.247885
  3. [2] test-merror:0.24427
  4. [3] test-merror:0.240677
  5. [4] test-merror:0.238474
  6. [5] test-merror:0.234763
  7. [6] test-merror:0.232147
  8. [7] test-merror:0.229716
  9. [8] test-merror:0.227162
  10. [9] test-merror:0.224622
  11. [10] test-merror:0.222632
  12. [11] test-merror:0.220773
  13. [12] test-merror:0.218453
  14. [13] test-merror:0.215582
  15. [14] test-merror:0.214605
  16. [15] test-merror:0.212223
  17. [16] test-merror:0.211176
  18. [17] test-merror:0.209868
  19. [18] test-merror:0.208622
  20. [19] test-merror:0.205917
  21. [20] test-merror:0.20434
  22. [21] test-merror:0.203727
  23. [22] test-merror:0.202591
  24. [23] test-merror:0.201621
  25. [24] test-merror:0.199817
  26. GPU Training Time: 4.505811929702759 seconds
  1. # Repeat for CPU algorithm
  2. tmp = time.time()
  3. param['tree_method'] = 'hist'
  4. cpu_res = {}
  5. xgb.train(param, dtrain, num_round, evals=[(dtest, 'test')], evals_result=cpu_res)
  6. print("CPU Training Time: %s seconds" % (str(time.time() - tmp)))
  1. [0] test-merror:0.254831
  2. [1] test-merror:0.247912
  3. [2] test-merror:0.244298
  4. [3] test-merror:0.24069
  5. [4] test-merror:0.238536
  6. [5] test-merror:0.234804
  7. [6] test-merror:0.232229
  8. [7] test-merror:0.229703
  9. [8] test-merror:0.227162
  10. [9] test-merror:0.224519
  11. [10] test-merror:0.222784
  12. [11] test-merror:0.220705
  13. [12] test-merror:0.21844
  14. [13] test-merror:0.21676
  15. [14] test-merror:0.214736
  16. [15] test-merror:0.212257
  17. [16] test-merror:0.210206
  18. [17] test-merror:0.209345
  19. [18] test-merror:0.207617
  20. [19] test-merror:0.206102
  21. [20] test-merror:0.205194
  22. [21] test-merror:0.202798
  23. [22] test-merror:0.202309
  24. [23] test-merror:0.200554
  25. [24] test-merror:0.199328
  26. CPU Training Time: 49.719186305999756 seconds

Xgboost GPU 加速的更多相关文章

  1. Gradient Boosting, Decision Trees and XGBoost with CUDA ——GPU加速5-6倍

    xgboost的可以参考:https://xgboost.readthedocs.io/en/latest/gpu/index.html 整体看加速5-6倍的样子. Gradient Boosting ...

  2. mxnet:结合R与GPU加速深度学习

    转载于统计之都,http://cos.name/tag/dmlc/,作者陈天奇 ------------------------------------------------------------ ...

  3. GPU—加速数据科学工作流程

    GPU-加速数据科学工作流程 GPU-ACCELERATE YOUR DATA SCIENCE WORKFLOWS 传统上,数据科学工作流程是缓慢而繁琐的,依赖于cpu来加载.过滤和操作数据,训练和部 ...

  4. Theano在windows下的安装及GPU加速

    安装环境:wondows 64bit Teano安装测试 1. Anaconda 安装 Anaconda是一个科学计算环境,自带的包管理器conda很强大.之所以选择它是因为它内置了python,以及 ...

  5. GPU 加速NLP任务(Theano+CUDA)

    之前学习了CNN的相关知识,提到Yoon Kim(2014)的论文,利用CNN进行文本分类,虽然该CNN网络结构简单效果可观,但论文没有给出具体训练时间,这便值得进一步探讨. Yoon Kim代码:h ...

  6. 开启gpu加速的高性能移动端相框组件!

    通过设置新的css3新属性translateX来代替传统的绝对定位改变left值的动画原理,新属性translateX会开启浏览器自带的gpu硬件加速动画性能,提高流畅度从而提高用户体验, 代码有很详 ...

  7. ubuntu 15 安装cuda,开启GPU加速

    1 首先要开启GPU加速就要安装cuda.安装cuda,首先要安装英伟达的驱动.ubuntu有自带的开源驱动,首先要禁用nouveau.这儿要注意,虚拟机不能安装ubuntu驱动.VMWare下显卡只 ...

  8. Silverlight - GPU加速

    1. 在Silverlight plug-in上设置 <param name="enableGPUAcceleration" value="true" / ...

  9. 用cudamat做矩阵运算的GPU加速

    1. cudamat简介 cudamat是一个python语言下,利用NVIDIA的cuda sdk 进行矩阵运算加速的库.对于不熟悉cuda编程的程序员来说,这是一个非常方便的GPU加速方案.很多工 ...

随机推荐

  1. 数据库设计入门及ERMaster的安装和使用

    数据库的设计步骤 1.标识表  (根据需求创建表) 2.标识表的字段 3.标识表与表之间的关系 注意事项: 三大范式: 1.确保标识的字段的原子性,字段的概念分的不能再分 2.确保字段与表有依赖的关系 ...

  2. 【Linux】-NO.160.Linux.1 -【升级Centos7】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  3. try catch的使用场景

  4. NABCD分析---校园服务

    N(需求): 大学生活中,很多琐碎的小事浪费同学时间精力.我们的APP本着为同学服务的宗旨,解决生活中各方面的问题,同学们可以在APP上发布各种信息,例如兼职,二手买卖等等. A(做法): 用户打开A ...

  5. OI养老专题03:让坏人出列的约瑟夫问题

    问题是这样的:一共有2n个人,其中有n个好人,n个坏人.好人的编号是1~n,坏人的编号是n+1~2n.要求你求出最小的m(报数到m的人出局),让前n个出局的人都是坏人. 似乎除了暴力,我们想不出其它的 ...

  6. python的库小全

    环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...

  7. dedecms二次开发

    安装遇到的问题 修改文件如下 1.date目录下的config.cache.bak.php改成config.cache.php 2install目录下的index.html.install_lock. ...

  8. eclipse 没有web项目和server

    New项目中没有web Window菜单的preference没有server 解决方法:打开help->Install new software… 在work with中找到http://do ...

  9. 贝叶斯公式由浅入深大讲解—AI基础算法入门

    1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且概率虽然未知,但最起码是一个确定 ...

  10. WC.exe【C】

    gitee传送门!!!(电脑打不开github,多次尝试未果,决定先用gitee存着先) 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序 ...