2.1.2.4回归树

作者: idatadesign | 来源:发表于2017-11-19 22:13 被阅读61次

模型介绍:回归树在选择不同特征作为分裂节点的策略上,与2.1.1.5决策树的思路相似。不同之处在于,回归树叶节点的数据类型不是离散型,而是连续型。决策树每个叶节点依照训练数据表现的概率倾向决定了其最终的预测类别;而回归树的叶节点却是一个个具体的值,从预测值连续这个意义上严格地讲,回归树不能称为“回归算法”。因为回归树的叶节点返回的是“一团”训练数据的均值,而不是具体的、连续的预测值。

初始
from sklearn.datasets import load_boston
#从读取房价数据存储在变量boston中。
boston=load_boston()
#输出数据描述
print(boston.DESCR)

from sklearn.cross_validation import train_test_split
import numpy as np
X=boston.data
y=boston.target
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.25,random_state=33)

from sklearn.preprocessing import StandardScaler
#分别初始化对特征和目标值的标准化器
ss_X=StandardScaler()
ss_y=StandardScaler()

#分别对训练和测试数据的特征以及目标值进行标准化处理
X_train=ss_X.fit_transform(X_train)
X_test=ss_X.fit_transform(X_test)
y_train=ss_y.fit_transform(y_train)
y_test=ss_y.fit_transform(y_test)
使用回归树对美国波士顿房价训练数据进行学习,并对测试数据进行预测
from sklearn.tree import DecisionTreeRegressor
dtr=DecisionTreeRegressor()
dtr.fit(X_train,y_train)
dtr_y_predict=dtr.predict(X_test)
对单一回归树模型在美国波士顿房价测试数据上的预测性能进行评估
from sklearn.metrics import r2_score,mean_absolute_error,mean_squared_error

print('R-squared value of uniform_weighted KNeighborsRegression:',dtr.score(X_test,y_test))
print('The mean squared error of distance-weighted KNeighborsRegression:',mean_squared_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(dtr_y_predict)))
print('The mean absolute error of distance-weighted KNeighborsRegression:',mean_absolute_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(dtr_y_predict)))

R-squared value of uniform_weighted KNeighborsRegression: 0.58987701986
The mean squared error of distance-weighted KNeighborsRegression: 31.8014668099
The mean absolute error of distance-weighted KNeighborsRegression: 3.77676872056

该代码的输出结果优于2.1.2.1线性回归器一节LinearRegression与SGDRegressor的性能表现。因此,可以初步判断,“美国波士顿房价预测”问题的特征与目标值之间存在一定的线性关系。

特点分析

在系统地介绍了决策(分类)树与回归树之后,可以总结这类树模型的优点:(1)树模型可以解决非线性特征的问题;(2)树模型不要求对特征标准化和统一量化,即数值型和类别型特征都可以直接被应用在树模型的构建和预测过程中;(3)因为上述原因,树模型也可以直观地输出决策过程,使得预测结果具有可解释性。

同时,树模型也有一些显著的缺陷:(1)正是因为树模型可以解决复杂的非线性拟合问题,所以更加容易因为模型搭建过于复杂而丧失对新数据预测的精度(泛化力);(2)树模型从上至下的预测流程会因为数据细微的更改而发生较大的结构变化,因此预测稳定性较差;(3)依托训练数据构建最佳的树模型是NP难问题,即在有限时间内无法找到最优解的问题,因此我们所使用类似贪婪算法的解法只能找到一些次优解,这也是为什么我们经常借助集成模型,在多个次优解中寻觅更高的模型性能。

相关文章

  • 2.1.2.4回归树

    模型介绍:回归树在选择不同特征作为分裂节点的策略上,与2.1.1.5决策树的思路相似。不同之处在于,回归树叶节点的...

  • 机器学习系列(三十六)——回归决策树与决策树总结

    本篇主要内容:回归决策树原理、回归树学习曲线、决策树总结 回归决策树原理 回归决策树树是用于回归的决策树模型,回归...

  • xgboost slide(二)

    这部分主要是介绍回归树和组合: 回归树(cart)1、回归树(也可以叫做分类回归树),加入gbdt是回归树,但是根...

  • 机器学习实战之树回归

    “回归”与“树” 在讲解树回归之前,我们看看回归和树巧妙结合的原因。 线性回归的弊端 线性回归需要拟合所有样本点,...

  • 树回归

    CART算法(分类回归树) 可以用来分类,也可以用来回归 回归树 回归树与分类树的思路类似,但叶节点的数据类型不是...

  • 对于树模型的一些见解

    首先树模型根据根据基于决策树和回归树可分为分类模型和回归模型。 对于分类和回归问题来说,不同的地方在于,对回归...

  • 【机器学习实战】第9章 树回归

    第9章 树回归 树回归 概述 我们本章介绍 CART(Classification And Regression ...

  • 回归树

    今天

  • 回归树

    传送门:分类树 1、原理 分类与回归树(classification and regression tree,CA...

  • 树回归

    当数据拥有众多特征并且特征之间关系十分复杂时,构建全局模型的想法就显得太难了。实际生活中很多问题都是非线性的,不可...

网友评论

    本文标题:2.1.2.4回归树

    本文链接:https://www.haomeiwen.com/subject/yxnpvxtx.html