[][src]Trait rand_split::PartsSplit

pub trait PartsSplit<T>: Iterator<Item = T> + Sized {
    pub fn split_parts(self, splits: &[f32]) -> PartsIterator<T, Self>;
}

An iterator trait to generate splits from a data stream of unknown lenght.

Example

use rand_split::PartsSplit;

let splits = [4., 7., 2.5];

let cont = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
let (mut train, mut test, mut valid) = (Vec::new(), Vec::new(), Vec::new());
cont.iter().split_parts(&splits).for_each(|sp| {
    train.push(sp[0]);
    test.push(sp[1]);
    valid.push(sp[2])
});
println!(
    "Train: {:#?}, Test: {:#?}, Validation: {:#?}",
    train, test, valid
);

Required methods

pub fn split_parts(self, splits: &[f32]) -> PartsIterator<T, Self>[src]

splits contains weights that are not required to sum up to 1.

Loading content...

Implementors

impl<'a, T, I> PartsSplit<T> for I where
    I: Iterator<Item = T>, 
[src]

Loading content...