use crate::probabilities::*; use crate::data::*; pub struct Node { decision: HashMap, leaf: Option, } impl Node { fn new_leaf(value: Events) -> Node { Node { decision: HashMap::new(), leaf: Some(value), } } fn new_node() -> Node { Node { decision: HashMap::new(), leaf: None, } } } pub struct Tree { root: Node, } impl Tree { pub fn new(sample: Vec, features: Vec) -> Tree { let max_feature = features .into_iter() .max_by(|x, y| gain(sample, x).cmp(gain(sample, y))); let root = Node::new_node(); } }