利用回归树对Boston房价进行预测,并对结果进行评估
来源:互联网 发布:山东实验中学校服淘宝 编辑:程序博客网 时间:2024/05/29 18:01
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.tree import DecisionTreeRegressor
#查看数据信息print(boston.DESCR)
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)
ss_X = StandardScaler()
ss_y =StandardScaler()
#分别对训练和测试数据的特征及目标值进行标准化处理
X_train = ss_X.fit_transform(X_train)
X_test = ss_X.transform(X_test)
y_train = ss_y.fit_transform(y_train)
y_test = ss_y.transform(y_test)
#使用默认的配置初始化DecisionTreeRegressor
dtr = DecisionTreeRegressor()
#用波士顿房价的数据构建回归树
dtr.fit(X_train,y_train)
#使用默认配置的单一回归树对测试数据进行测试
dtr_y_predict = dtr.predict(X_test)
#使用R-squared,MSE以及MAE三种指标对默认配置的回归树在测试集上进行性能评估
print('R-squared value of DecisionTreeRegressor:',dtr.score(X_test,y_test))
print('\n'*2)
print('The mean squared error of DecisionTreeRegressor: ',mean_squared_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(dtr_y_predict)))
print('\n'*2)
from sklearn.preprocessing import StandardScaler
from sklearn.tree import DecisionTreeRegressor
from sklearn.metrics import mean_squared_error,mean_absolute_error
'''注:回归树的叶节点的数据类型不是离散型,而是连续型,决策树每个叶节点依照训练数据表现的概率倾向决定最终的预测类别,而回归树叶节点是连续的,节点的值是‘一团数据’的均值'''
#导入数据
boston = load_boston()#查看数据信息print(boston.DESCR)
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)
ss_X = StandardScaler()
ss_y =StandardScaler()
#分别对训练和测试数据的特征及目标值进行标准化处理
X_train = ss_X.fit_transform(X_train)
X_test = ss_X.transform(X_test)
y_train = ss_y.fit_transform(y_train)
y_test = ss_y.transform(y_test)
#使用默认的配置初始化DecisionTreeRegressor
dtr = DecisionTreeRegressor()
#用波士顿房价的数据构建回归树
dtr.fit(X_train,y_train)
#使用默认配置的单一回归树对测试数据进行测试
dtr_y_predict = dtr.predict(X_test)
#使用R-squared,MSE以及MAE三种指标对默认配置的回归树在测试集上进行性能评估
print('R-squared value of DecisionTreeRegressor:',dtr.score(X_test,y_test))
print('\n'*2)
print('The mean squared error of DecisionTreeRegressor: ',mean_squared_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(dtr_y_predict)))
print('\n'*2)
print('The mean absolute error of DecisionTreeRegressor:',mean_absolute_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(dtr_y_predict)))
'''树模型型的优缺点'
优点:1.树模型可以解决非线性特征问题 2.树模型不要求对特征标准化和同一量化,即数值型和类别型特征都可以直接被应用到树模型的构建和预测中 3.因为上述原因,树模型也可以直观的输出决策过程,使得预测结果具有可解释性
缺点:1.正是因为树模型可以解决复杂的非线性拟合问题,所以更加容易因为模型搭建过于复杂而丧失对新数据预测的精度(泛化力);2树模型从上至下的预测流程会因为数据的细微更改而发生较大的结构变化,因此稳定性较差;3.依托训练数据构建最佳的树模型是NP难问题,即在有限时间内无法找到最优解的问题,因此使用类似的贪婪算法的解只能找到一些次优解,这也是为什么我们经常借助集成模型,在多个次优解中寻觅更高的模型性能。
''
阅读全文
0 0
- 利用回归树对Boston房价进行预测,并对结果进行评估
- 利用sklearn中的支持向量机回归模型(linear,poly,rbf三种核)对boston房价进行预测并作出评估
- 分别用普通线性回归、岭回归、Lasso回归对boston房价进行预测,比较效果
- 使用回归树对美国波士顿房价训练数据进行学习,并对测试数据进行预测
- 使用三种不同的核函数(回归)对Boston房价进行预测,同时对测试数据做出预测
- 集成模型(回归)对Boston数据进行训练并对数据做出预测
- K近邻回归模型对Boston房价进行预测,同时对性能进行评估(1.使用普通的算术平均法2.考虑距离差异进行加权平均)
- 自行编写线性回归对房价进行预测
- 使用三种继承回归模型对美国波士顿房价训练数据进行学习,并对测试数据进行预测
- 用深度神经网络对boston housing data进行回归预测的程序--tensorflow
- 利用LSTM对股票的收盘价进行回归预测
- 使用线性回归模型LinearRegression和SGDRegressor分别对美国波士顿地区房价进行预测
- 使用线性回归模型LinearRegression和SGDRegression分别对美国波士地区房价进行预测
- 分别用6种回归方法对波士顿房价进行预测
- Python多元线性回归-sklearn.linear_model,并对其预测结果评估
- 使用两种不同配置的K近邻回归模型对美国波士顿房价数据进行回归预测
- 使用两种不同配置的K近邻(回归)模型对美国波士顿房价数据进行回归预测
- 用lasso回归进行房价预测
- 讲给Android程序员看的前端教程(16)——伪类
- linux 中数据的含义 /proc/sys/fs/file-nr
- MSP430学习的第一个模拟I2C程序
- kkpager分页插件的Ajax数据变化但是页码不变的问题
- JQuery常用方法
- 利用回归树对Boston房价进行预测,并对结果进行评估
- 数据结构上机实践第五周项目3
- linux内核数据结构sk_buff偏移正解
- Docker:《二》DockerFile制作image
- Auth类认证
- placeholder在浏览器ie9以下不支持之一种解决方法
- 统计WebService的调用者、调用函数、运行时间
- java学习 (一) 环境配置与命令行执行
- 201171101