%PDF- %PDF-
Direktori : /home/vacivi36/ava/lib/mlbackend/php/phpml/src/Phpml/Preprocessing/ |
Current File : /home/vacivi36/ava/lib/mlbackend/php/phpml/src/Phpml/Preprocessing/LabelEncoder.php |
<?php declare(strict_types=1); namespace Phpml\Preprocessing; final class LabelEncoder implements Preprocessor { /** * @var int[] */ private $classes = []; public function fit(array $samples, ?array $targets = null): void { $this->classes = []; foreach ($samples as $sample) { if (!isset($this->classes[(string) $sample])) { $this->classes[(string) $sample] = count($this->classes); } } } public function transform(array &$samples, ?array &$targets = null): void { foreach ($samples as &$sample) { $sample = $this->classes[(string) $sample]; } } public function inverseTransform(array &$samples): void { $classes = array_flip($this->classes); foreach ($samples as &$sample) { $sample = $classes[$sample]; } } /** * @return string[] */ public function classes(): array { return array_keys($this->classes); } }