2016.12.28回顾 GBDT初探

20 篇文章 0 订阅

昨天基本上一直在研究GBDT,主要是直接使用python的sklearn包中现成的算法,但是我在windows环境下安装这个包出现了一些问题,我最后尝试的是下载anaconda,anaconda我了解了一下是一个用于科学计算的集成开发工具,或者是环境,他已经有了很多科学计算相关的包,他的原理应该是基于virtualenv的,我这个anaconda的环境是python2.7.12,里面集成了spyder这个有点类似于matlab和R studio这种IDE,然后我小用了一下,还是比较简单便捷的

GBDT是在sklearn的ensemble包中,属于一种集成学习的思想,分为回归树和分类树

from sklearn.ensemble import GradientBoostingRegressor

from sklearn.ensemble import GradientBoostingClassifier

前者是回归树,后者是分类树

sklearn中大多数算法使用起来都很简单,都是生成一个分类器,这个分类器有很多参数,用训练集进行训练,然后用测试集进行测试,基本上所有的有监督学习都是采用这样一种套路

另外sklearn提供了一种自动划分数据集为训练集和测试集的方法,

from sklearn import cross_validation

x_train,x_test,y_train,y_test = cross_validation.train_test_split(x,y,test_size=0.3)

类似这样,x是原始的data,是一个二维的数组,y是原始target_variable,是一个一维数组,这个方法可以直接使用,没关系

model.score可以计算分类正确率

我在思考的问题就是如何把算法的输出rank order,分类树,我不清楚他分类之前是什么样一个形式,是一个probability呢?还是什么呢?如果直接用回归树如何?直接用回归树的值就行rank order可以吗?我记得当时simon叫huang做线性回归,就是输出的值进行rank order!

均方误差MSE计算形式如方差





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值