mirror of
https://github.com/Llewellynvdm/php-ml.git
synced 2024-06-12 21:32:22 +00:00
36 lines
770 B
PHP
36 lines
770 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Phpml\Metric;
|
|
|
|
use Phpml\Exception\InvalidArgumentException;
|
|
|
|
class Accuracy
|
|
{
|
|
/**
|
|
* @return float|int
|
|
*
|
|
* @throws InvalidArgumentException
|
|
*/
|
|
public static function score(array $actualLabels, array $predictedLabels, bool $normalize = true)
|
|
{
|
|
if (count($actualLabels) != count($predictedLabels)) {
|
|
throw new InvalidArgumentException('Size of given arrays does not match');
|
|
}
|
|
|
|
$score = 0;
|
|
foreach ($actualLabels as $index => $label) {
|
|
if ($label == $predictedLabels[$index]) {
|
|
++$score;
|
|
}
|
|
}
|
|
|
|
if ($normalize) {
|
|
$score /= count($actualLabels);
|
|
}
|
|
|
|
return $score;
|
|
}
|
|
}
|