留一交叉验证#
- class sklearn.model_selection.LeaveOneOut[source]#
留一交叉验证器。
提供训练/测试索引来将数据分割成训练/测试集。每个样本都被用作一次测试集(单例),而其余样本构成训练集。
注意:
LeaveOneOut()
等效于KFold(n_splits=n)
和LeavePOut(p=1)
,其中n
是样本数。由于测试集数量很多(与样本数量相同),这种交叉验证方法可能非常耗费资源。对于大型数据集,应该优先考虑使用
KFold
、ShuffleSplit
或StratifiedKFold
。更多信息请阅读用户指南。
另见
留一组交叉验证
根据数据集的明确的、特定领域的层化来分割数据。
分组 K 折交叉验证
具有非重叠组的K折迭代器变体。
示例
>>> import numpy as np >>> from sklearn.model_selection import LeaveOneOut >>> X = np.array([[1, 2], [3, 4]]) >>> y = np.array([1, 2]) >>> loo = LeaveOneOut() >>> loo.get_n_splits(X) 2 >>> print(loo) LeaveOneOut() >>> for i, (train_index, test_index) in enumerate(loo.split(X)): ... print(f"Fold {i}:") ... print(f" Train: index={train_index}") ... print(f" Test: index={test_index}") Fold 0: Train: index=[1] Test: index=[0] Fold 1: Train: index=[0] Test: index=[1]
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请查看用户指南,了解路由机制的工作原理。
- 返回:
- routingMetadataRequest
一个
MetadataRequest
,封装了路由信息。