///|
fn main {
  let dataset = @tree.weighted_classification_dataset(
    [[0.0], [1.0], [2.0], [3.0]],
    [0, 0, 1, 1],
    [1.0, 1.0, 3.0, 3.0],
    2,
  ).unwrap()
  let model = @tree.train_weighted_classifier(
    dataset,
    @tree.ClassificationConfig::default(),
  ).unwrap()
  let prediction = model.predict([2.5]).unwrap()
  let probabilities = model.predict_proba([2.5]).unwrap()
  println("prediction=\{prediction}")
  println("class0=\{probabilities[0]}, class1=\{probabilities[1]}")
  println("depth=\{model.depth()}, nodes=\{model.node_count()}")
}