HalvingRandomSearchCV
Randomized search on hyper parameters.
The search strategy starts evaluating all the candidates with a small amount of resources and iteratively selects the best candidates, using more and more resources.
The candidates are sampled at random from the parameter space and the number of sampled candidates is determined by n\_candidates
.
Read more in the User guide.
Python Reference (opens in a new tab)
Constructors
constructor()
Signature
new HalvingRandomSearchCV(opts?: object): HalvingRandomSearchCV;
Parameters
Name | Type | Description |
---|---|---|
opts? | object | - |
opts.aggressive_elimination? | boolean | This is only relevant in cases where there isn’t enough resources to reduce the remaining candidates to at most factor after the last iteration. If true , then the search process will ‘replay’ the first iteration for as long as needed until the number of candidates is small enough. This is false by default, which means that the last iteration may evaluate more than factor candidates. See Aggressive elimination of candidates for more details. Default Value false |
opts.cv? | number | Determines the cross-validation splitting strategy. Possible inputs for cv are: Default Value 5 |
opts.error_score? | "raise" | Value to assign to the score if an error occurs in estimator fitting. If set to ‘raise’, the error is raised. If a numeric value is given, FitFailedWarning is raised. This parameter does not affect the refit step, which will always raise the error. Default is np.nan . |
opts.estimator? | any | This is assumed to implement the scikit-learn estimator interface. Either estimator needs to provide a score function, or scoring must be passed. |
opts.factor? | number | The ‘halving’ parameter, which determines the proportion of candidates that are selected for each subsequent iteration. For example, factor=3 means that only one third of the candidates are selected. Default Value 3 |
opts.max_resources? | number | The maximum number of resources that any candidate is allowed to use for a given iteration. By default, this is set n\_samples when resource='n\_samples' (default), else an error is raised. Default Value 'auto' |
opts.min_resources? | number | "exhaust" | "smallest" | The minimum amount of resource that any candidate is allowed to use for a given iteration. Equivalently, this defines the amount of resources r0 that are allocated for each candidate at the first iteration. Default Value 'smallest' |
opts.n_candidates? | number | "exhaust" | The number of candidate parameters to sample, at the first iteration. Using ‘exhaust’ will sample enough candidates so that the last iteration uses as many resources as possible, based on min\_resources , max\_resources and factor . In this case, min\_resources cannot be ‘exhaust’. Default Value 'exhaust' |
opts.n_jobs? | number | Number of jobs to run in parallel. undefined means 1 unless in a joblib.parallel\_backend (opens in a new tab) context. \-1 means using all processors. See Glossary for more details. |
opts.param_distributions? | any | Dictionary with parameters names (str ) as keys and distributions or lists of parameters to try. Distributions must provide a rvs method for sampling (such as those from scipy.stats.distributions). If a list is given, it is sampled uniformly. If a list of dicts is given, first a dict is sampled uniformly, and then a parameter is sampled using that dict as above. |
opts.random_state? | number | Pseudo random number generator state used for subsampling the dataset when resources != 'n\_samples' . Also used for random uniform sampling from lists of possible values instead of scipy.stats distributions. Pass an int for reproducible output across multiple function calls. See Glossary. |
opts.refit? | boolean | If true , refit an estimator using the best found parameters on the whole dataset. The refitted estimator is made available at the best\_estimator\_ attribute and permits using predict directly on this HalvingRandomSearchCV instance. Default Value true |
opts.resource? | string | Defines the resource that increases with each iteration. By default, the resource is the number of samples. It can also be set to any parameter of the base estimator that accepts positive integer values, e.g. ‘n_iterations’ or ‘n_estimators’ for a gradient boosting estimator. In this case max\_resources cannot be ‘auto’ and must be set explicitly. Default Value 'n_samples' |
opts.return_train_score? | boolean | If false , the cv\_results\_ attribute will not include training scores. Computing training scores is used to get insights on how different parameter settings impact the overfitting/underfitting trade-off. However computing the scores on the training set can be computationally expensive and is not strictly required to select the parameters that yield the best generalization performance. Default Value false |
opts.scoring? | string | A single string (see The scoring parameter: defining model evaluation rules) or a callable (see Defining your scoring strategy from metric functions) to evaluate the predictions on the test set. If undefined , the estimator’s score method is used. |
opts.verbose? | number | Controls the verbosity: the higher, the more messages. |
Returns
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:27 (opens in a new tab)
Methods
decision_function()
Call decision_function on the estimator with the best found parameters.
Only available if refit=True
and the underlying estimator supports decision\_function
.
Signature
decision_function(opts: object): Promise<ArrayLike>;
Parameters
Name | Type | Description |
---|---|---|
opts | object | - |
opts.X? | any | Must fulfill the input assumptions of the underlying estimator. |
Returns
Promise
<ArrayLike
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:226 (opens in a new tab)
dispose()
Disposes of the underlying Python resources.
Once dispose()
is called, the instance is no longer usable.
Signature
dispose(): Promise<void>;
Returns
Promise
<void
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:207 (opens in a new tab)
fit()
Run fit with all sets of parameters.
Signature
fit(opts: object): Promise<any>;
Parameters
Name | Type | Description |
---|---|---|
opts | object | - |
opts.X? | ArrayLike | Training vector, where n\_samples is the number of samples and n\_features is the number of features. |
opts.fit_params? | any | Parameters passed to the fit method of the estimator. |
opts.groups? | ArrayLike | Group labels for the samples used while splitting the dataset into train/test set. Only used in conjunction with a “Group” cv instance (e.g., GroupKFold ). |
opts.y? | ArrayLike | Target relative to X for classification or regression; undefined for unsupervised learning. |
Returns
Promise
<any
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:263 (opens in a new tab)
get_metadata_routing()
Get metadata routing of this object.
Please check User Guide on how the routing mechanism works.
Signature
get_metadata_routing(opts: object): Promise<any>;
Parameters
Name | Type | Description |
---|---|---|
opts | object | - |
opts.routing? | any | A MetadataRequest encapsulating routing information. |
Returns
Promise
<any
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:319 (opens in a new tab)
init()
Initializes the underlying Python resources.
This instance is not usable until the Promise
returned by init()
resolves.
Signature
init(py: PythonBridge): Promise<void>;
Parameters
Name | Type |
---|---|
py | PythonBridge |
Returns
Promise
<void
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:145 (opens in a new tab)
inverse_transform()
Call inverse_transform on the estimator with the best found params.
Only available if the underlying estimator implements inverse\_transform
and refit=True
.
Signature
inverse_transform(opts: object): Promise<ArrayLike>;
Parameters
Name | Type | Description |
---|---|---|
opts | object | - |
opts.Xt? | any | Must fulfill the input assumptions of the underlying estimator. |
Returns
Promise
<ArrayLike
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:359 (opens in a new tab)
predict()
Call predict on the estimator with the best found parameters.
Only available if refit=True
and the underlying estimator supports predict
.
Signature
predict(opts: object): Promise<ArrayLike>;
Parameters
Name | Type | Description |
---|---|---|
opts | object | - |
opts.X? | any | Must fulfill the input assumptions of the underlying estimator. |
Returns
Promise
<ArrayLike
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:398 (opens in a new tab)
predict_log_proba()
Call predict_log_proba on the estimator with the best found parameters.
Only available if refit=True
and the underlying estimator supports predict\_log\_proba
.
Signature
predict_log_proba(opts: object): Promise<ArrayLike>;
Parameters
Name | Type | Description |
---|---|---|
opts | object | - |
opts.X? | any | Must fulfill the input assumptions of the underlying estimator. |
Returns
Promise
<ArrayLike
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:435 (opens in a new tab)
predict_proba()
Call predict_proba on the estimator with the best found parameters.
Only available if refit=True
and the underlying estimator supports predict\_proba
.
Signature
predict_proba(opts: object): Promise<ArrayLike>;
Parameters
Name | Type | Description |
---|---|---|
opts | object | - |
opts.X? | any | Must fulfill the input assumptions of the underlying estimator. |
Returns
Promise
<ArrayLike
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:474 (opens in a new tab)
score()
Return the score on the given data, if the estimator has been refit.
This uses the score defined by scoring
where provided, and the best\_estimator\_.score
method otherwise.
Signature
score(opts: object): Promise<number>;
Parameters
Name | Type | Description |
---|---|---|
opts | object | - |
opts.X? | ArrayLike [] | Input data, where n\_samples is the number of samples and n\_features is the number of features. |
opts.y? | ArrayLike [] | Target relative to X for classification or regression; undefined for unsupervised learning. |
Returns
Promise
<number
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:513 (opens in a new tab)
score_samples()
Call score_samples on the estimator with the best found parameters.
Only available if refit=True
and the underlying estimator supports score\_samples
.
Signature
score_samples(opts: object): Promise<ArrayLike>;
Parameters
Name | Type | Description |
---|---|---|
opts | object | - |
opts.X? | any | Data to predict on. Must fulfill input requirements of the underlying estimator. |
Returns
Promise
<ArrayLike
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:557 (opens in a new tab)
set_fit_request()
Request metadata passed to the fit
method.
Note that this method is only relevant if enable\_metadata\_routing=True
(see sklearn.set\_config
). Please see User Guide on how the routing mechanism works.
The options for each parameter are:
Signature
set_fit_request(opts: object): Promise<any>;
Parameters
Name | Type | Description |
---|---|---|
opts | object | - |
opts.groups? | string | boolean | Metadata routing for groups parameter in fit . |
Returns
Promise
<any
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:598 (opens in a new tab)
transform()
Call transform on the estimator with the best found parameters.
Only available if the underlying estimator supports transform
and refit=True
.
Signature
transform(opts: object): Promise<ArrayLike>;
Parameters
Name | Type | Description |
---|---|---|
opts | object | - |
opts.X? | any | Must fulfill the input assumptions of the underlying estimator. |
Returns
Promise
<ArrayLike
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:637 (opens in a new tab)
Properties
_isDisposed
boolean
=false
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:25 (opens in a new tab)
_isInitialized
boolean
=false
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:24 (opens in a new tab)
_py
PythonBridge
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:23 (opens in a new tab)
id
string
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:20 (opens in a new tab)
opts
any
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:21 (opens in a new tab)
Accessors
best_estimator_
Estimator that was chosen by the search, i.e. estimator which gave highest score (or smallest loss if specified) on the left out data. Not available if refit=False
.
Signature
best_estimator_(): Promise<any>;
Returns
Promise
<any
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:917 (opens in a new tab)
best_index_
The index (of the cv\_results\_
arrays) which corresponds to the best candidate parameter setting.
The dict at search.cv\_results\_\['params'\]\[search.best\_index\_\]
gives the parameter setting for the best model, that gives the highest mean score (search.best\_score\_
).
Signature
best_index_(): Promise<number>;
Returns
Promise
<number
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:1000 (opens in a new tab)
best_params_
Parameter setting that gave the best results on the hold out data.
Signature
best_params_(): Promise<any>;
Returns
Promise
<any
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:971 (opens in a new tab)
best_score_
Mean cross-validated score of the best_estimator.
Signature
best_score_(): Promise<number>;
Returns
Promise
<number
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:944 (opens in a new tab)
cv_results_
A dict with keys as column headers and values as columns, that can be imported into a pandas DataFrame
. It contains lots of information for analysing the results of a search. Please refer to the User guide for details.
Signature
cv_results_(): Promise<any>;
Returns
Promise
<any
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:890 (opens in a new tab)
feature_names_in_
Names of features seen during fit. Only defined if best\_estimator\_
is defined (see the documentation for the refit
parameter for more details) and that best\_estimator\_
exposes feature\_names\_in\_
when fit.
Signature
feature_names_in_(): Promise<ArrayLike>;
Returns
Promise
<ArrayLike
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:1137 (opens in a new tab)
max_resources_
The maximum number of resources that any candidate is allowed to use for a given iteration. Note that since the number of resources used at each iteration must be a multiple of min\_resources\_
, the actual number of resources used at the last iteration may be smaller than max\_resources\_
.
Signature
max_resources_(): Promise<number>;
Returns
Promise
<number
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:755 (opens in a new tab)
min_resources_
The amount of resources that are allocated for each candidate at the first iteration.
Signature
min_resources_(): Promise<number>;
Returns
Promise
<number
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:782 (opens in a new tab)
multimetric_
Whether or not the scorers compute several metrics.
Signature
multimetric_(): Promise<boolean>;
Returns
Promise
<boolean
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:1110 (opens in a new tab)
n_candidates_
The number of candidate parameters that were evaluated at each iteration.
Signature
n_candidates_(): Promise<any>;
Returns
Promise
<any
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:701 (opens in a new tab)
n_iterations_
The actual number of iterations that were run. This is equal to n\_required\_iterations\_
if aggressive\_elimination
is true
. Else, this is equal to min(n\_possible\_iterations\_, n\_required\_iterations\_)
.
Signature
n_iterations_(): Promise<number>;
Returns
Promise
<number
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:809 (opens in a new tab)
n_possible_iterations_
The number of iterations that are possible starting with min\_resources\_
resources and without exceeding max\_resources\_
.
Signature
n_possible_iterations_(): Promise<number>;
Returns
Promise
<number
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:836 (opens in a new tab)
n_remaining_candidates_
The number of candidate parameters that are left after the last iteration. It corresponds to ceil(n\_candidates\[-1\] / factor)
Signature
n_remaining_candidates_(): Promise<number>;
Returns
Promise
<number
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:728 (opens in a new tab)
n_required_iterations_
The number of iterations that are required to end up with less than factor
candidates at the last iteration, starting with min\_resources\_
resources. This will be smaller than n\_possible\_iterations\_
when there isn’t enough resources.
Signature
n_required_iterations_(): Promise<number>;
Returns
Promise
<number
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:863 (opens in a new tab)
n_resources_
The amount of resources used at each iteration.
Signature
n_resources_(): Promise<any>;
Returns
Promise
<any
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:674 (opens in a new tab)
n_splits_
The number of cross-validation splits (folds/iterations).
Signature
n_splits_(): Promise<number>;
Returns
Promise
<number
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:1054 (opens in a new tab)
py
Signature
py(): PythonBridge;
Returns
PythonBridge
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:132 (opens in a new tab)
Signature
py(pythonBridge: PythonBridge): void;
Parameters
Name | Type |
---|---|
pythonBridge | PythonBridge |
Returns
void
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:136 (opens in a new tab)
refit_time_
Seconds used for refitting the best model on the whole dataset.
This is present only if refit
is not false
.
Signature
refit_time_(): Promise<number>;
Returns
Promise
<number
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:1083 (opens in a new tab)
scorer_
Scorer function used on the held out data to choose the best parameters for the model.
Signature
scorer_(): Promise<any>;
Returns
Promise
<any
>
Defined in: generated/model_selection/HalvingRandomSearchCV.ts:1027 (opens in a new tab)