scikit-learn_cross_validation2

主要介紹scikit-learn中的交叉驗證
sklearn.learning_curve 中的 learning curve 可以很直觀的看出我們的 model 學(xué)習(xí)的進(jìn)度, 對比發(fā)現(xiàn)有沒有 overfitting 的問題. 然后我們可以對我們的 model 進(jìn)行調(diào)整, 克服 overfitting 的問題.


Demo1.py

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.cross_validation import train_test_split
from sklearn.svm import SVC
from sklearn.learning_curve import learning_curve
from sklearn.cross_validation import cross_val_score 


# 加載數(shù)據(jù)集
digits = load_digits()
X = digits.data
y = digits.target
# 用SVM進(jìn)行學(xué)習(xí)并記錄loss
train_sizes, train_loss, test_loss = learning_curve(SVC(gamma = 0.001), 
                                                    X, y, cv = 10, scoring = 'mean_squared_error',
                                                    train_sizes = [0.1, 0.25, 0.5, 0.75, 1])

# 訓(xùn)練誤差均值
train_loss_mean = -np.mean(train_loss, axis = 1)
# 測試誤差均值
test_loss_mean = -np.mean(test_loss, axis = 1)

# 繪制誤差曲線
plt.plot(train_sizes, train_loss_mean, 'o-', color = 'r', label = 'Training')
plt.plot(train_sizes, test_loss_mean, 'o-', color = 'g', label = 'Cross-Validation')

plt.xlabel('Training data size')
plt.ylabel('Loss')
plt.legend(loc = 'best')
plt.show()

結(jié)果:


Paste_Image.png

sklearn.learning_curve.learning_curve

  • 調(diào)用格式是:
    learning_curve(estimator, X, y, 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=‘a(chǎn)ll‘, verbose=0)
  • 函數(shù)的作用為:
    對于不同大小的訓(xùn)練集禽拔,確定交叉驗證訓(xùn)練和測試的分?jǐn)?shù)兴溜。一個交叉驗證發(fā)生器將整個數(shù)據(jù)集分割k次,分割成訓(xùn)練集和測試集趋箩。不同大小的訓(xùn)練集的子集將會被用來訓(xùn)練評估器并且對于每一個大小的訓(xùn)練子集都會產(chǎn)生一個分?jǐn)?shù)泰偿,然后測試集的分?jǐn)?shù)也會計算俩垃。然后,對于每一個訓(xùn)練子集慷荔,運行k次之后的所有這些分?jǐn)?shù)將會被平均雕什。
    estimator:所使用的分類器
    X:array-like, shape (n_samples, n_features) 訓(xùn)練向量,n_samples是樣本的數(shù)量显晶,n_features是特征的數(shù)量
    y:array-like, shape (n_samples) or (n_samples, n_features), optional目標(biāo)相對于X分類或者回歸
    train_sizes:array-like, shape (n_ticks,), dtype float or int訓(xùn)練樣本的相對的或絕對的數(shù)字贷岸,這些量的樣本將會生成learning curve。如果dtype是float磷雇,他將會被視為最大數(shù)量訓(xùn)練集的一部分(這個由所選擇的驗證方法所決定)偿警。否則,他將會被視為訓(xùn)練集的絕對尺寸唯笙。要注意的是螟蒸,對于分類而言,樣本的大小必須要充分大崩掘,達(dá)到對于每一個分類都至少包含一個樣本的情況尿庐。
    cv:int, cross-validation generator or an iterable, optional確定交叉驗證的分離策略
    --None,使用默認(rèn)的3-fold cross-validation,
    --integer,確定是幾折交叉驗證
    --一個作為交叉驗證生成器的對象
    --一個被應(yīng)用于訓(xùn)練/測試分離的迭代器
    verbose : integer, optional控制冗余:越高呢堰,有越多的信息
  • 返回值
    train_sizes_abs:array, shape = (n_unique_ticks,), dtype int用于生成learning curve的訓(xùn)練集的樣本數(shù)抄瑟。由于重復(fù)的輸入將會被刪除,所以ticks可能會少于n_ticks.
    **train_scores **: array, shape (n_ticks, n_cv_folds)在訓(xùn)練集上的分?jǐn)?shù)
    test_scores : array, shape (n_ticks, n_cv_folds)在測試集上的分?jǐn)?shù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末枉疼,一起剝皮案震驚了整個濱河市皮假,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骂维,老刑警劉巖惹资,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異航闺,居然都是意外死亡褪测,警方通過查閱死者的電腦和手機(jī)猴誊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侮措,“玉大人懈叹,你說我怎么就攤上這事》衷” “怎么了澄成?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長畏吓。 經(jīng)常有香客問我墨状,道長,這世上最難降的妖魔是什么菲饼? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任肾砂,我火速辦了婚禮,結(jié)果婚禮上宏悦,老公的妹妹穿的比我還像新娘通今。我一直安慰自己,他們只是感情好肛根,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著漏策,像睡著了一般派哲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掺喻,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天芭届,我揣著相機(jī)與錄音,去河邊找鬼感耙。 笑死褂乍,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的即硼。 我是一名探鬼主播逃片,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼只酥!你這毒婦竟也來了褥实?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤裂允,失蹤者是張志新(化名)和其女友劉穎损离,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绝编,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡僻澎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年貌踏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窟勃。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡祖乳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拳恋,到底是詐尸還是另有隱情凡资,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布谬运,位于F島的核電站隙赁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏梆暖。R本人自食惡果不足惜伞访,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望轰驳。 院中可真熱鬧厚掷,春花似錦、人聲如沸级解。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽勤哗。三九已至抡爹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間芒划,已是汗流浹背冬竟。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留民逼,地道東北人泵殴。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像拼苍,于是被迫代替她去往敵國和親笑诅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

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