查看原文
其他

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

文文 Python爱好者社区 2019-04-07

作者:文文

个人公众号:小小挖掘机(ID:wAIsjwj)


前文传送门:

数据城堡参赛代码实战篇(一)---手把手教你使用pandas

数据城堡参赛代码实战篇(二)---使用pandas进行数据去重

数据城堡参赛代码实战篇(三)---我们来探究一个深奥的问题!

数据城堡参赛代码实战篇(四)---使用pandas合并数据表

数据城堡参赛代码实战篇(五)---使用sklearn解决分类问题

数据城堡参赛代码实战篇(六)---使用sklearn进行数据标准化及参数寻优


关注Python爱好者社区,回复"数据代码",即可获得本文数据代码。


小编们最近参加了数据城堡举办的“大学生助学金精准资助预测”比赛,以分组第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就是屠龙刀!


“号令天下,莫敢不从!倚天不出,谁与争锋?”

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

Python爱好者社区历史文章大合集

Python爱好者社区历史文章列表(每周append更新一次)

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复“课程”即可获取:

小编的Python入门免费视频课程!!!

【最新免费微课】小编的Python快速上手matplotlib可视化库!!!

崔老师爬虫实战案例免费学习视频。

陈老师数据分析报告制作免费学习视频。

玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存