Make verbose an argument for the fit function
This commit is contained in:
@@ -16,7 +16,7 @@ fn main() {
|
|||||||
|
|
||||||
model.observe(&["A"], &["B"], 0.0);
|
model.observe(&["A"], &["B"], 0.0);
|
||||||
|
|
||||||
model.fit();
|
model.fit(true);
|
||||||
|
|
||||||
for player in ["A", "B", "C", "D", "E", "F"] {
|
for player in ["A", "B", "C", "D", "E", "F"] {
|
||||||
let (mu, sigma) = model.item_score(player, 1.25);
|
let (mu, sigma) = model.item_score(player, 1.25);
|
||||||
@@ -26,7 +26,7 @@ fn main() {
|
|||||||
|
|
||||||
model.observe(&["C"], &["D"], 0.25);
|
model.observe(&["C"], &["D"], 0.25);
|
||||||
|
|
||||||
model.fit();
|
model.fit(true);
|
||||||
|
|
||||||
for player in ["A", "B", "C", "D", "E", "F"] {
|
for player in ["A", "B", "C", "D", "E", "F"] {
|
||||||
let (mu, sigma) = model.item_score(player, 1.25);
|
let (mu, sigma) = model.item_score(player, 1.25);
|
||||||
@@ -36,7 +36,7 @@ fn main() {
|
|||||||
|
|
||||||
model.observe(&["E"], &["F"], 0.50);
|
model.observe(&["E"], &["F"], 0.50);
|
||||||
|
|
||||||
model.fit();
|
model.fit(true);
|
||||||
|
|
||||||
for player in ["A", "B", "C", "D", "E", "F"] {
|
for player in ["A", "B", "C", "D", "E", "F"] {
|
||||||
let (mu, sigma) = model.item_score(player, 1.25);
|
let (mu, sigma) = model.item_score(player, 1.25);
|
||||||
@@ -46,7 +46,7 @@ fn main() {
|
|||||||
|
|
||||||
model.observe(&["B"], &["C"], 0.75);
|
model.observe(&["B"], &["C"], 0.75);
|
||||||
|
|
||||||
model.fit();
|
model.fit(true);
|
||||||
|
|
||||||
for player in ["A", "B", "C", "D", "E", "F"] {
|
for player in ["A", "B", "C", "D", "E", "F"] {
|
||||||
let (mu, sigma) = model.item_score(player, 1.25);
|
let (mu, sigma) = model.item_score(player, 1.25);
|
||||||
@@ -56,7 +56,7 @@ fn main() {
|
|||||||
|
|
||||||
model.observe(&["D"], &["E"], 1.00);
|
model.observe(&["D"], &["E"], 1.00);
|
||||||
|
|
||||||
model.fit();
|
model.fit(true);
|
||||||
|
|
||||||
for player in ["A", "B", "C", "D", "E", "F"] {
|
for player in ["A", "B", "C", "D", "E", "F"] {
|
||||||
let (mu, sigma) = model.item_score(player, 1.25);
|
let (mu, sigma) = model.item_score(player, 1.25);
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ fn main() {
|
|||||||
model.observe(&["Jerry"], &["Tom"], 3.0);
|
model.observe(&["Jerry"], &["Tom"], 3.0);
|
||||||
model.observe(&["Jerry"], &["Tom", "Spike"], 3.5);
|
model.observe(&["Jerry"], &["Tom", "Spike"], 3.5);
|
||||||
|
|
||||||
model.fit();
|
model.fit(true);
|
||||||
|
|
||||||
// We can predict a future outcome...
|
// We can predict a future outcome...
|
||||||
let (p_win, _p_los) = model.probabilities(&["Jerry"], &["Tom"], 4.0);
|
let (p_win, _p_los) = model.probabilities(&["Jerry"], &["Tom"], 4.0);
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|||||||
model.observe(&[&winner], &[&loser], t);
|
model.observe(&[&winner], &[&loser], t);
|
||||||
}
|
}
|
||||||
|
|
||||||
model.fit();
|
model.fit(true);
|
||||||
|
|
||||||
println!("Probability that CHI beats BOS...");
|
println!("Probability that CHI beats BOS...");
|
||||||
|
|
||||||
|
|||||||
@@ -102,14 +102,13 @@ impl Binary {
|
|||||||
self.last_t = t;
|
self.last_t = t;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn fit(&mut self) -> bool {
|
pub fn fit(&mut self, verbose: bool) -> bool {
|
||||||
// method="ep", lr=1.0, tol=1e-3, max_iter=100, verbose=False):
|
// method="ep", lr=1.0, tol=1e-3, max_iter=100, verbose=False):
|
||||||
|
|
||||||
let method = FitMethod::Ep;
|
let method = FitMethod::Ep;
|
||||||
let lr = 1.0;
|
let lr = 1.0;
|
||||||
let tol = 1e-3;
|
let tol = 1e-3;
|
||||||
let max_iter = 100;
|
let max_iter = 100;
|
||||||
let verbose = true;
|
|
||||||
|
|
||||||
self.last_method = Some(method);
|
self.last_method = Some(method);
|
||||||
|
|
||||||
|
|||||||
@@ -119,14 +119,13 @@ impl TernaryModel {
|
|||||||
self.last_t = t;
|
self.last_t = t;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn fit(&mut self) -> bool {
|
pub fn fit(&mut self, verbose: bool) -> bool {
|
||||||
// method="ep", lr=1.0, tol=1e-3, max_iter=100, verbose=False):
|
// method="ep", lr=1.0, tol=1e-3, max_iter=100, verbose=False):
|
||||||
|
|
||||||
let method = FitMethod::Ep;
|
let method = FitMethod::Ep;
|
||||||
let lr = 1.0;
|
let lr = 1.0;
|
||||||
let tol = 1e-3;
|
let tol = 1e-3;
|
||||||
let max_iter = 100;
|
let max_iter = 100;
|
||||||
let verbose = true;
|
|
||||||
|
|
||||||
self.last_method = Some(method);
|
self.last_method = Some(method);
|
||||||
|
|
||||||
|
|||||||
@@ -23,5 +23,5 @@ fn binary_1() {
|
|||||||
model.observe(&["benjamin"], &["audrey"], 6.0);
|
model.observe(&["benjamin"], &["audrey"], 6.0);
|
||||||
model.observe(&["benjamin"], &["audrey"], 7.0);
|
model.observe(&["benjamin"], &["audrey"], 7.0);
|
||||||
|
|
||||||
model.fit();
|
model.fit(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ fn kickscore_basic() {
|
|||||||
model.observe(&["Jerry"], &["Tom"], 3.0);
|
model.observe(&["Jerry"], &["Tom"], 3.0);
|
||||||
model.observe(&["Jerry"], &["Tom", "Spike"], 3.5);
|
model.observe(&["Jerry"], &["Tom", "Spike"], 3.5);
|
||||||
|
|
||||||
model.fit();
|
model.fit(true);
|
||||||
|
|
||||||
let (p_win, _p_los) = model.probabilities(&["Jerry"], &["Tom"], 4.0);
|
let (p_win, _p_los) = model.probabilities(&["Jerry"], &["Tom"], 4.0);
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ fn nba_history() {
|
|||||||
model.observe(&[&winner], &[&loser], t);
|
model.observe(&[&winner], &[&loser], t);
|
||||||
}
|
}
|
||||||
|
|
||||||
model.fit();
|
model.fit(true);
|
||||||
|
|
||||||
let (p_win, _) = model.probabilities(
|
let (p_win, _) = model.probabilities(
|
||||||
&["CHI"],
|
&["CHI"],
|
||||||
|
|||||||
Reference in New Issue
Block a user