Completed
Push — master ( ed87ad...eb3cd5 )
by Yasunori
22s queued 10s
created

Validation   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 8
c 1
b 0
f 1
dl 0
loc 29
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A MeanSquaredError() 0 12 2
A RootMeanSquaredError() 0 3 1
1
<?php
2
3
namespace devfym\IntelliPHP\Math;
4
5
class Validation
6
{
7
    /**
8
     * @param array $expected
9
     * @param array $actual
10
     * @return float
11
     */
12
    public static function MeanSquaredError(array $expected, array $actual) : float
13
    {
14
        $n = count($actual);
15
        $total_diff = 0;
16
17
        for ($i = 0; $i < $n; $i++) {
18
            $total_diff += $actual[$i] - $expected[$i];
19
        }
20
21
        $total_diff /= $n;
22
23
        return round($total_diff, 4);
24
    }
25
26
    /**
27
     * @param array $expected
28
     * @param array $actual
29
     * @return float
30
     */
31
    public static function RootMeanSquaredError(array $expected, array $actual) : float
32
    {
33
        return round(sqrt(abs(self::MeanSquaredError($expected, $actual))), 4);
34
    }
35
}