Trait forester::data::TrainingData [−][src]
pub trait TrainingData<Sample>: DataSet<Sample> where
Sample: SampleDescription, { type Criterion: SplitCriterion<Sample::Target>; fn n_samples(&self) -> usize; fn gen_split_feature(&self) -> Sample::ThetaSplit; fn train_leaf_predictor(&self) -> Sample::ThetaLeaf; fn feature_bounds(
&self,
theta: &Sample::ThetaSplit
) -> (Sample::Feature, Sample::Feature); fn all_split_features(
&self
) -> Option<Box<Iterator<Item = Sample::ThetaSplit>>> { ... } }
Data set that can be used for training decision trees
Associated Types
type Criterion: SplitCriterion<Sample::Target>
Required Methods
fn n_samples(&self) -> usize
Return number of samples in the data set
fn gen_split_feature(&self) -> Sample::ThetaSplit
Generate a new split feature (typically, this will be randomized)
fn train_leaf_predictor(&self) -> Sample::ThetaLeaf
Train a new leaf predictor
fn feature_bounds(
&self,
theta: &Sample::ThetaSplit
) -> (Sample::Feature, Sample::Feature)
&self,
theta: &Sample::ThetaSplit
) -> (Sample::Feature, Sample::Feature)
Return minimum and maximum value of a feature
Provided Methods
fn all_split_features(&self) -> Option<Box<Iterator<Item = Sample::ThetaSplit>>>
Return an iterator over all features.
Data sets where this is not possible (infinite feature space, anyone?) should return None
instead, which is also the default impl.
Implementations on Foreign Types
impl<'a, X> TrainingData<Sample<'a, X, f64>> for [Sample<'a, X, f64>] where
X: Clone + PartialOrd + SampleRange + Bounded + SplitBetween,
[src]
impl<'a, X> TrainingData<Sample<'a, X, f64>> for [Sample<'a, X, f64>] where
X: Clone + PartialOrd + SampleRange + Bounded + SplitBetween,
type Criterion = VarianceCriterion
fn n_samples(&self) -> usize
[src]
fn n_samples(&self) -> usize
fn gen_split_feature(&self) -> usize
[src]
fn gen_split_feature(&self) -> usize
fn train_leaf_predictor(&self) -> f64
[src]
fn train_leaf_predictor(&self) -> f64
fn feature_bounds(&self, theta: &usize) -> (X, X)
[src]
fn feature_bounds(&self, theta: &usize) -> (X, X)
fn all_split_features(&self) -> Option<Box<Iterator<Item = Sample::ThetaSplit>>>
[src]
fn all_split_features(&self) -> Option<Box<Iterator<Item = Sample::ThetaSplit>>>
impl<'a, X> TrainingData<Sample<'a, X, Classes>> for [Sample<'a, X, Classes>] where
X: Clone + PartialOrd + SampleRange + Bounded + SplitBetween,
[src]
impl<'a, X> TrainingData<Sample<'a, X, Classes>> for [Sample<'a, X, Classes>] where
X: Clone + PartialOrd + SampleRange + Bounded + SplitBetween,
type Criterion = GiniCriterion
fn n_samples(&self) -> usize
[src]
fn n_samples(&self) -> usize
fn gen_split_feature(&self) -> usize
[src]
fn gen_split_feature(&self) -> usize
fn train_leaf_predictor(&self) -> ClassCounts
[src]
fn train_leaf_predictor(&self) -> ClassCounts
fn feature_bounds(&self, theta: &usize) -> (X, X)
[src]
fn feature_bounds(&self, theta: &usize) -> (X, X)
fn all_split_features(&self) -> Option<Box<Iterator<Item = Sample::ThetaSplit>>>
[src]
fn all_split_features(&self) -> Option<Box<Iterator<Item = Sample::ThetaSplit>>>