clustersNumber = $clustersNumber; $this->initialization = $initialization; } public function cluster(array $samples): array { $space = new Space(count(reset($samples))); foreach ($samples as $key => $sample) { $space->addPoint($sample, $key); } $clusters = []; foreach ($space->cluster($this->clustersNumber, $this->initialization) as $cluster) { $clusters[] = $cluster->getPoints(); } return $clusters; } }