马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
交叉验证主要用于建模应用中。在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。这个过程一直进行,直到所有的样本都被预报了一次而且仅被预报一次。把每个样本的预报误差平方加和,称为PRESS(predicted Error Sum of Squares)。
用交叉验证的目的是为了得到可靠稳定的模型。常用的精度测试方法主要是交叉验证,例如10折交叉验证(10-fold cross validation),将数据集分成十份,轮流将其中9份做训练1份做验证,10次的结果的均值作为对算法精度的估计,一般还需要进行多次10折交叉验证求均值,例如:10次10折交叉验证,以求更精确一点。
在前面已经提到,评估模型的质量并不能只看模型预测准确度,还要看模型的稳定性,只有又准确有稳定的模型才是好模型,而模型的稳定性甚至比模型的准确性更重要。而交叉验证法是用于验证模型稳定性的方法,而不是提升模型稳定的方法。接下来,我们通过一个简单的例子介绍一下如何使用交叉验证法评估模型的稳定性。工作流如下:
要实现交叉验证一共需要以下几步:
第一步,读取数据。在这里我们还是使用诊病数据。
第二步,使用X分区节点定义验证的折数,我们指定为10。配置如下:
第三步,连接要测试的模型,此处我们来测试贝叶斯模型。连接如工作流中所示。贝叶斯训练节点和预测节点分别配置如下(大部分时候都不需要配置,使用默认配置即可):
第四步,使用X聚合节点,与X分区节点形成测试的闭环。该节点一般都无需配置,采用默认配置即可。执行后,输出结果如下:
从表中可以看出每次验证的误差,第一列是行ID,第二列表示模型的误判率,第三列表示测试集的记录数,第四列表示误判个数。从表中可以看出模型的误判率基本都在10%~15%之间,模型相对比较稳定。
您还可以使用分类评估节点分析模型的整体准确率。分析结果如下:
从表中可以看出,模型验证的平均准确度为86%。因此可以得出结论,该模型是一个即准确又稳定的模型。
本文源自:http://wiki.smartbi.com.cn/pages/viewpage.action?pageId=13599827
|