Fixed a bug, and added a custom solve function (using lapacke).
This commit is contained in:
66
examples/abcdef.rs
Normal file
66
examples/abcdef.rs
Normal file
@@ -0,0 +1,66 @@
|
||||
extern crate intel_mkl_src;
|
||||
|
||||
use kickscore as ks;
|
||||
|
||||
fn main() {
|
||||
let mut model = ks::BinaryModel::new(ks::BinaryModelObservation::Probit);
|
||||
|
||||
for player in &["A", "B", "C", "D", "E", "F"] {
|
||||
let kernel: Vec<Box<dyn ks::Kernel>> = vec![
|
||||
Box::new(ks::kernel::Constant::new(1.0)),
|
||||
Box::new(ks::kernel::Matern52::new(0.5, 1.0)),
|
||||
];
|
||||
|
||||
model.add_item(player, Box::new(kernel));
|
||||
}
|
||||
|
||||
model.observe(&["A"], &["B"], 0.0);
|
||||
|
||||
model.fit();
|
||||
|
||||
for player in &["A", "B", "C", "D", "E", "F"] {
|
||||
let (mu, sigma) = model.item_score(player, 1.25);
|
||||
|
||||
println!("{}: mu={} sigma={}", player, mu, sigma);
|
||||
}
|
||||
|
||||
model.observe(&["C"], &["D"], 0.25);
|
||||
|
||||
model.fit();
|
||||
|
||||
for player in &["A", "B", "C", "D", "E", "F"] {
|
||||
let (mu, sigma) = model.item_score(player, 1.25);
|
||||
|
||||
println!("{}: mu={} sigma={}", player, mu, sigma);
|
||||
}
|
||||
|
||||
model.observe(&["E"], &["F"], 0.50);
|
||||
|
||||
model.fit();
|
||||
|
||||
for player in &["A", "B", "C", "D", "E", "F"] {
|
||||
let (mu, sigma) = model.item_score(player, 1.25);
|
||||
|
||||
println!("{}: mu={} sigma={}", player, mu, sigma);
|
||||
}
|
||||
|
||||
model.observe(&["B"], &["C"], 0.75);
|
||||
|
||||
model.fit();
|
||||
|
||||
for player in &["A", "B", "C", "D", "E", "F"] {
|
||||
let (mu, sigma) = model.item_score(player, 1.25);
|
||||
|
||||
println!("{}: mu={} sigma={}", player, mu, sigma);
|
||||
}
|
||||
|
||||
model.observe(&["D"], &["E"], 1.00);
|
||||
|
||||
model.fit();
|
||||
|
||||
for player in &["A", "B", "C", "D", "E", "F"] {
|
||||
let (mu, sigma) = model.item_score(player, 1.25);
|
||||
|
||||
println!("{}: mu={} sigma={}", player, mu, sigma);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user