Python3.7——决策树实战:california房价预测

网上有好多2.*版本的代码 但是本地安装的是python3.7版本,在学习中遇到很多问题,有很多地方和2.*版本的不一样,所以记录下来方便参考,侵权必删。

导入模块

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline

加载数据

由于sklearn自带的数据集california_housing在后来的版本中去除了 需要自己手动下载数据集,而且数据格式也与之前不一致。
下载地址:链接:https://pan.baidu.com/s/1MED3CmImTSJcPK4lUWuMUQ
提取码:qtb2

house = np.loadtxt('cal_housing.data', delimiter=',')
house_feature_name=pd.read_csv('cal_housing.domain',sep=':',header = None)
house_feature_name=house_feature_name.values #DataFrame转化为数组

创建树模型

from sklearn import tree
dtr = tree.DecisionTreeRegressor(max_depth = 2)
#使用两列的特征进行训练 即传两个参数x, y
dtr.fit(house[:, [0, 1]], house[:,8])

要可视化显示 首先需要安装 graphviz

下载地址http://www.graphviz.org/download/
安装完成后需要配置环境变量

dot_data = \tree.export_graphviz(dtr,out_file = None,feature_names = house_feature_name[0:2,0],filled = True,impurity = False,rounded = True)

pip install pydotplus

import pydotplus
import os
os.environ["PATH"] += os.pathsep + 'E:/python/Graphviz2.38/bin/'
graph = pydotplus.graph_from_dot_data(dot_data)
graph.get_nodes()[7].set_fillcolor("#FFF2DD")
graph.write_png("graph.png")
from IPython.display import Image
Image(graph.create_png())

保存到本地

graph.write_png('dtr_white_background.png')

将数据集进行划分,划分为训练集和测试集,并进行训练、验证

from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = \train_test_split(house[:,0:8], house[:,8], test_size = 0.1, random_state = 42)
dtr = tree.DecisionTreeRegressor(random_state=42)
dtr.fit(x_train, y_train)
dtr.score(x_test, y_test) #评估

0.6361160159262982

使用随机森林

from sklearn.ensemble import RandomForestRegressor
rfr = RandomForestRegressor( random_state = 42)
rfr.fit(x_train, y_train)
rfr.score(x_test, y_test)

0.8105496535139884
很明显用随机森林得到的分数比单个树更高

用交叉验证选取参数

#用交叉验证选取参数
'''GridSearchCV(网络搜索交叉验证)用于系统地遍历模型的多种参数组合,通过交叉验证从而确定最佳参数,适用于小数据集。
常用属性
best_score_ :最佳模型下的分数
best_params_ :最佳模型参数
cv_results_ : 具体用法模型不同参数下交叉验证的结果
best_estimator_ : 最佳分类器之所以出现以上问题
'''from sklearn.model_selection import  GridSearchCV# 一般把参数写成字典的格式:
tree_param_grid = { 'min_samples_split': list((3, 6, 9)),'n_estimators': list((10,50,100))}# 第一个参数是模型,第二个参数是待选的参数,cv:进行几次交叉验证
grid = GridSearchCV(RandomForestRegressor(), param_grid = tree_param_grid, cv = 5)
grid.fit(x_train, y_train)
grid.cv_results_, grid.best_params_, grid.best_score_

参考:https://blog.csdn.net/zhongguoxin12/article/details/84843397

决策树实战:california房价预测相关推荐

  1. Python机器学习/数据挖掘项目实战 波士顿房价预测 回归分析

    Python机器学习/数据挖掘项目实战 波士顿房价预测 回归分析 此数据源于美国某经济学杂志上,分析研究波士顿房价( Boston HousePrice)的数据集. 在这个项目中,你将利用马萨诸塞州波 ...

  2. 波士顿房价预测python决策树_波士顿房价预测 - 最简单入门机器学习 - Jupyter

    机器学习入门项目分享 - 波士顿房价预测 该分享源于Udacity机器学习进阶中的一个mini作业项目,用于入门非常合适,刨除了繁琐的部分,保留了最关键.基本的步骤,能够对机器学习基本流程有一个最清晰 ...

  3. 数据科学家之路 实战2---Kaggle房价预测

    第一个O2O我其实主要讲了思路,大部分的代码并没有去实现.究其原因还是因为能力不够......感觉天池的题目前对我还是有点难了,找不到下手点.所以还是先回归kaggle,希望仔细研究几个题目后再转战天 ...

  4. kaggle房价预测特征意思_Kaggle实战-波士顿房价预测

    本文数据集来自Kaggle波士顿房价预测项目https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data 1.数据 ...

  5. Kaggle实战之 房价预测案例

    房价预测案例(进阶版) 这是进阶版的notebook.主要是为了比较几种模型框架.所以前面的特征工程部分内容,我也并没有做任何改动,重点都在后面的模型建造section Step 1: 检视源数据集 ...

  6. 线性回归实战【房价预测】

    前言 本文属于 线性回归算法[AIoT阶段三],这里截取自其中一段内容,方便读者理解和根据需求快速阅读.本文通过公式推导+代码两个方面同时进行,因为涉及到代码的编译运行,如果你没有 NumPyNumP ...

  7. 机器学习入门实战---波士顿房价预测

    波士顿房价预测 波士顿房价数据集介绍 波士顿房价数据说明:此数据源于美国某经济学杂志上,分析研究波士顿房价( Boston HousePrice)的数据集.数据集中的每一行数据都是对波士顿周边或城镇房 ...

  8. 0907实战KAGGLE房价预测数据

    数据集: 本文主要对KAGGLE房价预测数据进行预测,并提供模型的设计以及超参数的选择. 该数据集共有1460个数据样本,80个样本特征   数据集介绍可参照:  House Prices - Adv ...

  9. 深度学习基础24(实战:房价预测)

    实战:预测房价 此数据集由Bart de Cock于2011年收集 , 涵盖了2006-2010年期间亚利桑那州埃姆斯市的房价. 这个数据集是相当通用的,不会需要使用复杂模型架构. 下载和缓存数据集 ...

最新文章

  1. python打印换行符_Python换行符以及如何在不使用换行符的情况下进行Python打印
  2. 独家 | 5个步骤开启你的数据科学职业生涯!(附链接)
  3. 【 Vivado 】工程模式下运用Tcl脚本示范
  4. Arduino学习笔记35
  5. 高级经济师计算机水平考试,【2017上海高级经济师评审职称外语、计算机成绩不再为前置条件】- 环球网校...
  6. 主动安全,新华三融合生态之力!
  7. devops的重要性_为什么DevOps是当今最重要的技术战略
  8. wordpress如何屏蔽wp-json(禁用REST API)
  9. [洛谷P5367]【模板】康托展开
  10. [转载] Python中的数学函数,三角函数,随机数函数
  11. ENVI基于遥感影像的几何配准方法
  12. centos7 安装 卸载docker
  13. 百度地图-根据经纬度定位示例-百度地图单点标注(整理)
  14. transformer 模型的decoder部分 带gif动图
  15. wps“公式编辑器”的MT Extra 字体无效,将无法显示和打印某些字体。请重新安装“公式编辑器”,以便正确安装其字体
  16. 电路及esd静电防护
  17. JAVASE常见面试题总结
  18. 电流检测的方式与误差来源
  19. 联想台式计算机装系统,联想台式电脑用u盘怎么重装win7系统教程
  20. 大企业的计算机设备维护,企业计算机系统维护措施

热门文章

  1. 食品行业数字化采购协同管理发展分析
  2. string中find和find_first_of函数用法总结
  3. ios部署yolov5
  4. PPT动画教程:配色方案
  5. 电气工程cad实用教程电子版_建筑电气工程CAD实用教程
  6. ssh framework
  7. Exchange Server 2013 DAG高可用部署(一)-前期准备
  8. ijkplayer Android 端简要使用流程
  9. 《西湖梦》 - 洛天依 乐正绫 :OI版
  10. android+6.0中兴v5s,中兴V5S的手机系统是什么?中兴V5S能升级安卓4.3吗?