vkantor/MIPT_Data_Mining_In_Action_2016

Deepcopy и base_estimator

Opened this issue · 5 comments

В задании по бустингу необходимо каждый раз обучать новое дерево и добавлять его в список estimators. Обучать одно и тоже дерево (base_estimator) естественно неправильно, поэтому должен быть способ копировать это дерево, за этим я предполагаю и импортится deepcopy.
Я пишу вот так:
estimator=deepcopy(self.base_regressor)
estimator.fit(X,grad)
self.estimators_.append(estimator)
Но ничего не работает, потому что если вместе deepcopy(..) писать просто DecisionTreeRegressor, то всё работает прекрасно.
Что я делаю не так?

Какая у тебя возникает ошибка?

Обучается всего одно и то же дерево 100 раз.

насколько я понимаю, тип алгоритма то конечно один и тот же decisiontreeregressor, но обучается то оно каждый раз на новом X,grad, разве нет?

Тип классификатора один, но estimators должен ссылаться на разные объекты, которые являются копиями base_estimator.

ну слушайте, такого быть не может, у вас ошибка