在機(jī)器學(xué)習(xí)中,我們經(jīng)常在訓(xùn)練集上訓(xùn)練模型,在測試集上測試模型。最終的目標(biāo)是希望我們的模型在測試集上有最好的表現(xiàn)。
但是,我們往往只有一個(gè)包含m個(gè)觀測的數(shù)據(jù)集D,我們既要用它進(jìn)行訓(xùn)練,又要對(duì)它進(jìn)行測試。此時(shí),我們就需要對(duì)數(shù)據(jù)集D進(jìn)行劃分。
對(duì)于數(shù)據(jù)集D的劃分,我們盡量需要滿足三個(gè)要求:
我們將分別介紹留出法、交叉驗(yàn)證法,以及各自的python實(shí)現(xiàn)。自助法(bootstrapping)將在下篇中加以介紹。
1.留出法
留出法是最常用最直接最簡單的方法,它直接將數(shù)據(jù)集D拆分成兩個(gè)互斥的集合,其中一個(gè)作為訓(xùn)練集R,另一個(gè)作為測試集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)練集和測試集 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ù) '''
網(wǎng)站題目:詳解python實(shí)現(xiàn)交叉驗(yàn)證法與留出法-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://sd-ha.com/article30/shgso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、微信小程序、網(wǎng)頁設(shè)計(jì)公司、小程序開發(fā)、網(wǎng)站內(nèi)鏈、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)