环境仍然是Jupyter Notebook, py2.7,至今没发现拿python做数据分析,有比这个笔记本更好用的工具。

此篇文章呢,主要是通过一个小的机器学习的项目,来说明一下,相关的大概步骤和所涉及到各种概念。

原始数据:有如下特点

波士顿房屋这些数据于1978年开始统计,共506个数据点,涵盖了麻省波士顿不同郊区房屋14种特征的信息。本项目对原始数据集做了以下处理:

1,异常的点的清除

2,无关特征的清除

数据操作这块主要通过Numpy和Pandas

数据展示这块主要是matplotlib和后台自定义的包visuals(仍然是基于matplotlib)

第一步操作,就是在读入housing.csv文件后,统计一下价格的最小值、最大值、均值、中值和标准差,后期做数据分析的时候,其实用到这几个统计值。

这里实现呢,本身python是自带统计函数的,但是,这里使用numpy相关的函数处理,理论上速度应该更快一些。

可以这样认为,numpy包是基于python做的优化,而pandas是基于numpy做的优化。

其他数据特征含义,可参考下图:

第二步操作,开始建模准备

选用R^2, 也就是决定系数作为模型的评测函数,一看这意思,就是要用回归分析来进行预测啦,因为决定系数,就是回归分析中最经常用的评价指标,

比如,回归系数是否显著,调整后的R平方(调整后的R2平方,及调整后的决定系数,若R2平方为)0.60,可解释为自变量的变异解释了因变量变异的60%,R2平方取值范围为0-1,越大代表回归方程对因变量的解释程度越大)

R^2的0表示从变量不能预测因变量.

R^2的1表示从自变量可以无误差地预测因变量。

所谓的拟合程度,就是指模型本身预测的准确程度,欠拟合,说明预测的太烂,过拟合,说明模型本身对数据太敏感,只是在训练数据上得分高,但是一旦超过那个数据的范围,使用新数据的话,预测准确性就会往下掉。

第三步,做数据切割

主要目的就是为了分为训练数据和测试数据,主要是用到了sklearn中model_selection这个包,然后用到train_test_split,

这个方法主要目的,就是随机生成的参数都比较好理解,

只是,random_state这个参数需要认真学习一下,这个东东叫随机数种子,我们做一个小测试,下面我们在使用train_test_split方法的时候设置这个参数,比如设置为0,当然也可以设置成1,2或者其他整数。

大家看到每次在进行分割的时候,他所分成的数组的结构是一样的。那么如果我不设置这个参数呢,

所以,当你相重复你之前的分割组的时候,你需要设置 random_state,不然它就会随机生成其他的数组结构,不一样的数组结构可能就会引发新的问题。所以舍不设置这个参数主要看你的需求。

把数据分割成训练集和测试集的目的,提升模型的泛化能力是一个目的。泛化能力,跟刚才的过拟合有点观点,就是希望模型本身能同样对新数据有较高的预测能力。

第四步,通过学习曲线和验证曲线来分析模型的来对算法进行诊断

下面是不同深度的决策树回归算法生成的学习曲线:

学习曲线是用来干嘛的?书上说它是用来判断算法究竟是过拟合还是欠拟合,

过拟合前面提到过,对数据本身依赖行过强,泛化能力较差。可以认为是模型的问题,可能就是模型本身太复杂(相对于训练集),参数太多。

一般说这种模型偏差较高,解决方法是增大训练集,但现实一般不容易做到。

欠拟合是说模型预测的能力太差,评测函数打的分太低,这有可能是数据本身比较复杂,但模型比较简单造成的

一般说这种模型偏差较高,解决方法是构建更多特征,减少正则项。

上面四个图中,从max-depth=6 开始,方差就增大了。而max-depth=1,很显然偏差比较大。

怎么解决呢?或者说怎么找最佳的深度值呢?通过验证曲线:下图

yanz

验证曲线,主要展示的是不同深度所对应的分数,这里的分数仍然是决定系数。通过观察,可以发觉在深度为3的时候应该是个最佳点。这个max-depth也可以认为是最优参数

(未完待续)

波士顿房价预测python决策树_机器学习第二练---波士顿房价预测相关推荐

  1. 波士顿房价预测python决策树_机器学习·波士顿房价预测模型

    模型评估与验证 当我们的机器学习模型建立好之后,如何训练数据以获得最优的模型参数,又用什么指标来评价模型的优劣呢?本文以波士顿房价为例,说明如何训练数据以及对模型做评估,辨别模型的优劣. 第一步:导入 ...

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

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

  3. bp神经网络预测python代码_机器学习之多层神经网络(附Python代码和数据)

    1 引言 多层神经网络,Multiple-layers Perceptron (MLP),又被称为多层感知机,是机器学习中深度学习的典型算法.关于多层神经网络的算法原理,我们在Stata和R实现的文章 ...

  4. kaggle房价预测特征意思_机器学习-kaggle泰坦尼克生存预测(一)-数据清洗与特征构建...

    1.背景: 1.1 关于kaggle: 谷歌旗下的 Kaggle 是一个数据建模和数据分析竞赛平台.该平台是当下最流行的数据科研赛事平台,其组织的赛事受到全球数据科学爱好者追捧. 如果学生能够在该平台 ...

  5. 波士顿房价预测python代码_使用Python和Numpy构建神经网络模型——波士顿房价预测案例...

    原标题:使用Python和Numpy构建神经网络模型--波士顿房价预测案例

  6. 决策树留一法python代码_机器学习模型2 决策树-基于Python sklearn的实现

    1.模型原理 (一)原理 1.原理:引入信息熵(不确定程度)的概念,通过计算各属性下的信息增益程度(信息增益越大,则意味着使用该属性来进行划分所获得的"纯度提升"越大),增益程度最 ...

  7. python 条件概率_机器学习中的概率问题

    机器学习的过程可以理解为计算机通过分析大量的数据获得模型,并通过获得的模型进行预测的过程.机器学习的模型可以有多种表示,例如线性回归模型,SVM模型,决策树模型,贝叶斯模型. 概率类型 在理解概率模型 ...

  8. 机器学习决策树_机器学习与数据科学决策树指南

    还在为如何抉择而感到纠结吗?快采用决策树(Decision Tree)算法帮你做出决定吧.决策树是一类非常强大的机器学习模型,具有高度可解释的同时,在许多任务中也有很高的精度.决策树在机器学习模型领域 ...

  9. python预测机票价格_一种国内机票价格预测方法与流程

    本发明属于机票查询预测技术领域,具体涉及一种国内机票价格预测方法. 背景技术: 随着生活水平的提高,选择飞机作为旅游出行的交通工具的人数逐年增加.但是,旅客对于机票价格依然十分敏感,且以最优价格购买心 ...

  10. 支持向量回归预测怎么做_机器学习如何在油气开发预测中发挥作用?

    机器学习主要作用是分类.回归.降维和聚类.在开发指标预测中主要是回归和降维.机器学习的主要理论基础就是使目标函数最小化,而目标函数主要由经验风险和结构风险组成.经验风险就是预测值和真实观测值的差异,结 ...

最新文章

  1. detach detach_ pytorch
  2. CVPR 2019论文阅读:Libra R-CNN如何解决不平衡对检测性能的影响?
  3. 我酸了!又是别人家公司!百度新年发 U 奖金鼓励员工
  4. ASP.NET中常用到的27个函数集
  5. integer比较_每日一题:Integer、int 的区别
  6. UVA - 12166 Equilibrium Mobile
  7. Jmater添加UDP插件
  8. 深入浅出 Spring
  9. java 全半角转换_Java 全半角转换
  10. Linux内核自旋锁
  11. c语言即时通讯软件源码,即时通讯软件源码-基于c语言即时通讯软件代码实现
  12. 编程书说的“Go程序员应该让聚合类型的零值也具有意义”是在讲什么
  13. 假的!微信上询问商品会被封号 微信朋友圈公布1月份十大谣言
  14. javascript的数据检测总结
  15. 重置Mysql自增列的开始序号
  16. Mybatis原理分析之二:框架整体设计
  17. ios测试游戏用什么软件,《超维对决》iOS测试安装说明
  18. java权限是怎么做的_java如何做权限管理
  19. C++ primer 5th 习题之10.13
  20. Simulink中powergui的FFT分析怎么用m文件实现?

热门文章

  1. 技术前沿与经典文章22:继牛顿以后最伟大的物理学家——詹姆斯·克拉克·麦克斯韦
  2. Vue history模式添加前缀 Nginx配置
  3. windows下仿Mac Dock软件MultiDock
  4. Registered driver with driverClassName=oracle.jdbc.driver.OracleDriver was n
  5. 计算机的科学思维是啥,浅谈计算机语言教学中的科学思维
  6. Linux项目实训一
  7. win10服务器怎么备份系统,详细教你win10怎么备份系统
  8. 离散信号分解与卷积和
  9. 影响手机成像质量的因素
  10. 【项目管理】交付绩效域管理