模型驗(yàn)證方法

模型驗(yàn)證方法一覽

名稱 模塊
通過交叉驗(yàn)證計(jì)算得分 model_selection.cross_val_score(estimator, X)
對(duì)每個(gè)輸入點(diǎn)產(chǎn)生交叉驗(yàn)證估計(jì) model_selection.cross_val_predict(estimator, X)
計(jì)算并繪制模型的學(xué)習(xí)率曲線 model_selection.learning_curve(estimator, X, y)
計(jì)算并繪制模型的驗(yàn)證曲線 model_selection.validation_curve(estimator, ...)
通過排序評(píng)估交叉驗(yàn)證defender重要性 model_selection.permutation_test_score(...)

通過交叉驗(yàn)證計(jì)算得分

cross_val_score(estimator, X, y=None, groups=None, scoring=None, cv=None, n_jobs=1, verbose=0, fit_params=None, pre_dispatch='2*n_jobs')

參數(shù):

  • estimator: 實(shí)現(xiàn)了'fit'函數(shù)的學(xué)習(xí)器
  • X: array-like,需要學(xué)習(xí)的數(shù)據(jù)渴丸,可以是列表或者2d數(shù)組
  • y: 可選的煞檩,默認(rèn)是None啥寇,監(jiān)督學(xué)習(xí)中樣本特征向量的真實(shí)目標(biāo)值
  • scroing: srting,callable or None,可選的,默認(rèn)是None衰絮,
    一個(gè)字符串或者一個(gè)scorer可調(diào)用對(duì)象或者函數(shù)磷醋,必須實(shí)現(xiàn)scorer(estimator, X, y)
  • cv: int,交叉驗(yàn)證生成器或者一個(gè)迭代器淌友,可選的震庭,默認(rèn)是None你雌,決定交叉驗(yàn)證劃分策略
    cv的可選項(xiàng)有以下的幾種
  1. None: 使用默認(rèn)的3-fold交叉驗(yàn)證
  2. Interger:指定在(Stratified)kfold中使用的‘折’的數(shù)量
  3. 可以用作交叉驗(yàn)證生成器的一個(gè)對(duì)象
  4. 一個(gè)能夠產(chǎn)生train/test劃分的迭代器對(duì)象

對(duì)于integer/None類型的輸入婿崭,如果estimator是一個(gè)分類器并且y是對(duì)應(yīng)的類標(biāo)簽,則默認(rèn)使用StratifiedKFold,其他的情況默認(rèn)使用kfold

返回值:

  • scores:浮點(diǎn)數(shù)組千元, shape=(len(list(cv)),)每一次交叉驗(yàn)證得分弄成一個(gè)數(shù)組幸海,默認(rèn)是三次,三個(gè)得分物独。
from sklearn.model_selection import cross_val_score
import numpy as np
from sklearn import datasets, svm

digits = datasets.load_digits()
X = digits.data
y = digits.target

svc = svm.SVC(kernel='linear')  # C 結(jié)構(gòu)因子最小化因子
C_s = np.logspace(-10, 0, 10)
print('參數(shù)列表長(zhǎng)度:', len(C_s))
scores = list()
scores_std = list()
for C in C_s:
    svc.C = C
    this_scores = cross_val_score(svc, X, y, n_jobs=4)  # 指定并行數(shù)量
    scores.append(np.mean(this_scores))
    scores_std.append(np.std(this_scores))
# 繪制交叉驗(yàn)證曲線
import matplotlib.pyplot as plt
plt.figure(1, figsize=(4,3))
plt.clf()
plt.semilogx(C_s, scores)
plt.semilogx(C_s, np.array(scores) + np.array(scores_std) , 'b--')
plt.semilogx(C_s, np.array(scores) - np.array(scores_std) , 'b--')
locs, labels= plt.yticks()
plt.yticks(locs, list(map(lambda x: "%g" %x, locs)))
plt.ylabel('CV score')
plt.xlabel('Parameter C')
plt.ylim(0, 1.1)
plt.show()
image

對(duì)每個(gè)輸入點(diǎn)產(chǎn)生交叉驗(yàn)證估計(jì)

cross_val_predict(estimator, X, y=None, groups=None, cv=None, n_jobs=1, verbose=0, fit_params=None, pre_dispatch='2*n_jobs', method='predict')

參數(shù):

  • method 字符串婉陷,可選秽澳,默認(rèn)是'predict'

返回值:

  • predictions: ndarray 預(yù)測(cè)結(jié)果

計(jì)算并繪制模型的學(xué)習(xí)率曲線

learning_curve(estimator, X, y, groups=None, train_sizes=array([ 0.1  ,  0.325,  0.55 ,  0.775,  1.   ]), cv=None, scoring=None, exploit_incremental_learning=False, n_jobs=1, pre_dispatch='all', verbose=0)

參數(shù):

  • train_sizes: array-like, shape(n_ticks,), dtype=float or int 用于指定訓(xùn)練樣本子集的相對(duì)數(shù)量或者絕對(duì)數(shù)量担神,如果是浮點(diǎn)數(shù)始花,將會(huì)被視作整體訓(xùn)練集最大數(shù)量的百分比酷宵,所以必須在(0,1)之間炕置,如果是int整型男韧,就是絕對(duì)的數(shù)量煌抒,不能超過整體訓(xùn)練集的樣本量。對(duì)于分類問題贩疙,訓(xùn)練子集的大小必須能夠保證每個(gè)類至少有一個(gè)樣本况既。

返回值:

  • train_sizes_abs
  • train_scores
  • test_scores

學(xué)習(xí)率曲線:

計(jì)算指定的學(xué)習(xí)器模型在不同大小的訓(xùn)練集上經(jīng)過交叉驗(yàn)證的訓(xùn)練得分和測(cè)試得分棒仍。

首先莫其,用一個(gè)交叉驗(yàn)證生成器劃分整體數(shù)據(jù)集K次耸三,每一次都有一個(gè)訓(xùn)練集和測(cè)試集仪壮,然后從第k次的訓(xùn)練集中拿出若干個(gè)數(shù)量不斷增長(zhǎng)的子集胳徽,在這些子訓(xùn)練集上訓(xùn)練模型。然后在計(jì)算模型在對(duì)應(yīng)的子訓(xùn)練集和測(cè)試集上的得分养盗。最后往核,對(duì)于在每種子訓(xùn)練集大小下,將K次訓(xùn)練集和測(cè)試集得分分別進(jìn)行平均。

image

計(jì)算并繪制模型的驗(yàn)證曲線

validation_curve(estimator, X, y, param_name, param_range, groups=None, cv=None, scoring=None, n_jobs=1, pre_dispatch='all', verbose=0)

返回值:

  • train_scores array.shape(n_ticks, n_cv_folds)
  • test_scores

驗(yàn)證曲線:

當(dāng)某個(gè)參數(shù)不斷變化的時(shí)候薄货,在每一個(gè)取值上計(jì)算出的模型在訓(xùn)練集和測(cè)試集上得分谅猾,在一個(gè)不斷變化的參數(shù)上計(jì)算學(xué)習(xí)器模型的得分税娜。這類似于只有一個(gè)參數(shù)的網(wǎng)格搜索藏研。但是這個(gè)函數(shù)也會(huì)計(jì)算訓(xùn)練集上的得分蠢挡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末业踏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子腹尖,更是在濱河造成了極大的恐慌热幔,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伤提,死亡現(xiàn)場(chǎng)離奇詭異肿男,居然都是意外死亡舶沛,警方通過查閱死者的電腦和手機(jī)窗价,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門坪它,熙熙樓的掌柜王于貴愁眉苦臉地迎上來帝牡,“玉大人靶溜,你說我怎么就攤上這事≌窒ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵葱色,是天一觀的道長(zhǎng)娘香。 經(jīng)常有香客問我,道長(zhǎng)舞痰,這世上最難降的妖魔是什么诀姚? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任呀打,我火速辦了婚禮矢赁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贬丛。我一直安慰自己撩银,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布豺憔。 她就那樣靜靜地躺著额获,像睡著了一般。 火紅的嫁衣襯著肌膚如雪恭应。 梳的紋絲不亂的頭發(fā)上抄邀,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音昼榛,去河邊找鬼境肾。 笑死,一個(gè)胖子當(dāng)著我的面吹牛胆屿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼唇兑,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了留夜?” 一聲冷哼從身側(cè)響起黑毅,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎琼开,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡高诺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年魁瞪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出妨马,到底是詐尸還是另有隱情豹悬,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布适刀,位于F島的核電站硝皂,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吼过。R本人自食惡果不足惜赡艰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一料身、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧幔烛,春花似錦令蛉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)汇鞭。三九已至虱咧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工谦去, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勺拣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓塑陵,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蜡励。 傳聞我的和親對(duì)象是個(gè)殘疾皇子令花,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容