You don't need to initialize the seed before the random permutation, because this is already set for you.
According to the documentation of RandomState:
Parameters:
seed : {None, int, array_like}, optional
Random seed initializing the pseudo-random number generator. Can be an
integer, an array (or other sequence) of integers of any length, or
None (the default). If seed is None, then RandomState will try to read
data from /dev/urandom (or the Windows analogue) if available or seed
from the clock otherwise.
The concept of seed is relevant for the generation of random numbers. You can read more about it here.
To integrate this answer with a comment (from JohnColeman) to your question, I want to mention this example:
>>> numpy.random.seed(0)
>>> numpy.random.permutation(4)
array([2, 3, 1, 0])
>>> numpy.random.seed(0)
>>> numpy.random.permutation(4)
array([2, 3, 1, 0])
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…