| @@ 59-71 (lines=13) @@ | ||
| 56 | return $f; |
|
| 57 | } |
|
| 58 | ||
| 59 | private static function sumOfSquaresPerFeature(array $samples): array |
|
| 60 | { |
|
| 61 | $sum = array_fill(0, count($samples[0][0]), 0); |
|
| 62 | foreach ($samples as $class) { |
|
| 63 | foreach ($class as $sample) { |
|
| 64 | foreach ($sample as $index => $feature) { |
|
| 65 | $sum[$index] += $feature ** 2; |
|
| 66 | } |
|
| 67 | } |
|
| 68 | } |
|
| 69 | ||
| 70 | return $sum; |
|
| 71 | } |
|
| 72 | ||
| 73 | private static function sumOfFeaturesPerClass(array $samples): array |
|
| 74 | { |
|
| @@ 87-99 (lines=13) @@ | ||
| 84 | }, $samples); |
|
| 85 | } |
|
| 86 | ||
| 87 | private static function sumOfSquares(array $sums): array |
|
| 88 | { |
|
| 89 | $squares = array_fill(0, count($sums[0]), 0); |
|
| 90 | foreach ($sums as $row) { |
|
| 91 | foreach ($row as $index => $sum) { |
|
| 92 | $squares[$index] += $sum; |
|
| 93 | } |
|
| 94 | } |
|
| 95 | ||
| 96 | return array_map(function ($sum) { |
|
| 97 | return $sum ** 2; |
|
| 98 | }, $squares); |
|
| 99 | } |
|
| 100 | ||
| 101 | private static function squaresSum(array $sums): array |
|
| 102 | { |
|