Never use the `np.random` singleton directly in the `fit` method of an estimator. Please add a `random_state` argument to the `__init__` method and check how other sklearn estimator implementations use the `check_random_state` utility function in their fit method. To find example of this pattern use:

```
git grep "check_random_state(self.random_state)"
```