sklearn中的学习曲线learning_curve函数

学习曲线用于评估模型在不同训练集大小上的表现。它通过交叉验证在多个子集上训练模型并计算得分,展示训练分数和测试分数的变化。`learning_curve`函数接收包括模型、数据和训练集大小参数等,返回训练和测试得分。高偏差可能导致训练和验证分数都低,而高方差则会导致训练分数过高,验证分数低。通过分析学习曲线,可以选择更好的模型或调整参数。
摘要由CSDN通过智能技术生成

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:字符串,可调用或无,

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值