From the mailing list discussion by @rkern:

> - Don't seed a new RandomState instance every time. Instead, take a
RandomState instance (defaulting to the global numpy.random if not
specified). This lets you integrate well with other code that may also
be using random numbers. For example, see what sklearn does:

> https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/utils/validation.py#L301

> Actually, since this is such a common pattern, I may steal that
function to put into numpy.random so everyone can use it.