GBDT(sklearn)进行回归

来源:互联网 发布:淘宝个人店铺 发票 编辑:程序博客网 时间:2024/05/22 06:24

sklearn中可以使用GBDT进行分类和回归,下面是GBDT进行回归的文档

http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingRegressor.html#examples-using-sklearn-ensemble-gradientboostingregressor

gbdt回归小例子,可以使用交叉验证进行验证结果。

http://blog.csdn.net/superzrx/article/details/47073847
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,train_id.shape,test_feat.shape,test_id.shape)gbdt.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])
原创粉丝点击