Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.
   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  }