http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.learning_curve.html
說明
Determines cross-validated training and test scores for different training set sizes.
作用是針對不同大小的訓練集拓提,通過繪制“交叉驗證”的score曲線來明確使用的訓練數(shù)據(jù)是過量還是不足们衙。
特別注意
sklearn.model_selection.
learning_curve (estimator, X, y, groups=None, train_sizes=array([ 0.1, 0.33, 0.55, 0.78, 1. ]), cv=None, scoring=None, exploit_incremental_learning=False, n_jobs=1, pre_dispatch='all', verbose=0)
注意參數(shù)中的 train_sizes瘩例,用來指定訓練集占交叉驗證cv訓練集中的百分比衩藤,也就是說,它是訓練集中(這個是產生的交叉驗證集合中的)的訓練集(用于實際訓練的)扑浸。因此該函數(shù)必須配合cross_validation()包使用模叙。
疑問
Q: scoring參數(shù)默認是迈倍?
A: 可能自動默認為accuracy
Q: 左圖和右圖紅色線的幅度為什么差異這么大择浊?NB的紅線幅度大戴卜,而SVM紅線很平穩(wěn)說明了什么?
A:差異大的原因個人理解為:和模型自身特點有關琢岩。NB受訓練集大小影響很大投剥,因此紅線變化幅度大,而SVM針對訓練集大小這個因素粘捎,比較魯棒薇缅,因此變化幅度小危彩。