1 <?php 2 3 declare(strict_types=1); 4 5 namespace Phpml\Metric; 6 7 use Phpml\Exception\InvalidArgumentException; 8 9 class Accuracy 10 { 11 /** 12 * @return float|int 13 * 14 * @throws InvalidArgumentException 15 */ 16 public static function score(array $actualLabels, array $predictedLabels, bool $normalize = true) 17 { 18 if (count($actualLabels) != count($predictedLabels)) { 19 throw new InvalidArgumentException('Size of given arrays does not match'); 20 } 21 22 $score = 0; 23 foreach ($actualLabels as $index => $label) { 24 if ($label == $predictedLabels[$index]) { 25 ++$score; 26 } 27 } 28 29 if ($normalize) { 30 $score /= count($actualLabels); 31 } 32 33 return $score; 34 } 35 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body