pub fn build_tree( x: &[Vec<f64>], y: &[f64], depth: usize, max_depth: usize, min_samples: usize, ) -> TreeNode