public static function split(Dataset $dataset) : self
    {
        $column = rand(0, $dataset->numColumns() - 1);

        $sample = $dataset[rand(0, count($dataset) - 1)];

        $value = $sample[$column];

        $groups = $dataset->partition($column, $value);

        return new self($column, $value, $groups);
    }