I think its good to do the validation for this param in the `__init__` for early failure (by raising a `ValueError`) and also in the `fit` method in case the caller has changed the param value in the mean time (using the `set_params` method as the `GridSearchCV` class does for instance).