python-数据处理--决策树--回归器构建房价评估模型(附源码)

时间:2019-06-18
本文章向大家介绍python-数据处理--决策树--回归器构建房价评估模型(附源码),主要包括python-数据处理--决策树--回归器构建房价评估模型(附源码)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

源码:

from sklearn import datasets    # sklearn自带的datasets中就有Boston房价数据集
from sklearn.model_selection import train_test_split   # 分割数据专用

hous = datasets.load_boston()  # 房价信息数据集

dataset_X = hous.data  # 取出特征数据(影响房价的特征向量)
dataset_Y = hous.target  # 取出对应的标签(房价)


# 分割数据集
train_X,test_X,train_y,test_y = train_test_split(dataset_X,dataset_Y,test_size=0.2)
# train训练集,test测试集,X为特征数据,y为标签,test_size划分比例,0.2即82分


# 建模:决策树回归模型
from sklearn.tree import DecisionTreeRegressor
from sklearn import tree

dtReg = DecisionTreeRegressor()   # 初始化模型
dtReg.fit(train_X,train_y)    # 训练模型


# 预测数据
y_pre_test = dtReg.predict(test_X)
print(y_pre_test)  # 预测值(结果)
print(test_y)   # 真实值



import graphviz

import os
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin'

dot_data = tree.export_graphviz(dtReg,out_file=None,filled=True)
graph = graphviz.Source(dot_data)
graph.render('tree',view=True)



import sklearn.metrics as metrics
print(metrics.mean_squared_error(y_pred=y_pre_test,y_true=test_y))  # 数据的均方误差
# y_pred预测数据,y_true真实结果(标签)


from sklearn.ensemble import AdaBoostRegressor

dtReg = DecisionTreeRegressor(max_depth=5)  # 只初始化模型,训练任务交给adaboost

adaBoostRe = AdaBoostRegressor(dtReg,n_estimators=400)  # dtReg弱回归器,n_estimators最大弱回归器的数据量

adaBoostRe.fit(train_X,train_y)    # 训练模型

y_pre_test = adaBoostRe.predict(test_X)  # 测试模型

# print(y_pre_test)
# print(test_y)

print(metrics.mean_squared_error(y_pred=y_pre_test,y_true=test_y))

原文地址:https://www.cnblogs.com/kitshenqing/p/11047572.html