克隆#
- sklearn.base.clone(estimator, *, safe=True)[source]#
构建一个具有相同参数的新未拟合估计器。
克隆会对估计器中的模型进行深度复制,而不会实际复制附加数据。它返回一个具有相同参数但未在任何数据上拟合的新估计器。
1.3版本中的变更: 如果存在该方法,则委托给
estimator.__sklearn_clone__
。- 参数:
- estimator估计器实例的{列表、元组、集合}或单个估计器实例
要克隆的估计器或估计器组。
- safe布尔值,默认为True
如果safe为False,则克隆将回退到对不是估计器的对象的深度复制。如果存在
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