K折交叉验证和pipeline
KFold模塊
from sklearn.model_selection import KFold
為什么要使用交叉驗證?交叉驗證的介紹
交叉驗證是在機器學(xué)習(xí)建立模型和驗證模型參數(shù)時常用的辦法。 交叉驗證,顧名思義,就是重復(fù)的使用數(shù)據(jù),把得到的樣本數(shù)據(jù)進(jìn)行切分,組合為不同的訓(xùn)練集和測試集,用訓(xùn)練集來訓(xùn)練模型,用測試集來評估模型預(yù)測的好壞。在此基礎(chǔ)上可以得到多組不同的訓(xùn)練集和測試集,某次訓(xùn)練集中的某樣本在下次可能成為測試集中的樣本,即所謂“交叉”。
那么什么時候才需要交叉驗證呢?交叉驗證用在數(shù)據(jù)不是很充足的時候。 它的基本想法就是重復(fù)地使用數(shù)據(jù):把給定的數(shù)據(jù)進(jìn)行切分,將切分的數(shù)據(jù)集組合為訓(xùn)練集和測試集,在此基礎(chǔ)上反復(fù)地進(jìn)行訓(xùn)練、測試以及模型選擇。 比如在我日常項目里面,對于普通適中問題,如果數(shù)據(jù)樣本量小于一萬條,我們就會采用交叉驗證來訓(xùn)練優(yōu)化選擇模型。如果樣本大于一萬條的話,我們一般隨機的把數(shù)據(jù)分成三份,一份為訓(xùn)練集(Training Set),一份為驗證集(Validation Set),最后一份為測試集(Test Set)。用訓(xùn)練集來訓(xùn)練模型,用驗證集來評估模型預(yù)測的好壞和選擇模型及其對應(yīng)的參數(shù)。把最終得到的模型再用于測試集,最終決定使用哪個模型以及對應(yīng)參數(shù)。
交叉驗證的目的是為了能有效地估計模型的泛化能力 (測試誤差),從而進(jìn)行模型選擇。 評估模型,然后通過的出來的準(zhǔn)確率,我們再進(jìn)行模型選擇。
K折
總結(jié)
以上是生活随笔為你收集整理的K折交叉验证和pipeline的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可视化总结
- 下一篇: Apriori关联规则算法