1.截止到本文(20191104)sklearn没有集成xgboost算法,需要单独安装xgboost库,然后导入使用

xgboost官网安装说明

Pre-built binary wheel for Python

在源码git页面下载包,然后手动安装。

如何安装包

2.xgboost读取文件的格式?

xgboost的数据输入数据格式DMatrix目前支持两种数据格式:LibSVM和CSV

libsvm数据格式

xgboost可以从libsvm、csv、numpy array、dataframe、xgboost binary buffer file载入训练数据

读入后,数据存储在DMatrix目标文件中。

3.xgboost模型的训练及预测过程?

第一种形式:

xgboost原生接口的实现方法

import xgboost as xgb
# read in data
dtrain = xgb.DMatrix('demo/data/agaricus.txt.train')
dtest = xgb.DMatrix('demo/data/agaricus.txt.test')
# specify parameters via map
param = {'max_depth':2, 'eta':1, 'objective':'binary:logistic' }
num_round = 2
bst = xgb.train(param, dtrain, num_round)
# make prediction
preds = bst.predict(dtest)

第二种形式:

xgboost的sklearn接口,来实现一些模型训练、拟合、效果展示的功能

import xgboost as xgb
import numpy as np
from sklearn.model_selection import KFold, train_test_split, GridSearchCV
from sklearn.metrics import confusion_matrix, mean_squared_error
from sklearn.datasets import load_iris, load_digits, load_boston
digits = load_digits(2)
y = digits['target']
X = digits['data']
kf = KFold(n_splits=2, shuffle=True, random_state=rng)
for train_index, test_index in kf.split(X):
  xgb_model = xgb.XGBClassifier().fit(X[train_index], y[train_index])
  predictions = xgb_model.predict(X[test_index])
  actuals = y[test_index]

  print(confusion_matrix(actuals, predictions))

xgb.XGBClassifier().fit()和xgb.train()的区别?

https://blog.csdn.net/mr_muli/article/details/84798847

第二种形式中的几种用法:

xgboost.XGBRegressor(), implementation of the skleran api for xgboost regression

xgboost.XGBClassifier(), implementation of the skleran api for xgboost classification

xgboost.XGBRanker(), implementation of the sklearn api for xgboost ranking

xgboost.XGBRFRegressor() ,sklearn api for xgboost random forest regression

xgboost.XGBRFClassifier(), SKlearn api for xgboost random forest classification

https://xgboost.readthedocs.io/en/latest/python/python_api.html#module-xgboost.sklearn

4.为什么xgboost有时预测结果为0/1,有时预测结果为概率值?

注意objective变量的设置,不同的设置最后模型预测的结果返回的内容是不一样的。

https://www.cnblogs.com/wzdLY/p/9831282.html

XGBoost参数调优完全指南

xgboost的两种训练方式,以及不同的objective的影响

xgboost不同训练方式,及grid search调参方法

5.XGBoost的训练数据格式是ndarray,如果是dataframe的形式要先转换为ndarray(df.values)

6. XGBoost整体流程:

变量处理/特征工程/特征选择/特征变换

grid search或者随机网格搜索

  cross validation(sklearn K折交叉验证):

    三类参数(general parameters/booster parameters/task parameters)

    每个模型的roc曲线/auc值/ks值/精确值

参考资料:

用xgboost做分类,预测结果输出的为什么不是类别概率?

模型融合--XGBoost

四个xgb模型融合拿下金融风控冠军,是如何做特征工程的?

XGBoost使用篇(未完成)的更多相关文章

  1. 手撸XGBoost流程(未完成)

    网上的一篇文章,讲的挺清楚的. XGBoost原理分析及实践 XGBoost的原理 xgboost原理--刘建平博客 要注意的地方: 1.预测值y(pred)和损失函数L(y,y(hat))中的y(h ...

  2. 【Python机器学习实战】决策树与集成学习(六)——集成学习(4)XGBoost原理篇

    XGBoost是陈天奇等人开发的一个开源项目,前文提到XGBoost是GBDT的一种提升和变异形式,其本质上还是一个GBDT,但力争将GBDT的性能发挥到极致,因此这里的X指代的"Extre ...

  3. XGBoost 与 Boosted Tree

    http://www.52cs.org/?p=429 作者:陈天奇,毕业于上海交通大学ACM班,现就读于华盛顿大学,从事大规模机器学习研究. 注解:truth4sex  编者按:本文是对开源xgboo ...

  4. 【转】XGBoost 与 Boosted Tree

    XGBoost 与 Boosted Tree http://www.52cs.org/?p=429 作者:陈天奇,毕业于上海交通大学ACM班,现就读于华盛顿大学,从事大规模机器学习研究. 注解:tru ...

  5. XGBoost类库使用小结

    在XGBoost算法原理小结中,我们讨论了XGBoost的算法原理,这一片我们讨论如何使用XGBoost的Python类库,以及一些重要参数的意义和调参思路. 本文主要参考了XGBoost的Pytho ...

  6. ViewStub源码分析

    ViewStub是一种特殊的View,Android官方给出的解释是:一种不可见的(GONE).size是0的占位view,多用于运行时 延迟加载的,也就是说真正需要某个view的时候.在实际项目中, ...

  7. 基于.net开发chrome核心浏览器【六】

    写在前面: 距离发这个系列的上一篇文章已经过去两个多月了 因为工作上不涉及这一部分的内容,兼且琐事缠身,一直无力动笔写这个系列的第六篇文章 然而,有很多朋友都关注这个系列,希望我能再写写. 写文章有人 ...

  8. BAT批处理(一)

    本文摘自博文<BAT批处理文件教程> 这是一篇技术教程,我会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识.写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如 ...

  9. 手工搭建基于ABP的框架(2) - 访问数据库

    为了防止不提供原网址的转载,特在这里加上原文链接: http://www.cnblogs.com/skabyy/p/7517397.html 本篇我们实现数据库的访问.我们将实现两种数据库访问方法来访 ...

随机推荐

  1. 在vSphere群集中配置EVC的注意事项

    原路径:https://blog.51cto.com/wangchunhai/2084434 个人觉得有一点写的有出入: 2 vCenter保存在本地存储中,无共享存储 中主机图片和描述信息有异常. ...

  2. MySQL各种存储引擎对比总结

    1.MyISAM 是MySQL5.5版之前默认的存储引擎,特点:数据文件和索引文件可以放置在不同的目录,平局分布IO,获得更快的速度.不支持事务,不支持外键. 2.InnoDB 是 MySQL5.5版 ...

  3. Django模板渲染——(二)

    模板标签 模板是由HTML代码和一些逻辑控制代码组成的,逻辑控制代码除了前面介绍的变量和过滤器,还要一个非常重要的模板标签.模板标签的语法规则是{% tag %},模板标签在渲染的过程中能提供任意的逻 ...

  4. P3810 【模板】三维偏序(陌上花开)(CDQ分治)

    题目背景 这是一道模板题 可以使用bitset,CDQ分治,K-DTree等方式解决. 题目描述 有 nn 个元素,第 ii 个元素有 a_iai​.b_ibi​.c_ici​ 三个属性,设 f(i) ...

  5. UML-逻辑架构&包图-相关概念

    1.逻辑架构 软件的宏观组织结构.含: 1).包 2).子系统 3).层 2.层 对类.包.子系统的分组(内聚).例如:mvc.在OOA/D中要重点关注核心应用逻辑(或领域)层. 3.UML包图 描述 ...

  6. Java类只加载一次的情况

    一个类只加载一次: 调用Java命令. 创建对象时 访问静态成员时 Class.forName("包名.类名")

  7. LaTeX Windows配置

    1. 安装TeXstudio 用搜索引擎找合适的版本或者 在 https://sourceforge.net/projects/texstudio/ 下载 找合适的版本下载,点击下一步安装即可. Te ...

  8. 剑指offer【13】- 链表中倒数第k个结点

    输入一个链表,输出该链表中倒数第k个结点. /* public class ListNode { int val; ListNode next = null; ListNode(int val) { ...

  9. look and say 外观数列的python实现

    #look_and_say 外观数列 如果我们把 1 作为Look-and-say 数列的第一项,那么,它的前几项是这样的: 1, 11, 21, 1211, 111221, 312211, 1311 ...

  10. apache启动失败,提示80端口被占用

    首先检查80端口被什么程序占用,方法:cmd进DOS,输入netstat -ano 80端口被为4的进程占用,有两种可能:一种情况是本机中安装了sqlserver 2008,80端口被SqlServe ...