clone#

sklearn.base.clone(estimator, *, safe=True)[source]#

构造一个具有相同参数的新的未拟合的估计器。

克隆(clone)会对估计器中的模型进行深度复制,但不会复制附加的数据。它会返回一个具有相同参数且尚未在任何数据上进行拟合的新估计器。

版本 1.3 中的变化:如果方法存在,则委托给 estimator.__sklearn_clone__

参数:
estimator估计器实例的 {list, tuple, set} 或单个估计器实例

要克隆的估计器或估计器组。

safe布尔值,默认值=True

如果 safe 为 False,clone 将回退到对非估计器对象进行深度复制。如果 estimator.__sklearn_clone__ 存在,则此参数将被忽略。

返回:
estimator对象

输入的深度复制,如果输入是估计器,则为估计器。

备注

如果估计器的 random_state 参数是一个整数(或者如果估计器没有 random_state 参数),则返回一个精确克隆:克隆和原始估计器将给出完全相同的结果。否则,将返回一个统计克隆:克隆可能返回与原始估计器不同的结果。更多详细信息请参阅 控制随机性

示例

>>> from sklearn.base import clone
>>> from sklearn.linear_model import LogisticRegression
>>> X = [[-1, 0], [0, 1], [0, -1], [1, 0]]
>>> y = [0, 0, 1, 1]
>>> classifier = LogisticRegression().fit(X, y)
>>> cloned_classifier = clone(classifier)
>>> hasattr(classifier, "classes_")
True
>>> hasattr(cloned_classifier, "classes_")
False
>>> classifier is cloned_classifier
False