> $probabilities * @param list $labels * @return float */ public function score(array $probabilities, array $labels) : float { ProbabilityAndLabelCountsAreEqual::with($probabilities, $labels)->check(); $n = count($probabilities); if ($n === 0) { return 0.0; } $score = 0.0; foreach ($probabilities as $i => $dist) { $score += $dist[$labels[$i]] ?? 0.0; } return $score / $n; } /** * {@inheritDoc} */ public function __toString() : string { return 'Probabilistic Accuracy'; } }