Toggle Menu
Prev Up Next

scikit-learn 1.3.2
Other versions

Please cite us if you use the software.

# `sklearn.base`.clone

sklearn.base.clone(estimator, *, safe=True)

  Construct a new unfitted estimator with the same parameters.

  Clone does a deep copy of the model in an estimator without actually copying attached data. It returns a new estimator with the same parameters that has not been fitted on any data.

  Changed in version 1.3: Delegates to `estimator.__sklearn_clone__` if the method exists.

  Parameters:
    estimator{list, tuple, set} of estimator instance or a single estimator instance

      The estimator or group of estimators to be cloned.

    safe bool, default=True

      If safe is False, clone will fall back to a deep copy on objects that are not estimators. Ignored if `estimator.__sklearn_clone__` exists.

  Returns:
    estimator object

      The deep copy of the input, an estimator if input is an estimator.

  Notes

  If the estimator’s `random_state` parameter is an integer (or if the estimator doesn’t have a `random_state` parameter), an exact clone is returned: the clone and the original estimator will give the exact same results. Otherwise, statistical clone is returned: the clone might return different results from the original estimator. More details can be found in Controlling randomness.