extern crate openml;
use openml::prelude::*;
use openml::{PredictiveAccuracy, SupervisedClassification};
use openml::baseline::NaiveBayesClassifier;
fn main() {
let task = SupervisedClassification::from_openml(59).unwrap();
println!("Task: {}", task.name());
let result: PredictiveAccuracy<_> = task.run(|train, test| {
let nbc: NaiveBayesClassifier<u8> = train
.map(|(x, y)| (x, y))
.collect();
let y_out: Vec<_> = test
.map(|x| nbc.predict(x))
.collect();
Box::new(y_out.into_iter())
});
println!("Classification Accuracy: {}", result.result());
}