clone#
- sklearn.base.clone(estimator, *, safe=True)[source]#
构造具有相同参数的新未拟合估算器。
克隆(clone)会对估计器中的模型进行深拷贝,但不会拷贝附加的数据。它返回一个新的估计器,该估计器具有相同的参数,但尚未在任何数据上进行拟合。
版本 1.3 中有所更改: 如果方法存在,则委托给
estimator.__sklearn_clone__。- 参数:
- estimator{list, tuple, set} of estimator instance or a single estimator instance
要克隆的估计器或估计器组。
- safebool, default=True
如果 safe 为 False,对于不是估计器的对象,克隆将退回到深拷贝。如果
estimator.__sklearn_clone__存在,则忽略此参数。
- 返回:
- estimatorobject
输入的深拷贝,如果输入是估计器,则为估计器。
注意事项
如果估计器的
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