Don't change `self._y` and `self.classes_` in predict. Simply work on local reboxed versions of them (e.g. `_y = self._y.reshape((-1, 1))`, without the `self`).