机器学习之路: python 回归树 DecisionTreeRegressor 预测波士顿房价
Posted 稀里糊涂林老冷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习之路: python 回归树 DecisionTreeRegressor 预测波士顿房价相关的知识,希望对你有一定的参考价值。
python3 学习api的使用
git: https://github.com/linyi0604/MachineLearning
代码:
1 from sklearn.datasets import load_boston 2 from sklearn.cross_validation import train_test_split 3 from sklearn.preprocessing import StandardScaler 4 from sklearn.tree import DecisionTreeRegressor 5 from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error 6 import numpy as np 7 8 ‘‘‘ 9 回归树: 10 严格上说 回归树不能算是回归 11 叶子节点是一团训练数据的均值 不是连续 具体的预测值 12 13 解决特征非线性的问题 14 不要求特征标准化和统一量化 15 16 容易过于复杂丧失泛化能力 17 稳定性较差,细微改变会导致树结构发生重大变化 18 19 ‘‘‘ 20 21 # 1 准备数据 22 # 读取波士顿地区房价信息 23 boston = load_boston() 24 # 查看数据描述 25 # print(boston.DESCR) # 共506条波士顿地区房价信息,每条13项数值特征描述和目标房价 26 # 查看数据的差异情况 27 # print("最大房价:", np.max(boston.target)) # 50 28 # print("最小房价:",np.min(boston.target)) # 5 29 # print("平均房价:", np.mean(boston.target)) # 22.532806324110677 30 31 x = boston.data 32 y = boston.target 33 34 # 2 分割训练数据和测试数据 35 # 随机采样25%作为测试 75%作为训练 36 x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25, random_state=33) 37 38 39 # 3 训练数据和测试数据进行标准化处理 40 ss_x = StandardScaler() 41 x_train = ss_x.fit_transform(x_train) 42 x_test = ss_x.transform(x_test) 43 44 ss_y = StandardScaler() 45 y_train = ss_y.fit_transform(y_train.reshape(-1, 1)) 46 y_test = ss_y.transform(y_test.reshape(-1, 1)) 47 48 # 4 使用回归树进行训练和预测 49 # 初始化k近邻回归模型 使用平均回归进行预测 50 dtr = DecisionTreeRegressor() 51 # 训练 52 dtr.fit(x_train, y_train) 53 # 预测 保存预测结果 54 dtr_y_predict = dtr.predict(x_test) 55 56 # 5 模型评估 57 print("回归树的默认评估值为:", dtr.score(x_test, y_test)) 58 print("平回归树的R_squared值为:", r2_score(y_test, dtr_y_predict)) 59 print("回归树的均方误差为:", mean_squared_error(ss_y.inverse_transform(y_test), 60 ss_y.inverse_transform(dtr_y_predict))) 61 print("回归树的平均绝对误差为:", mean_absolute_error(ss_y.inverse_transform(y_test), 62 ss_y.inverse_transform(dtr_y_predict))) 63 64 ‘‘‘ 65 回归树的默认评估值为: 0.7066505912533438 66 平回归树的R_squared值为: 0.7066505912533438 67 回归树的均方误差为: 22.746692913385836 68 回归树的平均绝对误差为: 3.08740157480315 69 ‘‘‘
以上是关于机器学习之路: python 回归树 DecisionTreeRegressor 预测波士顿房价的主要内容,如果未能解决你的问题,请参考以下文章
机器学习之路: python 线性回归LinearRegression, 随机参数回归SGDRegressor 预测波士顿房价
机器学习之路:python线性回归分类器 进行良恶性肿瘤分类预测
机器学习之路:python支持向量机回归SVR 预测波士顿地区房价