1
$\begingroup$

The scikit-learn classes HalvingGridSearchCV and HalvingRandomSearchCV implement a hyperparameter tuning method known as successive halving. It is an iterative selection process in which all the parameter combinations are evaluated with a small amount of training samples at the first iteration. Only some of these combinations are selected for the next iteration, which will be allocated more training samples, and so on. In each iteration, the number of training samples per parameter combination is multiplied by a fixed factor and the number of parameter combinations is divided by the same factor. (This description was adapted from section 3.2.3. Searching for optimal parameters with successive halving of the scikit-learn user guide.)

How are the successive sets of training samples that are allocated for each iteration determined? Are they selected randomly? Or do they consist of the first n rows of the dataset?

$\endgroup$

1 Answer 1

1
$\begingroup$

My understanding from looking at the source code is that the samples are selected at random. The code is here, and this class is used later in the successive halving here.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.