5.Underfitting and Overfitting

在这一步结束时,您将了解欠拟合和过拟合的概念,并且您将能够应用这些办法来使您的模型更准确。

Experimenting With Different Models

现在您已经有了一种可靠的方法来测量模型精度,您可以尝试使用其他模型,并查看哪种模型可以提供最佳预测。 但是你对模型有什么选择?

您可以在scikit-learn的文档中看到决策树模型有很多选项(比您长期想要或需要的更多)。 最重要的选项决定了树的深度。 回想一下本课程的第一课,树的深度是衡量它在进行预测之前分支的数量。 这是一棵相对浅的树

Depth 2 Tree

在实践中,树在顶层(所有房屋)和叶子之间有10个分支并不罕见。随着树木越来越深,数据集被切成了更少房屋的树叶。如果树只有1个分割,则将数据分为2组。如果每组再次拆分,我们将获得4组房屋。再次拆分每个将创建8个组。如果我们通过在每个级别添加更多分组来保持组数量翻倍,当我们到达第10级时我们将有2^{10}房屋。即1024片叶子。

当我们将房屋分成许多树叶时,每片树叶中的房屋数量也会减少。拥有极少数房屋的树叶将进行与房屋实际值非常接近的预测,但它们可能会对新数据做出非常不可靠的预测(因为每个预测仅基于少数房屋)。

这是一种称为过拟合的现象,其中模型几乎完美地匹配训练数据,但在验证其他新数据方面表现不佳。另一方面,如果我们使树非常浅,它不会将房屋分成非常不同的组。

在极端情况下,如果一棵树将房屋分成2或4组,每组仍有各种各样的房屋。对于大多数房屋来说,结果预测可能相差甚远,即使在训练数据中也是如此(由于同样的原因,验证也会很糟糕)。当模型无法捕获数据中的重要区别和模式时,即使在训练数据中它也表现不佳,这称为欠拟合

由于我们关注新数据的准确性,我们根据验证数据估算,我们希望找到欠拟合和过拟合之间的最佳点。在视觉上,我们想要(红色)验证曲线的低点。

http://i.imgur.com/2q85n9s.png

Example

有一些控制树深度的替代方案,其中一些树的路径比其他路径拥有更大的深度。 但是max_leaf_nodes参数提供了一种非常合理的方法来控制过拟合与欠拟合。 我们允许模型的叶子越多,我们越多地从上图中的欠拟合区域移动到过度拟合区域。

我们可以使用函数来帮助比较max_leaf_nodes的不同值的MAE分数:

【1】

from sklearn.metrics import mean_absolute_error
from sklearn.tree import DecisionTreeRegressordef get_mae(max_leaf_nodes, train_X, val_X, train_y, val_y):model = DecisionTreeRegressor(max_leaf_nodes=max_leaf_nodes, random_state=0)model.fit(train_X, train_y)preds_val = model.predict(val_X)mae = mean_absolute_error(val_y, preds_val)return(mae)

使用您已经看过的代码(以及您已经编写过的代码)将数据加载到train_X,val_X,train_y和val_y中。

【2】

# Data Loading Code Runs At This Point
import pandas as pd# Load data
melbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv'
melbourne_data = pd.read_csv(melbourne_file_path) 
# Filter rows with missing values
filtered_melbourne_data = melbourne_data.dropna(axis=0)
# Choose target and features
y = filtered_melbourne_data.Price
melbourne_features = ['Rooms', 'Bathroom', 'Landsize', 'BuildingArea', 'YearBuilt', 'Lattitude', 'Longtitude']
X = filtered_melbourne_data[melbourne_features]from sklearn.model_selection import train_test_split# split data into training and validation data, for both features and target
train_X, val_X, train_y, val_y = train_test_split(X, y,random_state = 0)

我们可以使用for循环比较不同max_leaf_nodes的值对应的模型精度:

【3】

# compare MAE with differing values of max_leaf_nodes
for max_leaf_nodes in [5, 50, 500, 5000]:my_mae = get_mae(max_leaf_nodes, train_X, val_X, train_y, val_y)print("Max leaf nodes: %d  \t\t Mean Absolute Error:  %d" %(max_leaf_nodes, my_mae))
Max leaf nodes: 5  		 Mean Absolute Error:  347380
Max leaf nodes: 50  		 Mean Absolute Error:  258171
Max leaf nodes: 500  		 Mean Absolute Error:  243495
Max leaf nodes: 5000  		 Mean Absolute Error:  254983

以上列出的选项中,500是最优叶子数量。

Conclusion

模型可能会受到以下任何一种情况:

  •      过拟合:捕获不会再发生的虚假模式,导致预测不准确,或者
  •      欠拟合:未能捕获相关模式,再次导致预测不准确。

我们使用未在模型训练中使用的验证数据来测量候选模型的准确性。 这让我们尝试了许多候选模型,并保持最好的模型。

Your Turn

尝试优化你之前建立的模型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

福建省计算机初级职称,2019福建助理工程师职称评定条件材料及审核管理制度...

一学历、资历条件要求(破格申报不在此列,详情请咨询了解)申报工程技术系列中级工程师须符合下列条件之一:1.博士研究生毕业;2.硕士研究生毕业后,从事所申报专业工作满3年;3.本科毕业后,从事所申报专业工作满…

【POJ - 2594】Treasure Exploration(floyd传递闭包 + 最小路径覆盖,图论)

题干: Have you ever read any book about treasure exploration? Have you ever see any film about treasure exploration? Have you ever explored treasure? If you never have such experiences, you would never know what fun treasure exploring brings…

6.Random Forests

Introduction 决策树会让您做出艰难的决定。 有很多树叶的深树将会过拟合,因为每个预测都来自其叶子上只有少数房屋的历史数据。 但是叶子很少的浅树会表现不佳,因为它无法捕获原始数据中的许多区别。 即使在今天,最成熟的建模技术也面临着过…

7.Handling Missing Values

本教程是学习机器学习课程的第2部分。 本教程选择了1级完成的位置,因此如果您从1级完成练习,您将获得最大的收益。 在此步骤中,您将学习三种处理缺失值的方法。 然后,您将学习如何比较这些方法在任何给定数据集上的有效性。 Intr…

打开电脑计算机超级慢,手把手教你电脑开机慢怎么办

等到花都谢了,你怎么还不开机?这电脑开机真是离奇的慢,有心将它换了,奈何兜里空空。凑合着用又无法忍受这种煎熬。其实你只需要用鼠标点几下就可以不用等待这漫长的开机过程了。高铁,飞机,网络,…

【POJ - 1486】Sorting Slides(思维建图,二分图求必须边,关建边,图论)

题干: Professor Clumsey is going to give an important talk this afternoon. Unfortunately, he is not a very tidy person and has put all his transparencies on one big heap. Before giving the talk, he has to sort the slides. Being a kind of minima…

用OpenSSL编写SSL,TLS程序

http://zhoulifa.bokee.com/6134045.html http://blog.sina.com.cn/s/blog_86ca13bb0100vaph.html http://blog.chinaunix.net/uid-26575352-id-3048856.html 一、简介: SSL(SecureSocket Layer)是netscape公司提出的主要用于web的安全通信标准,分为2.0版和3.0版.TLS(Transport…

信息技术计算机伦理与安全教案,龙教版信息技术七年级下册第7课 安全与道德 教案...

ID:9954219分类:全国,2019资源大小:228KB资料简介:题 目第七课 安全与道德总课时1设计来源自我设计教学时间教材分析这节课计算机与网络安全部分定义介绍和叙述较多,所以为了避免枯燥可以设计课件和并准备病毒计算机安全报道的视频、多媒体讲解、图片等…

【HDU - 5706】GirlCat(bfs)

题干: As a cute girl, Kotori likes playing Hide and Seek with cats particularly. Under the influence of Kotori, many girls and cats are playing Hide and Seek together. Koroti shots a photo. The size of this photo is nmnm, each pixel of the ph…

8.Using Categorical Data with One Hot Encoding

本教程是机器学习系列的一部分。 在此步骤中,您将了解“分类”变量是什么,以及处理此类数据的最常用方法。 Introduction 分类数据是仅采用有限数量值的数据。 例如,如果人们回答一项关于他们拥有哪种品牌汽车的调查,结果将是明…

iPhone换屏幕测试软件,怎样检验iPhone是否更换过屏幕?

原标题:怎样检验iPhone是否更换过屏幕?关注下图公众号,鉴定苹果手机真假↓↓↓购买新手机时,到手后会想手机各零部件是否是正品原装,就好比屏幕是否原装屏!入手一部iPhone新机的时候,该如何检验…

*【HDU - 5707】Combine String(dp)

题干: Given three strings aa, bb and cc, your mission is to check whether cc is the combine string of aa and bb. A string cc is said to be the combine string of aa and bb if and only if cc can be broken into two subsequences, when you read the…

《TCP/IP详解》学习笔记(一):基本概念

为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱 了各地人的口音,让他们无法合作一样。计算机使用者意识到,…

【POJ - 3272】Cow Traffic(dp,建反向图,DAG拓扑图)

题干: The bovine population boom down on the farm has caused serious congestion on the cow trails leading to the barn. Farmer John has decided to conduct a study to find the bottlenecks in order to relieve the traffic jams at milking time. The…

pc服务器不同型号,服务器与PC系统软件之不同

服务器与PC系统软件之不同对于中关村在线的网友来说,PC系统应该都不陌生,而且分分钟重装的水准。但在笔者过往的服务器装机经验中,可谓是一部千年血泪史。服务器和PC系统差别还是很大的。现在的PC系统多是windows7和windows10,而在…

9.XGBoost

本教程是机器学习系列的一部分。 在此步骤中,您将学习如何使用功能强大的xgboost库构建和优化模型。 What is XGBoost XGBoost是处理标准表格数据的领先模型(您在Pandas DataFrames中存储的数据类型,而不是像图像和视频这样的更奇特的数据类…

*【HDU - 5711】Ingress(tsp旅行商问题,优先队列贪心,状压dp,floyd最短路,图论)

题干: Brickgao, who profited from your accurate calculating last year, made a great deal of money by moving bricks. Now he became gay shy fool again and recently he bought an iphone and was deeply addicted into a cellphone game called Ingress. …

ajax get请求成功,成功()函数的AJAX GET请求

后不叫我有一个jQuery的AJAX脚本像下面:成功()函数的AJAX GET请求function FillCity() {var stateID $("#ddlState").val();$.ajax({url: Url.Action("Employee", "Index"),type: "GET",dataType: "json",data:…

《TCP/IP详解》学习笔记(二):数据链路层

数据链路层有三个目的: 为IP模块发送和 接收IP数据报。为ARP模块发送ARP请求和接收ARP应答。为RARP发送RARP请 求和接收RARP应答ip大家都听说过。至于ARP和RARP,ARP叫做地址解析协议,是用IP地址换MAC地址的一种协议,而RARP则叫…

【POJ - 2762】Going from u to v or from v to u?(Tarjan缩点,树形dp 或 拓扑排序,欧拉图相关)

题干: In order to make their sons brave, Jiajia and Wind take them to a big cave. The cave has n rooms, and one-way corridors connecting some rooms. Each time, Wind choose two rooms x and y, and ask one of their little sons go from one to the o…