交叉验证的作用
1. 可以使用所有的數(shù)據(jù)
一般模型訓練都要把數(shù)據(jù)分成訓練集和驗證集合,這就導致訓練數(shù)據(jù)比原始的數(shù)據(jù)要少,并且驗證集也無法是所有的原始數(shù)據(jù)。
如果使用交叉驗證,所有數(shù)據(jù)都可以用作訓練(但不是同一個模型),所有數(shù)據(jù)也都可以用作驗證集。
2. 評估模型的穩(wěn)定性及調(diào)參
比如5折交叉驗證,在參數(shù)確定了的情況下,我們可以將數(shù)據(jù)弄成五份,每一份中80%訓練,20%作為測試集,這樣可以訓練五個模型,這五個模型除了訓練集測試集不同外,其他的都相同,這樣我們可以得到五個模型的評估指標比如auc,計算五個模型得到的auc的方差,如果方差小說明模型的泛化性比較好,模型比較穩(wěn)定是個好模型,否則說明模型泛化性不好。
xgboost中cv函數(shù)返回的值包括兩個,一個是單模型的評價指標(比如auc),另外一個是模型的方差。
參數(shù)不確定的情況下,我們通過模型的準確性和穩(wěn)定性來選擇最合適的參數(shù)。
3. stacking的模型融合方法
stacking模型融合方法中,第二個模型中的特征一般來自第一個模型中對數(shù)據(jù)的預測,我們不能用自己的訓練然后預測自己,這時就要用stacking的方法來分塊生成,每次80%的數(shù)據(jù)訓練,用得到的模型預測剩下的20%和test data,重復五次就能得到所有訓練集的所有預測結果,從而作為第二個模型的輸入。下圖比較容易表達這一過程
4. 處理分組的數(shù)據(jù)
舉個例子,比如語音識別程序,訓練集為三個不同的人說的話,如果我們將這三個人說的話融合到一起然后隨機采樣進行訓練和測試,那么結果應該是偏好的。
如果我們用其中兩個人聲音進行訓練第三個人的聲音進行測試,那么就能很好的評估模型的泛化性
</div><link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet"><div class="more-toolbox"><div class="left-toolbox"><ul class="toolbox-list"><li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-thumbsup"></use></svg><span class="name">點贊</span><span class="count"></span></a></li><li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{"mod":"popu_824"}"><svg class="icon" aria-hidden="true"><use xlink:href="#icon-csdnc-Collection-G"></use></svg><span class="name">收藏</span></a></li><li class="tool-item tool-active is-share"><a href="javascript:;"><svg class="icon" aria-hidden="true"><use xlink:href="#icon-csdnc-fenxiang"></use></svg>分享</a></li><!--打賞開始--><!--打賞結束--><li class="tool-item tool-more"><a><svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg></a><ul class="more-box"><li class="item"><a class="article-report">文章舉報</a></li></ul></li></ul></div></div><div class="person-messagebox"><div class="left-message"><a href="https://blog.csdn.net/dpengwang"><img src="https://profile.csdnimg.cn/6/4/C/3_dpengwang" class="avatar_pic" username="dpengwang"><img src="https://g.csdnimg.cn/static/user-reg-year/1x/2.png" class="user-years"></a></div><div class="middle-message"><div class="title"><span class="tit"><a href="https://blog.csdn.net/dpengwang" data-report-click="{"mod":"popu_379"}" target="_blank">很吵請安青爭</a></span></div><div class="text"><span>發(fā)布了671 篇原創(chuàng)文章</span> · <span>獲贊 153</span> · <span>訪問量 52萬+</span></div></div><div class="right-message"><a href="https://bbs.csdn.net/topics/395532381" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-messageboard">他的留言板</a><a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379"}">關注</a></div></div></div>
</article>
總結
- 上一篇: 什么是高/低方差、高/低偏差、(推荐阅读
- 下一篇: 残差复合正态分布的重要性