数据城堡参赛代码实战篇(七)--- xgboost介绍及实战

小编们最近参加了数据城堡举办的“大学生助学金精准资助预测”比赛,以分组第19名的成绩进入了复赛,很激动有木有!在上一篇文章中,小编介绍了使用sklearn进行数据标准化和通过网格搜索进行参数寻优的过程,至此,我们已经能够得到预测结果并上传。但小编们上传结果时所采取的结果并不是之前提到过的算法,而使用的是xgboost算法。今天,小编将带你一探xgboost算法的究竟!

1 简单介绍

xgboost的全称是eXtreme Gradient Boosting。它是Gradient Boosting Machine的一个c++实现。创建之由为受制于现有库的计算速度和精度,xgboost最大的特点在于,它能够自动利用CPU的多线程进行并行,同时在算法上加以改进提高了精度。现在xgboost已封装成了python库,并制作成了xgboost工具的R语言接口提交到了CRAN上,也有用户将其封装成了 julia库。

对于xgboost的原理,小编其实也不太懂,哈哈。如果大家想要深入了解其原理,推荐两篇博客:

http://www.tuicool.com/articles/r2Y36bR

http://blog.csdn.net/sb19931201/article/details/52557382

2 Python中使用xgboost

windows下安装xgboost参照如下博客(小编并未亲身实现):http://blog.csdn.net/zhuqiuhui/article/details/50450732

mac下安装xgboost参照如下博客(小编亲测可用):http://blog.csdn.net/kamendula/article/details/53166247

接下来,小编将给出一套完整的使用xgboost的代码:

import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler
from xgboost import XGBClassifier

#读入数据
train_x = pd.read_csv('train_x.csv', index_col=0)
train_y = pd.read_csv('train_y.csv', index_col=0, header=None)
test_x = pd.read_csv('test.csv', index_col=0)

train_ys = np.array(train_y).reshape(-1)

#定义训练集和测试集需要的维度
predict = ['order', 'en1','sum', 'time_stamp', 'consumeavg']
train_x=train_x[predict]
text_x=test_x[predict]

#数据标准化
ss = StandardScaler()
for c in predict:
    train_x[c] = ss.fit_transform(train_x[c])
    test_x[c] = ss.transform(test_x[c])

#定义模型
xgb=XGBClassifier()

#训练模型
xgb.fit(train_x,train_y)

#得到预测结果
result = xgb.predict(test_x)

可以看到,xgboost使用与sklearn中其他的分类算法使用完全相同,定义模型之后使用fit函数进行训练,并通过predict函数得到测试集的预测结果。

3 总结

本篇,小编带你使用了xgboost分类器,用在博客中看到的一句话来总结下xgboost的强大:

如果把数据竞赛比作金庸笔下的武林,那么XGBoost就是屠龙刀! “号令天下,莫敢不从!倚天不出,谁与争锋?”

至此,本系列的文章已经全部更新完毕,希望能够对大家有所帮助。

想了解更多? 那就赶紧来关注我们

原文发布于微信公众号 - 小小挖掘机(wAIsjwj)

原文发表时间:2017-03-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

基于OpenGL ES的深度学习框架编写

背景与工程定位 背景 项目组基于深度学习实现了视频风格化和人像抠图的功能,但这是在PC/服务端上跑的,现在需要移植到移动端,因此需要一个移动端的深度学习的计算框...

4398
来自专栏机器之心

资源 | Luminoth:基于TensorFlow的开源计算机视觉工具包

3477
来自专栏ATYUN订阅号

Meltdown漏洞和KPTI补丁如何影响机器学习性能?

在2018年初,互联网领域发现了两大系统漏洞,影响了主要的处理器厂商,这两大漏洞分别是“Meltdown(熔断)”和“Spectre(幽灵)”。这些漏洞是处理器...

4097
来自专栏ATYUN订阅号

使用OpenCV,Python和深度学习进行人脸识别

在这篇文章中,你将学会如何使用OpenCV、Python和深度学习在图像和视频流中执行人脸识别。我们今天将在这里使用的基于深度学习的面部嵌入,既高度准确又能够实...

3.3K5
来自专栏SnailTyan

动手学深度学习——第一课笔记(上)

第一课:从上手到多类分类 课程首先介绍了深度学习的很多应用:例如增强学习、物体识别、语音识别、机器翻译、推荐系统、广告点击预测等。 课程目的:通过动手实现来理解...

3560
来自专栏AI研习社

想要训练专属人脸识别模型?先掌握构建人脸数据集的三种绝招

雷锋网 AI 研习社按,随着深度学习的发展,很多技术已经落地,成为我们每天都能接触到的产品,人脸识别就是其中之一。人脸识别的应用范围很广,涉及上下班打卡、门禁、...

1962
来自专栏悦思悦读

数据挖掘: R, Python,Machine Learning,一起学起来!

大数据概念的火爆带动了相关工具方法的流行。大数据工具中,R和Python以其开源、免费、简单易用、大量算法库和社区支持等特质赢得了一众人心。机器学习则以其高大上...

3768
来自专栏机器之心

资源 | 清华大学发布珠算:一个用于生成模型的Python库

选自Github 机器之心编译 参与:吴攀 5 月 27-28 日,机器之心主办的第一届全球机器智能峰会(GMIS 2017)将在北京 898 创新空间举行。在...

38910
来自专栏人人都是极客

【免费教学】在嵌入式中使用 TensorFlow Lite

第一期中,分享了 TensorFlow Lite 的一些基本知识。今天与大家分享 Android 平台上的一些 TensorFlow Lite 应用,先来一起看...

2553
来自专栏玉树芝兰

如何用Python和深度神经网络寻找近似图片?

给你10万张图片,让你从中找出与某张图片最为近似的10张,你会怎么做?不要轻言放弃,也不用一张张浏览。使用Python,你也可以轻松搞定这个任务。

1491

扫码关注云+社区

领取腾讯云代金券