多语言展示
当前在线:1231今日阅读:23今日分享:25

模型的交叉验证

交叉验证是用来观察模型的稳定性的一种方法,将数据划分为n份,依次使用其中一份作为测试集,其他n-1份 作为训练集,多次计算模型的精确性来评估模型的平均准确程度。训练集和测试集的划分会干扰模型的结果,因此 用交叉验证n次的结果求出的平均值,是对模型效果的一个更好的度量。
工具/原料

编程环境jupyter

方法/步骤
1

模型的评估会受其训练集和测试集的影响,从而导致模型的学习能力会有差别。

2

模型的交叉验证原理:是将数据集划分为n等份,将其中的n-1份数据做为训练集,将剩下的一份作为测试集。每个部分都将会作为测试或与其它部分数据组合作为训练集。

3

模型的交叉验证可以很大程度避免有数据集划分所造成的误差。

4

下面示例回归树的交叉验证,以波士顿房价数据为例。

5

导入机器学习的相关模块及数据集。

6

实例化数据集。

7

实例化回归树模型。

8

调用交叉验证方法,并传入相应参数。

9

其中cv参数为将数据集划分为多少份。

10

scoring参数是设置分支质量指标。

11

在回归树中,MSE不只是分枝质量衡量指标,也是我们最常用的衡 量回归树回归质量的指标,当在使用交叉验证,或者其他方式获取回归树的结果时,我们往往选择均方误差作 为我们的评估。

12

在回归树中追求的是,MSE越小越好。 然而回归树的接口score返回的是R平方,并不是MSE。

13

虽然均方误差永远为正,但是sklearn当中使用均方误差作为评判标准时,却是计算”负均方误 差“(neg_mean_squared_error)。

14

注意:真正的均方误差MSE的数值,其实就是neg_mean_squared_error去掉负号的数字。

15

验证结果如图示。

推荐信息