在機(jī)器學(xué)習(xí)中,我們經(jīng)常在訓(xùn)練集上訓(xùn)練模型,在測(cè)試集上測(cè)試模型。最終的目標(biāo)是希望我們的模型在測(cè)試集上有最好的表現(xiàn)。
專注于為中小企業(yè)提供網(wǎng)站制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)寧安免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。但是,我們往往只有一個(gè)包含m個(gè)觀測(cè)的數(shù)據(jù)集D,我們既要用它進(jìn)行訓(xùn)練,又要對(duì)它進(jìn)行測(cè)試。此時(shí),我們就需要對(duì)數(shù)據(jù)集D進(jìn)行劃分。
對(duì)于數(shù)據(jù)集D的劃分,我們盡量需要滿足三個(gè)要求:
我們將分別介紹留出法、交叉驗(yàn)證法,以及各自的python實(shí)現(xiàn)。自助法(bootstrapping)將在下篇中加以介紹。
1.留出法
留出法是最常用最直接最簡(jiǎn)單的方法,它直接將數(shù)據(jù)集D拆分成兩個(gè)互斥的集合,其中一個(gè)作為訓(xùn)練集R,另一個(gè)作為測(cè)試集T。 即
在使用留出法時(shí),需要注意:
當(dāng)然留出法的缺點(diǎn)也非常明顯,即它會(huì)損失一定的樣本信息;同時(shí)需要大樣本。
python實(shí)現(xiàn)留出法,只需要使用sklearn包就可以
from sklearn.model_selection import train_test_split #使用train_test_split劃分訓(xùn)練集和測(cè)試集 train_X , test_X, train_Y ,test_Y = train_test_split( X, Y, test_size=0.2,random_state=0) ''' X為原始數(shù)據(jù)的自變量,Y為原始數(shù)據(jù)因變量; train_X,test_X是將X按照8:2劃分所得; train_Y,test_Y是將X按照8:2劃分所得; test_size是劃分比例; random_state設(shè)置是否使用隨機(jī)數(shù) '''