@@ -174,20 +174,20 @@ discard block |
||
| 174 | 174 | switch ($this->kernel) { |
| 175 | 175 | case self::KERNEL_LINEAR: |
| 176 | 176 | // k(x,y) = xT.y |
| 177 | - return function ($x, $y) { |
|
| 177 | + return function($x, $y) { |
|
| 178 | 178 | return Matrix::dot($x, $y)[0]; |
| 179 | 179 | }; |
| 180 | 180 | case self::KERNEL_RBF: |
| 181 | 181 | // k(x,y)=exp(-γ.|x-y|) where |..| is Euclidean distance |
| 182 | 182 | $dist = new Euclidean(); |
| 183 | 183 | |
| 184 | - return function ($x, $y) use ($dist) { |
|
| 184 | + return function($x, $y) use ($dist) { |
|
| 185 | 185 | return exp(-$this->gamma * $dist->sqDistance($x, $y)); |
| 186 | 186 | }; |
| 187 | 187 | |
| 188 | 188 | case self::KERNEL_SIGMOID: |
| 189 | 189 | // k(x,y)=tanh(γ.xT.y+c0) where c0=1 |
| 190 | - return function ($x, $y) { |
|
| 190 | + return function($x, $y) { |
|
| 191 | 191 | $res = Matrix::dot($x, $y)[0] + 1.0; |
| 192 | 192 | |
| 193 | 193 | return tanh($this->gamma * $res); |
@@ -197,7 +197,7 @@ discard block |
||
| 197 | 197 | // k(x,y)=exp(-γ.|x-y|) where |..| is Manhattan distance |
| 198 | 198 | $dist = new Manhattan(); |
| 199 | 199 | |
| 200 | - return function ($x, $y) use ($dist) { |
|
| 200 | + return function($x, $y) use ($dist) { |
|
| 201 | 201 | return exp(-$this->gamma * $dist->distance($x, $y)); |
| 202 | 202 | }; |
| 203 | 203 | |
@@ -222,7 +222,7 @@ discard block |
||
| 222 | 222 | protected function projectSample(array $pairs): array |
| 223 | 223 | { |
| 224 | 224 | // Normalize eigenvectors by eig = eigVectors / eigValues |
| 225 | - $func = function ($eigVal, $eigVect) { |
|
| 225 | + $func = function($eigVal, $eigVect) { |
|
| 226 | 226 | $m = new Matrix($eigVect, false); |
| 227 | 227 | $a = $m->divideByScalar($eigVal)->toArray(); |
| 228 | 228 | |
@@ -157,7 +157,7 @@ |
||
| 157 | 157 | |
| 158 | 158 | // Calculate overall mean of the dataset for each column |
| 159 | 159 | $numElements = array_sum($counts); |
| 160 | - $map = function ($el) use ($numElements) { |
|
| 160 | + $map = function($el) use ($numElements) { |
|
| 161 | 161 | return $el / $numElements; |
| 162 | 162 | }; |
| 163 | 163 | $this->overallMean = array_map($map, $overallMean); |
@@ -143,7 +143,7 @@ |
||
| 143 | 143 | $total += $val; |
| 144 | 144 | } |
| 145 | 145 | |
| 146 | - $this->membership[] = array_map(function ($val) use ($total) { |
|
| 146 | + $this->membership[] = array_map(function($val) use ($total) { |
|
| 147 | 147 | return $val / $total; |
| 148 | 148 | }, $row); |
| 149 | 149 | } |
@@ -37,7 +37,7 @@ |
||
| 37 | 37 | |
| 38 | 38 | public function fit(array $samples, ?array $targets = null): void |
| 39 | 39 | { |
| 40 | - $this->variances = array_map(function (array $column) { |
|
| 40 | + $this->variances = array_map(function(array $column) { |
|
| 41 | 41 | return Variance::population($column); |
| 42 | 42 | }, Matrix::transposeArray($samples)); |
| 43 | 43 | |
@@ -241,7 +241,7 @@ |
||
| 241 | 241 | { |
| 242 | 242 | // Check for early stop: No change larger than threshold (default 1e-5) |
| 243 | 243 | $diff = array_map( |
| 244 | - function ($w1, $w2) { |
|
| 244 | + function($w1, $w2) { |
|
| 245 | 245 | return abs($w1 - $w2) > $this->threshold ? 1 : 0; |
| 246 | 246 | }, |
| 247 | 247 | $oldTheta, |
@@ -188,7 +188,7 @@ discard block |
||
| 188 | 188 | * The gradient of the cost function to be used with gradient descent: |
| 189 | 189 | * ∇J(x) = -(y - h(x)) = (h(x) - y) |
| 190 | 190 | */ |
| 191 | - return function ($weights, $sample, $y) use ($penalty) { |
|
| 191 | + return function($weights, $sample, $y) use ($penalty) { |
|
| 192 | 192 | $this->weights = $weights; |
| 193 | 193 | $hX = $this->output($sample); |
| 194 | 194 | |
@@ -220,7 +220,7 @@ discard block |
||
| 220 | 220 | * The gradient of the cost function: |
| 221 | 221 | * ∇J(x) = -(h(x) - y) . h(x) . (1 - h(x)) |
| 222 | 222 | */ |
| 223 | - return function ($weights, $sample, $y) use ($penalty) { |
|
| 223 | + return function($weights, $sample, $y) use ($penalty) { |
|
| 224 | 224 | $this->weights = $weights; |
| 225 | 225 | $hX = $this->output($sample); |
| 226 | 226 | |
@@ -100,7 +100,7 @@ |
||
| 100 | 100 | |
| 101 | 101 | // Normalize & sort the importance values |
| 102 | 102 | $total = array_sum($sum); |
| 103 | - array_walk($sum, function (&$importance) use ($total): void { |
|
| 103 | + array_walk($sum, function(&$importance) use ($total): void { |
|
| 104 | 104 | $importance /= $total; |
| 105 | 105 | }); |
| 106 | 106 | arsort($sum); |
@@ -220,7 +220,7 @@ |
||
| 220 | 220 | // Normalize & sort the importances |
| 221 | 221 | $total = array_sum($this->featureImportances); |
| 222 | 222 | if ($total > 0) { |
| 223 | - array_walk($this->featureImportances, function (&$importance) use ($total): void { |
|
| 223 | + array_walk($this->featureImportances, function(&$importance) use ($total): void { |
|
| 224 | 224 | $importance /= $total; |
| 225 | 225 | }); |
| 226 | 226 | arsort($this->featureImportances); |
@@ -93,7 +93,7 @@ discard block |
||
| 93 | 93 | $count = count($sample); |
| 94 | 94 | $sample = array_fill(0, $count, 1.0 / $count); |
| 95 | 95 | } else { |
| 96 | - array_walk($sample, function (&$feature) use ($norm1): void { |
|
| 96 | + array_walk($sample, function(&$feature) use ($norm1): void { |
|
| 97 | 97 | $feature /= $norm1; |
| 98 | 98 | }); |
| 99 | 99 | } |
@@ -111,7 +111,7 @@ discard block |
||
| 111 | 111 | if ($norm2 == 0) { |
| 112 | 112 | $sample = array_fill(0, count($sample), 1); |
| 113 | 113 | } else { |
| 114 | - array_walk($sample, function (&$feature) use ($norm2): void { |
|
| 114 | + array_walk($sample, function(&$feature) use ($norm2): void { |
|
| 115 | 115 | $feature /= $norm2; |
| 116 | 116 | }); |
| 117 | 117 | } |