摘要:本文主要向大家介绍了机器学习入门之机器学习之路: python 回归树 DecisionTreeRegressor 预测波士顿房价,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。
本文主要向大家介绍了机器学习入门之机器学习之路: python 回归树 DecisionTreeRegressor 预测波士顿房价,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。
代码:
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 ‘‘‘
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能机器学习频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号