Small changes.
This commit is contained in:
12
src/lib.rs
12
src/lib.rs
@@ -326,27 +326,29 @@ impl TrueSkill {
|
|||||||
|
|
||||||
for n in t..t + current.len() {
|
for n in t..t + current.len() {
|
||||||
rotated_a_matrix[(row, n)] = flatten_weights[n];
|
rotated_a_matrix[(row, n)] = flatten_weights[n];
|
||||||
|
|
||||||
t += 1;
|
t += 1;
|
||||||
x += 1;
|
x += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
for n in x..x + next.len() {
|
for n in x..x + next.len() {
|
||||||
rotated_a_matrix[(row, n)] = -flatten_weights[n];
|
rotated_a_matrix[(row, n)] = -flatten_weights[n];
|
||||||
|
|
||||||
x += 1;
|
x += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let a_matrix = rotated_a_matrix.transpose();
|
let a_matrix = rotated_a_matrix.transpose();
|
||||||
|
|
||||||
let _ata = self.beta.powi(2) * &rotated_a_matrix * &a_matrix;
|
let ata = self.beta.powi(2) * &rotated_a_matrix * &a_matrix;
|
||||||
let _atsa = &rotated_a_matrix * &variance_matrix * &a_matrix;
|
let atsa = &rotated_a_matrix * &variance_matrix * &a_matrix;
|
||||||
|
|
||||||
let start = mean_matrix.transpose() * &a_matrix;
|
let start = mean_matrix.transpose() * &a_matrix;
|
||||||
let middle = &_ata + &_atsa;
|
let middle = &ata + &atsa;
|
||||||
let end = &rotated_a_matrix * &mean_matrix;
|
let end = &rotated_a_matrix * &mean_matrix;
|
||||||
|
|
||||||
let e_arg = (-0.5 * &start * &middle.inverse() * &end).determinant();
|
let e_arg = (-0.5 * &start * &middle.inverse() * &end).determinant();
|
||||||
let s_arg = _ata.determinant() / middle.determinant();
|
let s_arg = ata.determinant() / middle.determinant();
|
||||||
|
|
||||||
e_arg.exp() * s_arg.sqrt()
|
e_arg.exp() * s_arg.sqrt()
|
||||||
}
|
}
|
||||||
@@ -423,7 +425,7 @@ mod tests {
|
|||||||
|
|
||||||
assert_relative_eq!(
|
assert_relative_eq!(
|
||||||
ts.quality(&[&[alice], &[bob]]),
|
ts.quality(&[&[alice], &[bob]]),
|
||||||
0.447_213_595_499_957_9,
|
0.4472135954999579,
|
||||||
epsilon = EPSILON
|
epsilon = EPSILON
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user