XGBoost算法原理解释(转载)
1.XGBoost算法原理
- 参考文章1
- 参考文章2
2.代码实战
train = pd.read_csv(r"./dataset/train.csv")
train.head()
"""user_id:没有实际意义,只是一个代号shop_id:商店的位置,是预测目标longitude:商店的经度latitude:商店的纬度wifi_id:路由器的编号wifi_strong:wifi的信号强度con_sta:wifi的连接状态
"""
test = pd.read_csv(r"./dataset/test.csv")
test.head()train['time_stamp'] = pd.to_datetime(pd.Series(train['time_stamp']))
test['time_stamp'] = pd.to_datetime(pd.Series(train['time_stamp']))
train.head()train['Year'] = train['time_stamp'].apply(lambda x: x.year)
train['Month'] = train['time_stamp'].apply(lambda x: x.month)
train['weekday'] = train['time_stamp'].dt.dayofweek
train['time'] = train['time_stamp'].dt.timetest['Year'] = test['time_stamp'].apply(lambda x: x.year)
test['Month'] = test['time_stamp'].apply(lambda x: x.month)
test['weekday'] = test['time_stamp'].dt.dayofweek
test['time'] = test['time_stamp'].dt.timetrain = train.drop("time_stamp", axis=1)
test = test.drop("time_stamp", axis=1) # axis=1列方向,水平方向
train = train.dropna(axis=0)
test = test.fillna(method='pad') # axis=0行方向,垂直方向
train.head()
test.head()for f in train.columns:if train[f].dtype == 'object':if f != 'shop_id':print("train col:\n", f)labels = preprocessing.LabelEncoder()train[f] = labels.fit_transform(list(train[f].values))
for f in test.columns:if test[f].dtype == 'object':print("test col:\n", f)labels = preprocessing.LabelEncoder()labels.fit(list(test[f].values))test[f] = labels.transform(list(test[f].values))feature_columns_to_use = ['Year', 'Month', 'weekday',
'time', 'longitude', 'latitude',
'wifi_id1', 'wifi_strong1', 'con_sta1','wifi_id2', 'wifi_strong2', 'con_sta2',
'wifi_id3', 'wifi_strong3', 'con_sta3',
'wifi_id4', 'wifi_strong4', 'con_sta4',
'wifi_id5', 'wifi_strong5', 'con_sta5',
'wifi_id6', 'wifi_strong6', 'con_sta6',
'wifi_id7', 'wifi_strong7', 'con_sta7',
'wifi_id8', 'wifi_strong8', 'con_sta8',
'wifi_id9', 'wifi_strong9', 'con_sta9',
'wifi_id10', 'wifi_strong10', 'con_sta10',]big_train = train[feature_columns_to_use]
big_test = test[feature_columns_to_use]train_X = big_train.as_matrix()
test_X = big_test.as_matrix()train_y = train['shop_id']# xgboost生成的决策树,处理的特征都是连续型的!!
gbm = xgb.XGBClassifier(silent=1,max_depth=10, n_estimators=1000, learning_rate=0.05)gbm.fit(train_X, train_y)
y_hat = gbm.predict(test_X)# 下面是提交到kaggle上的格式
submission = pd.DataFrame({'row_id': test['row_id'],'shop_id': y_hat})print(submission)
submission.to_csv(r"./dataset/submission.csv", index=False)
- 参考博客
- XGBoost参数说明
- 代码及数据集下载地址
XGBoost算法原理解释(转载)相关推荐
- XGBoost算法原理以及实现
想问:在CSDN如何编辑数学公式呢? XGBoost算法是由GBDT算法演变出来的,GBDT算法在求解最优化问题的时候应用了一阶导技术,而XGBoost则使用损失函数的一阶导和二阶导,不但如此, 还可 ...
- 算法(一):如何高效的算出2*8的值,位移算法原理解释,为什么8左移1位,4左移2位,2左移3位,1左移4位的结果为16
位移算法,如何高效的算出2*8的值,为什么8<<1,4<<2,2<<3,1<<4的结果为16,位移算法原理解释: 一个很重要的原因埋在前头:当初笔者刚出 ...
- Xgboost算法原理详解及python实现
Xgboost算法(回归树) 1.算法原理 2.对数据的要求(无需规范化) 3.算法的优缺点 4.XGB.GBDT.LR与RF 5.python代码实现 导入相关包 读取数据并预处理 训练 贝叶斯初步 ...
- xgboost算法原理_从XGB到SecureBoost:看联邦学习XGB的算法原理
摘要: 最近与某厂完成基于FATE的联邦学习框架的一个项目,第一次实践了一把联邦学习在实际业务场景中的应用,从模型评估结果来看,效果还不错.因此,本文将完成对于其中实现的提升算法SecureBoost ...
- xgboost 算法参数解释
xgboost 算法 目前集成学习方法大致可分为两大类: 第一类是个体学习器之间存在强依赖关系.必须串行生成的序列化方法,这种方法的代表是"Boosting": 第二类是个体学习器 ...
- mysql主存 辅存_MySQL索引背后的数据结构及算法原理(转载)
MYSQL索引数据结构请参考如下链接: 外存储器-磁盘介绍: 计算机存储设备一般分为两种:内存储器(main memory)和外存储器(external memory). 内存存取速度快,但容量小,价 ...
- 【深度学习】语音识别之CTC算法原理解释与公式推导
不搞语音识别得人开这个论文确实有点费劲,结合上图,思考一下语音识别的场景,输入是一段录音,输出是识别的音素, 输入的语音文件的长度和输出的音素个数之间没有一一对应关系,通常将语音文件「分片」之后,会出 ...
- GBDT、随机森林、xgboost算法原理解析视频公开
向AI转型的程序员都关注了这个号
- xgboost算法_xgboost算法原理篇
1, 概述部分 这篇文章,主要来介绍一下xgboost的理论部分,可能会不够详细,由于xgboost算法相比较前三篇文章中提到的算法更加复杂,这里主要讲解一下损失函数正则化,切分点查找算法及其优化,叶 ...
最新文章
- javaSE8的流库总结
- 第 3 章 kickstart
- PHP正则表达式详解
- 温州人集体大溃败,值得所有中国人警示!
- bgl 词典_深大版成语词典发布!不学不是深大人!深大快讯
- 一个悄然成为世界最流行的操作系统诞生!
- 输入十个数,输出其中最大数、下标,用函数实现
- React-事件机制杂记
- SAP Spartacus默认的货币列表currency是从源代码什么地方读取的
- python--14 递归
- 进程间通信 (IPC) 方法总结(三)
- Linux学习笔记(四)之查看登录用户
- 准入控制(NAC)技术调研
- 怎么样用c语言读一章图片,读c语言深度剖析 -- 第一章 关键字(32个)
- js-对象深度克隆方法
- IP 层收发报文简要剖析1-ip报文的输入
- pds如何安装虚拟服务器,PDS工业缝纫机制版软件安装及常见问题解决方法
- oracle数据库表格连接数据库,excel中连接表格数据库-excel怎样连接oracle数据库(白痴级提问)...
- jdbc连接字符集为us7ascii的oracle数据库乱码解决办法
- 用php照片艺术化,Lab:照片艺术化调色处理介绍