SCIKIT-LEARN与GBDT使用案例
GBDT使用
这段代码展示了一个简单的GBDT调用过程
数据维数24,训练数据1990,测试数据221
import numpy as np
from sklearn.ensemble import GradientBoostingRegressor
gbdt=GradientBoostingRegressor(
loss='ls'
, learning_rate=0.1
, n_estimators=100
, subsample=1
, min_samples_split=2
, min_samples_leaf=1
, max_depth=3
, init=None
, random_state=None
, max_features=None
, alpha=0.9
, verbose=0
, max_leaf_nodes=None
, warm_start=False
)
train_feat=np.genfromtxt("train_feat.txt",dtype=np.float32)
train_id=np.genfromtxt("train_id.txt",dtype=np.float32)
test_feat=np.genfromtxt("test_feat.txt",dtype=np.float32)
test_id=np.genfromtxt("test_id.txt",dtype=np.float32)
print train_feat.shape,rain_id.shape,est_feat.shape,est_id.shape
gbdt.fit(train_feat,train_id)
pred=gbdt.predict(test_feat)
total_err=0
for i in range(pred.shape[0]):
print pred[i],test_id[i]
err=(pred[i]-test_id[i])/test_id[i]
total_err+=err*err
print total_err/pred.shape[0]
train_id.txt示例
320
361
364
336
358
train_feat.txt示例
0.00598802 0.569231 0.647059 0.95122 -0.225434 0.837989 0.357258 -0.0030581 -0.383475
0.161677 0.743195 0.682353 0.960976 -0.0867052 0.780527 0.282945 0.149847 -0.0529661
0.113772 0.744379 0.541176 0.990244 -0.00578035 0.721468 0.43411 -0.318043 0.288136
0.0538922 0.608284 0.764706 0.95122 -0.248555 0.821229 0.848604 -0.0030581 0.239407
0.173653 0.866272 0.682353 0.95122 0.017341 0.704709 -0.0210016 -0.195719 0.150424
测试结果与真值
333.986169852 334.0
360.84170859 360.0
342.658750421 343.0
329.591753015 328.0
374.247432336 374.0
调参与结果对比
误差度量采用预测值与真值的误差占真值的百分比的均值
方法 | 参数 | 平均误差百分比 |
---|---|---|
svm | 最佳参数 | 1.60452% |
gdbt | n_estimators=100,max_depth=3 | 2.29247% |
gdbt | n_estimators=1000,max_depth=3 | 1.23875% |
gdbt | n_estimators=1000,max_depth=5 | 1.14202% |
gdbt | n_estimators=1000,max_depth=7 | 1.02505% |
可以看出n_estimators和max_depth 与gbdt的表达能力相关度很高
同时gbdt相对svm效果更优
时间:2018-08-20 00:32 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
- [机器学习]机器学习 - 一文理解 GBDT 的原理 -20171001
- [机器学习]搜索引擎中的 Web 数据挖掘
- [机器学习]GBDT+LR 算法解析及 Python 实现
- [机器学习]A Course in Machine Learning
- [机器学习]《Credit Risk Scorecard》 第六章: Scorecard Development
- [机器学习]python调参神器hyperopt
- [机器学习]R语言–数据抽样的实现
- [机器学习]揭秘Kaggle神器xgboost
- [机器学习]跨平台机器学习模型交互–PMML简述
- [机器学习]R训练Random Forest并转pmml
相关推荐:
网友评论:
最新文章
热门文章