X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/lib/mlbackend/php/phpml/src/Phpml/Metric
home
/
cbholdings
/
pasukulu
/
lib
/
mlbackend
/
php
/
phpml
/
src
/
Phpml
/
Metric
/
📁
..
📄
Accuracy.php
(770 B)
📄
ClassificationReport.php
(5.76 KB)
📄
ConfusionMatrix.php
(1.3 KB)
📄
Regression.php
(2.38 KB)
Editing: ConfusionMatrix.php
<?php declare(strict_types=1); namespace Phpml\Metric; class ConfusionMatrix { public static function compute(array $actualLabels, array $predictedLabels, array $labels = []): array { $labels = count($labels) === 0 ? self::getUniqueLabels($actualLabels) : array_flip($labels); $matrix = self::generateMatrixWithZeros($labels); foreach ($actualLabels as $index => $actual) { $predicted = $predictedLabels[$index]; if (!isset($labels[$actual], $labels[$predicted])) { continue; } if ($predicted === $actual) { $row = $column = $labels[$actual]; } else { $row = $labels[$actual]; $column = $labels[$predicted]; } ++$matrix[$row][$column]; } return $matrix; } private static function generateMatrixWithZeros(array $labels): array { $count = count($labels); $matrix = []; for ($i = 0; $i < $count; ++$i) { $matrix[$i] = array_fill(0, $count, 0); } return $matrix; } private static function getUniqueLabels(array $labels): array { $labels = array_values(array_unique($labels)); sort($labels); return array_flip($labels); } }
Upload File
Create Folder