[−][src]Crate random_world
The random-world crate.
A crate implementing Machine Learning ML methods for confident prediction (e.g., Conformal Predictors) and related ones introduced in the book Algorithmic Learning in a Random World (ALRW).
Goals
- Fast implementation of methods introduced in the book ALRW.
- Should easily allow to wrap existing rust implementations of ML classifiers/scorers.
- (Maybe) allow interfacing to Python.
- (Maybe) can be called as a binary.
Examples
Create a Conformal Predictor with k-NN nonconformity measure, k=2
,
and with significance level epsilon=0.3
, train it on some training
set and use it to predict two test vector inputs.
The output predictions will be a matrix, one row per each training
input, and one column per label, where each bool
element is true
if the label conforms the distribution, false
otherwise.
#[macro_use(array)] extern crate ndarray; extern crate random_world; use random_world::cp::*; use random_world::ncm::*; let ncm = KNN::new(2); let n_labels = 2; let mut cp = CP::new(ncm, n_labels, Some(0.3)); let train_inputs = array![[0., 0.], [1., 0.], [0., 1.], [1., 1.], [2., 2.], [1., 2.]]; let train_targets = array![0, 0, 0, 1, 1, 1]; let test_inputs = array![[2., 1.], [2., 2.]]; // Train and predict cp.train(&train_inputs.view(), &train_targets.view()) .expect("Failed prediction"); let preds = cp.predict(&test_inputs.view()) .expect("Failed to predict"); assert!(preds == array![[false, true], [false, true]]);
More examples on deterministic/smooth Conformal Predictors at CP.
Modules
cp | Module defining Conformal Predictors. |
exchangeability | Defines Exchangeability Martingales. |
ncm | Module defining nonconformity measures. |
utils | Utility routines for loading and storing data into files. |