pub enum NestedCvSpec {
KFold(KFoldSpec),
GroupKFold(GroupKFoldSpec),
}Expand description
Inner (nested) cross-validation policy.
Declared globally on the CampaignSpec and/or locally on a NodePlan
(e.g. a finetune/tuner or branch node); the local policy overrides the global
default (see resolve_inner_cv). dag-ml builds the inner FoldSet from each
outer fold’s training samples via NestedCvSpec::build_inner_fold_set,
so the inner folds are a subset of outer-train by construction — nested CV
cannot leak outer-validation rows into inner tuning.
Variants§
KFold(KFoldSpec)
Index-based inner K-fold, built in-core from outer-train samples.
GroupKFold(GroupKFoldSpec)
Group-aware inner K-fold, built in-core from outer-train sample groups.
Implementations§
Source§impl NestedCvSpec
impl NestedCvSpec
Sourcepub fn validate(&self) -> Result<(), DagMlError>
pub fn validate(&self) -> Result<(), DagMlError>
Validate the nested-CV policy’s parameters independently of any outer fold.
Mirrors the checks the splitters enforce (n_splits >= 2) so a malformed
declaration is rejected at plan time rather than deferred to FIT_CV.
Sourcepub fn build_inner_fold_set(
&self,
outer: &FoldAssignment,
outer_groups: &BTreeMap<SampleId, GroupId>,
) -> Result<FoldSet, DagMlError>
pub fn build_inner_fold_set( &self, outer: &FoldAssignment, outer_groups: &BTreeMap<SampleId, GroupId>, ) -> Result<FoldSet, DagMlError>
Build the inner FoldSet for one outer fold from its training samples
only. outer_groups is the outer FoldSet.sample_groups (used by
GroupKFold; ignored otherwise). The result is validated to lie entirely
within the outer fold’s training set.
Trait Implementations§
Source§impl Clone for NestedCvSpec
impl Clone for NestedCvSpec
Source§fn clone(&self) -> NestedCvSpec
fn clone(&self) -> NestedCvSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NestedCvSpec
impl Debug for NestedCvSpec
Source§impl<'de> Deserialize<'de> for NestedCvSpec
impl<'de> Deserialize<'de> for NestedCvSpec
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<NestedCvSpec, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<NestedCvSpec, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for NestedCvSpec
Source§impl PartialEq for NestedCvSpec
impl PartialEq for NestedCvSpec
Source§fn eq(&self, other: &NestedCvSpec) -> bool
fn eq(&self, other: &NestedCvSpec) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for NestedCvSpec
impl Serialize for NestedCvSpec
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for NestedCvSpec
Auto Trait Implementations§
impl Freeze for NestedCvSpec
impl RefUnwindSafe for NestedCvSpec
impl Send for NestedCvSpec
impl Sync for NestedCvSpec
impl Unpin for NestedCvSpec
impl UnsafeUnpin for NestedCvSpec
impl UnwindSafe for NestedCvSpec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.