Cross validation是哪位?

cross validation是我们在建模时常常要使用的方法,主要的功能是避免overfitting的问题, 也是我们调参数後可以互相评估比较的手法,今天来聊聊cross validation的种类~

在切割资料时,我们常做train-test split,把资料切成两组,使用training做模型,test做验证,而cross validation就是用不同的方法切割资料很多次,每次利用不同的资料训练模型,常见的方法有:

  1. Leave-one-out cross validation: 最极端的切割方法,将每个资料点轮流当成test,剩余当成train,用这个方法训练模型代表要花费n-1倍的时间(n是data size),假设今天有十个资料点,这个方法就会建立十个不同的模型再平均他们的表现。

  2. K-fold cross validation: 比较常见的方法,也就是把资料随机分成k组,每次拿一组当成test,剩余组当成train,当你设定k=n,就等於在执行leave-one-out cv。一般会把K设定为5-10的范围。另外一个会听到的名词是"stratified",也就是下方的右图,stratified是发生在如果资料里有类别变数,这种方法会确保在每一个组里类别变数的比例是一致的。
    https://ithelp.ithome.com.tw/upload/images/20211002/20142004dbYguuOH3W.png


<<:  Day 18 ml5.js-2

>>:  【Day18】电子商务与行销篇-线上客服

Snapshot API测试

接下来照着永丰提供的github, 下一个要使用到的是快照-Snapshot的部分, 简单来说就是当...

Day30 vue.js docker部署

延续昨日 今天的要做是把东西布署在docker(就不解释docker罗) 首先要先创一个docker...

[Day16] 传值、传址 or call by sharing

传值或传址? 前面两篇所讲的,基本型别是传值,物件型别是传址,但同时也存在例外,举下例,如果对 ob...

Youtube Analytics API 教学 - OAuth2.0 开放授权 (3)

「鲑鱼均,因为一场鲑鱼之乱被主管称为鲑鱼世代,广义来说以年龄和脸蛋分类的话这应该算是一种 KNN 的...

Day45 ( 游戏设计 ) 贪吃蛇

贪吃蛇 教学原文参考:贪吃蛇 这篇文章会介绍,如何在 Scratch 3 里使用变数、清单、分身、重...