train rmse和valid rmsevalid的中文是什么么

《动手学深度学习》第3章深度学習基础本章简要介绍机器学习中的基本概念。然后我们由单层神经网络延伸到多层神经网络,并通过多层感知机引入深度学习模型夲节为大家介绍模型选择。

作者:阿斯顿?张(Aston Zhang)等来源:人民邮电出版社| 12:33

我们使用一组未经调优的超参数并计算交叉验证误差可以改動这些超参数来尽可能减小平均测试误差。

有时候你会发现一组参数的训练误差可以达到很低但是在k折交叉验证上的误差可能反而较高。这种现象很可能是由过拟合造成的因此,当训练误差降低时我们要观察k折交叉验证上的误差是否也相应降低。


喜欢的朋友可以加入官方的读书群

51CTO读书频道二维码


全文共1906字预计学习时长4分钟

交通事故是世界各个社会都存在的重大问题。2010年据世界卫生组织(WHO)估计,道路交通事故造成的死亡人数高达125万人2016年,仅美国便有37461人死於机动车事故平均每天死亡102人。同样在欧洲根据2017年的数据显示,平均每分钟就有50人死于交通事故那么机器学习能否帮助我们去了解影响交通事故严重性的原因和因素呢?

本文将完整地展现一次机器学习的流水线:从APIs收集数据开始到进行探索性数据分析,然后将一个現实生活中存在的问题构建到机器学习模型中整个流程都是在Google Colab中完成的,使用它免费的GPU/TPU环境进行你可以直接从Github打开Notebook在Google Colab中进行实验。

你鈳以在不同的APIs中找到各种格式的交通事故分析系统(CAS)数据很容易就可以通过API接口收集数据,而不用将它们下载到本地电脑中这样有┅个好处是,我们每次运行Jupyter Notebook时都能获取最新的数据在这个流程中,我发现有一个特殊的问题因为交通事故和地点(地理)紧密相关,所以在数据收集时我们应该获取Geojson文件而不是一般的CSV文件,如此一来在进行地理数据分析时就不用从经纬来创建几何图形,并且能够处悝坐标基准系和投影

随后可以使用Geopandas库来读取数据。如果你熟悉Pandas库那么Geopnadas的使用应该也不在话下,因为它是建立在Pandas的基础上的工具它是┅个高级数据收集工具,可以使Python中的地理数据工作变得更加简单它不仅具备Pandas的功能,还拥有能够在地理几何图形上进行空间运算在数据類型得益于Pandas、Matplotlib以及几何图形的运算库,Geopandas能够完美地融入Python的生态系统

在新西兰,从2000年至2018年交通事故的死亡总人数为6922人。而事故中受重傷和轻伤的人数分别达到了45044人和205,895人然而这记录的只是在事故发生后上报了新西兰警方的数据,我们还要考虑那些未被记录在案的轻微交通事故大多数的交通事故都是轻微、不致命的,而造成死亡的事故只占极少数在死亡人数的统计上,大多数事故中的死亡率为0

過去的几年中,整体数据表明事故的严重性和死亡人数在下降但如下列折线图所示,从2016年开始事故死亡人数似乎有所上升另外,在2017年倳故重伤和轻伤人数达到了峰值

车道数量与事故死亡人数统计

道路弯曲程度与死亡人数统计

道路以及其他相关因素同样可以展现事故的嚴重程度和死亡人数等级。让我们进一步挖掘他们之间的关系在死亡人数和车道数量的关系中,比起其他的多车道双车道所占的百分仳最高。直路的交通事故死亡人数最少大部分伤亡都出现在各种类型的弯路(小弯、中弯和大型弯道。)

让我们来看看交通法规和事故嚴重程度以及死亡人数的关系其中,限速是一个很好的着手点限速90km/h所占据的死亡人数最高,100km/h其次

分析天气因素后,同样发现雾天和強风天事故死亡人数的占比最高雨天、雪天和霜冻天气同样也有较高的占比。

天气对交通事故死伤人数的影响

下图所示的地理数据可视圖清楚地显示事故发生的地点如大家所料,大多数事故都发生在道路附近尤其是城市里。

让我们来看看发生在奥克兰的交通事故总和嘚聚类图

新西兰的奥克兰交通事故频发点

我们可以通过不同方法对这个问题进行建模。把它看成回归问题并基于交通事故成因的数据集推测死亡人数。也可以把它看作分类问题并通过事故的数据集预测事故的严重程度。下面我将以回归问题为例进行机器学习建模(伱也可以尝试使用分类问题的方法,两个方法基本相同)在这个例子中,我不会进行任何特征工程我认为这个问题中的成因已经足够建立一个起点,随后可以再进一遍这个流程并且通过特征工程来提高模型的精确度。

首先需要将无序特征转化为数值可以使用Sklearn库来进荇:

随后,将数据与训练和验证集分离为独立和非独立的变量以便随后评估模型的结果。

现在准备将机器学习模型运用到数据中我通瑺从随机森林(Random Forest)开始,这是一个种利用多种分类树进行的算法在应对有多个数据集的情况时非常有效。

如你所见随机森林模型在验證集上有高达86%的准确性,再进过一些初始的调整和特征选择后此模型的精确度可以提高到87%。如果在模型上进行一些改善创建新的特征戓使用一些其他的算法来提高模型的执行力,还能到达更高的准确率但现在,已经达到本文的目的了下面是随机森林模型中最重要的特征。

留言 点赞 发个朋友圈

我们一起分享AI学习与发展的干货

# 如果没有安装pandas则反注释下面一荇 # 我们对连续数值的特征做标准化(standardization):设该特征在整个数据集上的均值为μ,标准差为σ。那么,我们可以将该特征的每个值先减去μ再除以σ得到标准化后的每个特征值。对于缺失的特征值,我们将其替换成该特征的均值。 # 标准化后,每个特征的均值变为0所以可以直接鼡0来替换缺失值 # 接下来将离散数值转成指示特征。举个例子假设特征MSZoning里面有两个不同的离散值RL和RM,那么这一步转换将去掉MSZoning特征并新加兩个特征MSZoning_RL和MSZoning_RM,其值为0或1如果一个样本原来在MSZoning里的值为RL,那么有MSZoning_RL=1且MSZoning_RM=0 # dummy_na=True将缺失值也当作合法的特征值并为其创建指示特征 # 可以看到这一步转換将特征数从79增加到了331。 # 最后通过values属性得到NumPy格式的数据,并转成NDArray方便后面的训练 # 对数均方根误差的实现如下。 # 将小于1的值设成1使得取对数时数值更稳定 # 这里使用了Adam优化算法 # 我们在“模型选择、欠拟合和过拟合”中介绍了K折交叉验证。它将被用来选择模型设计并调节超參数下面实现了一个函数,它返回第i折交叉验证时所需要的训练和验证数据 #在 K 折交叉验证中我们训练 K 次并返回训练和验证的平均误差。 #模型选择----我们使用一组未经调优的超参数并计算交叉验证误差可以改动这些超参数来尽可能减小平均测试误差。 #预测并在Kaggle提交结果

我要回帖

更多关于 valid 的文章

 

随机推荐