Phpml\CrossValidation\StratifiedRandomSplit::splitByTarget PHP Method

splitByTarget() private method

private splitByTarget ( Phpml\Dataset\Dataset $dataset ) : array
$dataset Phpml\Dataset\Dataset
return array
    private function splitByTarget(Dataset $dataset) : array
    {
        $targets = $dataset->getTargets();
        $samples = $dataset->getSamples();
        $uniqueTargets = array_unique($targets);
        $split = array_combine($uniqueTargets, array_fill(0, count($uniqueTargets), []));
        foreach ($samples as $key => $sample) {
            $split[$targets[$key]][] = $sample;
        }
        $datasets = $this->createDatasets($uniqueTargets, $split);
        return $datasets;
    }