心得 | XGBoost从基础到实战, 上这4节课就够了
同学们好!
经过2个周末4天上课
小编隐约感觉离机器学习又近了辣么一丢丢
原因是身为卖课的确保直播顺利的小编
跟着大家一起上了AI100的第一门直播课?
原本没神马基础的小编
想象听课时心情是这样的
▼
并且有些条件反射也是无法控制的
▼
然额,听完全部课程下来
面对敲耐心认真的讲师
热心互助探讨的同学们
小编只想笔!!芯!!
下面将本次课程花絮及总结分享出来
感染更多的小伙伴加入组织?
1
先来一波买家秀
课堂上小伙伴的调戏评价
课后回访小伙伴
课程页面买家秀
(木有水军 童叟无欺)
2
再来感受一下交流群
3
一天不分享点东西就难受
1. xgbooost安装
1) Windows和Linux下的安装指南 by:燕子
http://blog.csdn.net/xizero00/article/details/73008330
2) Win10下的安装指南:
这里有个win10的,基本follow 官网安装步骤 by:燕子 http://blog.csdn.net/xxzhangx/article/details/54908500
3) 加速git等命令的方法: by:开心的派大星
https://91tianlu.me/knowledgebase.php?action=displayarticle&id=7
4) 在windows下用Linux命令的方法: by: 开心的派大星
https://mp.weixin.qq.com/s?__biz=MzA4NzQzMzU4Mg==&mid=2652917522&idx=3&sn=42f48492add0fdb9d8b5bb94a92853d6
如果用的是windows,想在上面用linux,可以装双系统或者是装虚拟机还有一个比较好的办法,就是docker
5)Gordon Doo:xgboost 安装 http://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost
可以download 这个 ,然后pip install whl文件。
补充:whl格式本质上是一个压缩包,里面包含了py文件,以及经过编译的pyd文件。使得可以在不具备编译环境的情况下,选择合适自己的python环境进行安装。安装方法很简单,进入命令行输入:
pip install xxxx.whl
或者如果是升级
pip install -U xxxx.whl
最好别用gcc7 肯定编译出问题 修改还麻烦不一定成功。by:土豆
2. graphviz安装
MAC里,我是 brew install graphviz 解决的问题 by:土豆
linux里我是 pip install graphviz by: 开心的派大星
3. GPU加速
GPU Accelerated XGBoost by: 开心的派大星
http://dmlc.ml/2016/12/14/GPU-accelerated-xgboost.html
4. Spark
A Full Integration of XGBoost and Apache Spark by: 开心的派大星
http://dmlc.ml/2016/10/26/a-full-integration-of-xgboost-and-spark.html
5. 参数调整
一个调整参数的利器: by: 开心的派大星
reiinakano/xcessiv: A web-based application for quick, scalable, and automated hyperparameter tuning and stacked ensembling in Python.
https://github.com/reiinakano/xcessiv
6. 行业应用
CTR预估中GBDT与LR融合方案 by: Goron Doo推荐
http://m.blog.csdn.net/lilyth_lilyth/article/details/48032119#0-tsina-1-63291-397232819ff9a47a7b7e80a40613cfe1
基本思想:用GBDT提取特征,然后将特征送入LR分类器,实现CTR预估
GBDT特征提取:将样本x送入GBDT的每棵树,得到该样本在树中叶子结点的信息作为特征。
4
在XGBoost路上棋逢对手
1. 不均衡数据处理
开心的派大星分享:解决真实世界问题:如何在不平衡类上使用机器学习?
http://yuenshome.space/?p=3554
开心的派大星进一步解释了SMOTE:就是合成新样本的方法,这个想法很有意思。
已知同一(少数)类的样本,将这一类下的两个临近的样本点连接起来,连线 中间的位置作为新的样本,通过该方式合成新样本。
咖喱牛肉土豆:我比较赞同4改进算法。增加少数类权重。
开心的派大星:或者是在损失计算里对这些较少类特别处理,给个系数:class_weight
xgboost参数scale_pos_weight就是干这个用的,可参考demo中Higgs Boson代码中的实现。
Austen: 负样本抽样成几份,再分别和所有正样本样本融合训练,结果在再求平均也是可以. (派大星点评:bagging的思想)
西瓜:样本不均衡问题,我觉得是有个隐含前提的,那就是真实的分布应该是均衡的。有些情况,比如访问某网站男女比例,真实就是4:1,你训练的时候样本就是4:1的,你均衡一下反而不好
Austen:不平衡数据下的评判标准通常可以通过auc,f1等来进行评价,如果正样本过少的情况下好像可以用异常检测
5
超nice冒老师答疑摘选
SO 木有老师指导的课程不完美
Q: xgboost用于可用于回归吗?
A: 课程示例程序有两类分类(蘑菇分类、Higgs Bosons)和多类分类任务(Otto)。Xgboost也可用于回归和排序,可参考xgboost文档:
https://github.com/dmlc/xgboost/tree/master/demo
Q: One-hot编码
A: one-hot 是一种将类别型特征转换为数值型特征的一种方式,。若某类别型特征共有K种可能的取值,则这维特征 one-hot 编码后变成了K维,即若第 i 个样本的特征取值为 xi=k , 则其输出的 K 维特征中第 k 维 为1,其余各维为 0。可以参考sklearn的文档说明:
http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html
Q: XGBoost对特征工程敏感?需要像线性回归里面看特征的相关性,多重共线性什么的吗?
A: xgboost对特征敏感。一种说法是特征工程觉得了系统性能的上界,好的学习算法能尽可能接近这个上限。
特征的相关性虽然没有对线性模型影响那么大,还是会影响的。如果特征相关,也是先去相关(直接去掉或PCA降维等)
Q: 在用scikit-learn训练一个分类问题时,比如说支持向量机或者xgb,最后train出来的分类边界的表达式能不能从代码中输出呢?
A: xgboost是非参数模型,不能从代码中输出分类边界。
svm是可以写出决策边界的:This parameters can be accessed through the members dual_coef_ which holds the product, support_vectors_ which holds the support vectors, and intercept_ which holds the independent term
请参考
http://scikit-learn.org/stable/modules/svm.html
Q: 用xgb如果要给一个模型解释一般怎么做?
A: xgboost是集成模型,牺牲了可解释性。
看完以上分享,你有没有心动呢?
如果没有!
小编换个颜色再问一遍!
你有没有心动呢??
快点击报名按钮或扫码加入组织吧!!?
课程二维码
最后小编忍不住卖弄下,请问
如何根据蘑菇的22个特征判断蘑菇是否有毒?
知道请留言?
不知道就快报名啦~~
一大群小伙伴在课程群里等着你
热烈讨论 共同进步
组队冲击各大算法竞赛
美女老师为你保驾护航
关于课程的详细信息,请戳“阅读原文”
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 习近平寄语澳门 7973789
- 2 老人取走自己卡内200多万被抓 7943983
- 3 突发:美军战斗机被击落 7890967
- 4 我国工业经济平稳向好 7762879
- 5 三战是否已经开始?普京回应 7632444
- 6 湖南卫视声明 7524009
- 7 春熙路不能随便开直播了 7481344
- 8 “狙击手能看到的地方都是杀戮区” 7393001
- 9 哈尔滨一公司禁止员工去冰雪大世界 7256409
- 10 女子举报前公公有不明财产 银行通报 7123230