tmp_classifier = classifier_nn.fit(x,y)
for elem in step:
classifier_nn.partial_fit(new_x, new_y)
classifier_nn = tmp_classifier
我想知道我的估算方法是否是"重置"到之前的状态,即预训练的分类器(classifier_nn.fit(x,y)。
答案 0 :(得分:1)
不,没有重置,因为self.fit返回 self ,而不是副本。换句话说,tmp_classifier和classifier_nn是对同一对象的引用。因此,当你调用部分拟合时,你会修改两者,而最终的赋值什么都不做。
您需要做的是在拟合后克隆分类器。
classifier_nn.fit(x,y)
tmp_classifier = deepcopy(classifier_nn)
for elem in step:
classifier_nn.partial_fit(new_x, new_y)
classifier_nn = tmp_classifier
应该有用。