国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 正文
    • 簡單交叉驗(yàn)證
    • K折交叉驗(yàn)證(K-Fold)
    • 留一法交叉驗(yàn)證(LOO-CV)
    • 留P法交叉驗(yàn)證(LPO-CV)
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

極速理解ML交叉驗(yàn)證

2024/10/02
1018
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

交叉驗(yàn)證(Cross Validation)是驗(yàn)證分類器(你訓(xùn)練的模型)性能的一種統(tǒng)計(jì)分析方法。其基本思想是在某種意義下將原始訓(xùn)練數(shù)據(jù)進(jìn)行分組,訓(xùn)練集和驗(yàn)證集。所以對于一個(gè)大數(shù)據(jù)集,一般我們會(huì)把它按照 6:2:2 分成訓(xùn)練集、驗(yàn)證集和測試集(簡易的機(jī)器學(xué)習(xí)過程會(huì)省去驗(yàn)證集)。

首先用訓(xùn)練集對模型進(jìn)行訓(xùn)練,再利用驗(yàn)證集來測試訓(xùn)練得到的模型,以此來初步評(píng)價(jià)模型的性能(注意!交叉驗(yàn)證還是處于訓(xùn)練的階段,不是測試階段)。
常見的交叉驗(yàn)證方法包括簡單交叉驗(yàn)證、K折交叉驗(yàn)證留一法交叉驗(yàn)證留P法交叉驗(yàn)證。

簡單交叉驗(yàn)證

就是上面最簡單的概念,將訓(xùn)練數(shù)據(jù)分為訓(xùn)練集和驗(yàn)證集,訓(xùn)練集訓(xùn)練模型,驗(yàn)證集驗(yàn)證模型,驗(yàn)證得到的準(zhǔn)確率就是模型的性能指標(biāo)。

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split( data, target, test_size=.4, random_state=0 )

K折交叉驗(yàn)證(K-Fold)

將訓(xùn)練數(shù)據(jù)分為K組(一般是均分),然后將每個(gè)子集數(shù)據(jù)分別做一次驗(yàn)證集,其余K-1組子集當(dāng)作訓(xùn)練集,所以會(huì)進(jìn)行K次交叉驗(yàn)證,得到K個(gè)模型,將K個(gè)模型最終的驗(yàn)證準(zhǔn)確率取平均值,作為模型的性能指標(biāo),通常設(shè)K大于或等于3。

from sklearn.model_selection import KFold
kf = KFold(n_splits = 10) # k取10

留一法交叉驗(yàn)證(LOO-CV)

留一法交叉驗(yàn)證(leave-one-out cross validation)就是K折交叉驗(yàn)證里K=N的情況,就是每個(gè)子集只由一個(gè)樣本數(shù)據(jù)組成,N個(gè)樣本數(shù)據(jù),所以會(huì)進(jìn)行N次交叉驗(yàn)證,得到N個(gè)模型,將N個(gè)模型最終的驗(yàn)證準(zhǔn)確率取平均值,作為模型的性能指標(biāo)。

from sklearn.model_selection import LeaveOneOut
loo = LeaveOneOut()

留P法交叉驗(yàn)證(LPO-CV)

留P法交叉驗(yàn)證(leave-p-out cross validation)則是從數(shù)據(jù)集中留下P個(gè)數(shù)據(jù)點(diǎn)作為驗(yàn)證集,而其他的數(shù)據(jù)用作訓(xùn)練集。這個(gè)過程會(huì)遍歷所有可能的訓(xùn)練集/驗(yàn)證集分割方式。如果數(shù)據(jù)集有N個(gè)樣本,那么將會(huì)有從N個(gè)樣本中選出P個(gè)樣本的組合方式,對于每一種組合,訓(xùn)練一次模型并評(píng)估一次性能。由于組合數(shù)可能非常大,這種方法在計(jì)算上通常非常昂貴,特別是當(dāng)數(shù)據(jù)集的大小相對于P來說較大時(shí)。

from sklearn.model_selection import LeavePOut
lpo = LeavePOut(p=5) #p取5

相關(guān)推薦

正安县| 泾阳县| 任丘市| 刚察县| 大港区| 林周县| 凌源市| 南城县| 博爱县| 宕昌县| 金华市| 达孜县| 乌兰浩特市| 千阳县| 武城县| 马关县| 永春县| 宁波市| 婺源县| 哈巴河县| 绍兴市| 南岸区| 莱州市| 富川| 宁晋县| 芜湖市| 哈尔滨市| 噶尔县| 阜新| 奉化市| 尤溪县| 英山县| 万盛区| 天津市| 定西市| 东阳市| 布尔津县| 兴安县| 怀宁县| 沂水县| 涡阳县|