learning_curve学习曲线
运行原理
学习曲线。
确定交叉验证的针对不同训练集大小的训练和测试分数。
交叉验证生成器将整个数据集拆分为训练和测试数据中的k次。 具有不同大小的训练集的子集将用于训练估计器,并为每个训练子集大小和测试集计算分数。 之后,对于每个训练子集大小,将对所有k次运行的得分进行平均。
函数格式
sklearn.model_selection.learning_curve(estimator, X, y, groups=None, train_sizes=array([0.1, 0.33, 0.55, 0.78, 1. ]), cv=’warn’, scoring=None, exploit_incremental_learning=False, n_jobs=None, pre_dispatch=’all’, verbose=0, shuffle=False, random_state=None, error_score=’raise-deprecating’)
参数
estimator:实现“ fit”和“ predict”方法的对象类型
每次验证都会克隆的该类型的对象。
X:数组类,形状(n_samples,n_features)
训练向量,其中n_samples是样本数,n_features是特征数。
y:数组类,形状(n_samples)或(n_samples,n_features),可选
相对于X的目标进行分类或回归;无监督学习无。
groups:数组类,形状为(n_samples,),可选
将数据集拆分为训练/测试集时使用的样本的标签分组。仅用于连接交叉验证实例组(例如GroupKFold)。
train_sizes:数组类,形状(n_ticks),dtype float或int
训练示例的相对或绝对数量,将用于生成学习曲线。如果dtype为float,则视为训练集最大尺寸的一部分(由所选的验证方法确定),即,它必须在(0,1]之内,否则将被解释为绝对大小注意,为了进行分类,样本的数量通常必须足够大,以包含每个类中的至少一个样本(默认值:np.linspace(0.1,1.0,5))
cv:int,交叉验证生成器或可迭代的,可选的
确定交叉验证拆分策略。cv的可能输入是:
- None,要使用默认的三折交叉验证(v0.22版本中将改为五折)
- 整数,用于指定(分层)KFold中的折叠数,
- CV splitter
- 可迭代的集(训练,测试)拆分为索引数组。
对于整数/无输入,如果估计器是分类器,y是二进制或多类,则使用StratifiedKFold。在所有其他情况下,都使用KFold。
scoring:字符串,可调用或无,