决策树实战:california房价预测
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房价预测相关推荐
- Python机器学习/数据挖掘项目实战 波士顿房价预测 回归分析
Python机器学习/数据挖掘项目实战 波士顿房价预测 回归分析 此数据源于美国某经济学杂志上,分析研究波士顿房价( Boston HousePrice)的数据集. 在这个项目中,你将利用马萨诸塞州波 ...
- 波士顿房价预测python决策树_波士顿房价预测 - 最简单入门机器学习 - Jupyter
机器学习入门项目分享 - 波士顿房价预测 该分享源于Udacity机器学习进阶中的一个mini作业项目,用于入门非常合适,刨除了繁琐的部分,保留了最关键.基本的步骤,能够对机器学习基本流程有一个最清晰 ...
- 数据科学家之路 实战2---Kaggle房价预测
第一个O2O我其实主要讲了思路,大部分的代码并没有去实现.究其原因还是因为能力不够......感觉天池的题目前对我还是有点难了,找不到下手点.所以还是先回归kaggle,希望仔细研究几个题目后再转战天 ...
- kaggle房价预测特征意思_Kaggle实战-波士顿房价预测
本文数据集来自Kaggle波士顿房价预测项目https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data 1.数据 ...
- Kaggle实战之 房价预测案例
房价预测案例(进阶版) 这是进阶版的notebook.主要是为了比较几种模型框架.所以前面的特征工程部分内容,我也并没有做任何改动,重点都在后面的模型建造section Step 1: 检视源数据集 ...
- 线性回归实战【房价预测】
前言 本文属于 线性回归算法[AIoT阶段三],这里截取自其中一段内容,方便读者理解和根据需求快速阅读.本文通过公式推导+代码两个方面同时进行,因为涉及到代码的编译运行,如果你没有 NumPyNumP ...
- 机器学习入门实战---波士顿房价预测
波士顿房价预测 波士顿房价数据集介绍 波士顿房价数据说明:此数据源于美国某经济学杂志上,分析研究波士顿房价( Boston HousePrice)的数据集.数据集中的每一行数据都是对波士顿周边或城镇房 ...
- 0907实战KAGGLE房价预测数据
数据集: 本文主要对KAGGLE房价预测数据进行预测,并提供模型的设计以及超参数的选择. 该数据集共有1460个数据样本,80个样本特征 数据集介绍可参照: House Prices - Adv ...
- 深度学习基础24(实战:房价预测)
实战:预测房价 此数据集由Bart de Cock于2011年收集 , 涵盖了2006-2010年期间亚利桑那州埃姆斯市的房价. 这个数据集是相当通用的,不会需要使用复杂模型架构. 下载和缓存数据集 ...
最新文章
- python打印换行符_Python换行符以及如何在不使用换行符的情况下进行Python打印
- 独家 | 5个步骤开启你的数据科学职业生涯!(附链接)
- 【 Vivado 】工程模式下运用Tcl脚本示范
- Arduino学习笔记35
- 高级经济师计算机水平考试,【2017上海高级经济师评审职称外语、计算机成绩不再为前置条件】- 环球网校...
- 主动安全,新华三融合生态之力!
- devops的重要性_为什么DevOps是当今最重要的技术战略
- wordpress如何屏蔽wp-json(禁用REST API)
- [洛谷P5367]【模板】康托展开
- [转载] Python中的数学函数,三角函数,随机数函数
- ENVI基于遥感影像的几何配准方法
- centos7 安装 卸载docker
- 百度地图-根据经纬度定位示例-百度地图单点标注(整理)
- transformer 模型的decoder部分 带gif动图
- wps“公式编辑器”的MT Extra 字体无效,将无法显示和打印某些字体。请重新安装“公式编辑器”,以便正确安装其字体
- 电路及esd静电防护
- JAVASE常见面试题总结
- 电流检测的方式与误差来源
- 联想台式计算机装系统,联想台式电脑用u盘怎么重装win7系统教程
- 大企业的计算机设备维护,企业计算机系统维护措施