SCIKIT-LEARN与GBDT使用案例
来源:互联网 发布:java flag标志位 编辑:程序博客网 时间:2024/06/05 08:33
安装
SCIKIT-LEARN是一个基于python/numpy/scipy的机器学习库
windows下最简单的安装方式是使用winpython进行安装
WinPython地址
GBDT使用
这段代码展示了一个简单的GBDT调用过程
数据维数24,训练数据1990,测试数据221
import numpy as npfrom sklearn.ensemble import GradientBoostingRegressorgbdt=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.shapegbdt.fit(train_feat,train_id)pred=gbdt.predict(test_feat)total_err=0for i in range(pred.shape[0]): print pred[i],test_id[i] err=(pred[i]-test_id[i])/test_id[i] total_err+=err*errprint total_err/pred.shape[0]
train_id.txt示例
320361364336358
train_feat.txt示例
0.00598802 0.569231 0.647059 0.95122 -0.225434 0.837989 0.357258 -0.0030581 -0.3834750.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.0360.84170859 360.0342.658750421 343.0329.591753015 328.0374.247432336 374.0
更多详细功能介绍请看这里
调参与结果对比
误差度量采用预测值与真值的误差占真值的百分比的均值
可以看出n_estimators和max_depth 与gbdt的表达能力相关度很高
同时gbdt相对svm效果更优
0 0
- SCIKIT-LEARN与GBDT使用案例
- scikit -learn 的使用
- Scikit-Learn使用总结
- 初步使用scikit-learn
- Scikit-learn使用总结
- Scikit-learn使用总结
- Scikit-learn使用总结
- Scikit-learn使用总结
- Scikit-learn使用总结
- scikit-learn使用总结
- Scikit-learn使用总结
- Scikit-learn使用总结
- scikit-learn的GBDT工具进行特征选取。
- scikit-learn 梯度提升树(GBDT)调参小结
- scikit-learn 梯度提升树(GBDT)调参小结
- scikit-learn 梯度提升树(GBDT)调参小结
- scikit-learn 梯度提升树(GBDT)调参小结
- scikit-learn使用笔记与sign prediction简单小结
- LeetCode 203 Remove Linked List Elements
- Java中集合小结
- Intent 跳转发短信、打电话、到设置界面等
- VisualSVN Server安装过程
- RecyclerView的拖动和滑动 第一部分 :基本的ItemTouchHelper示例
- SCIKIT-LEARN与GBDT使用案例
- iOS应用之间跳转
- ping通本机主机名问题
- 斐波那契数列
- 过程(栈帧结构是干货)
- hd2674 N!Again
- [Windows] 双缓冲代码
- 只有赢的人才有梦想的权力
- Meta http-equiv属性详解(转)