交叉驗證是最好的測試方法
乙個問題叫做交叉驗證,是指假設要將乙份資料拆分成訓練集和測試集,這個時候怎麼評估出它的誤差?交叉驗證是把集合拆成五份,取四份做訓練集、乙份做測試集,並且每次選擇不同的那乙份做測試級,最後測出五個結果再做平均,這被認為是最好的測試方法。
交叉驗證確實是乙個還不錯的驗證的方法,但在現實應用場景下,它往往不是最合適的一種方式。因為通常來說,我們用機器學習做的事情是**,絕大多數情況下我們是用現在或者過去的資料做乙個模型來**未來。而拿過去的訓練**未來的最好測試方法不是交叉驗證,因為交叉驗證是按照交易或者按人拆分的。最合適的是方法其實是按照時間拆分,比如評估的時候選取乙個時間點,用在這個時間點之前的資料做訓練,**在這個時間點之後的,這是最接近真實應用場景的評估結果。
交叉驗證可能只適用於和時間屬性不相關的場景,比如人臉識別,但我們面臨更多的應用場景,無論是風險、營銷或者反欺詐,都是在用過去的資料訓練後**未來,最合適這樣場景的評估方法不是交叉驗證,而是按照時間去拆分。
機器學習 交叉驗證
假設我們需要從某些候選模型中選擇最適合某個學習問題的模型,我們該如何選擇?以多元回歸模型為例 我們假設模型集合為有限集 假設樣本集為s,根據經驗風險最小化原則 erm 可能會使用這樣的演算法 1.在s上訓練每個模型 2.選擇訓練誤差最小的假設函式,即為我們需要的函式。然而,這樣的演算法實際上並不有效...
機器學習 KFold交叉驗證
section i brief introduction on stratifiedkfold from sebastian raschka,vahid mirjalili.python機器學習第二版.南京 東南大學出版社,2018.section ii code and analyses from...
機器學習筆記6 交叉驗證
k折的資料集是訓練集,而不是所有資料,它將訓練集分為兩塊來訓練和驗證。可通過簡單的方式隨機化 sklearn k 折 cv 中的事件,就是將 shuffle 標誌設定為 true。之後,將從如下所示 cv kfold len x 2 變為如下所示 cv kfold len x 2,shuffle t...