直接举例说明:
import sklearn
X = np.array([[1, 2], [3, 4], [5, 6]])
Y = np.array([[1], [2], [3]])
print(X)
print(Y)
[[1 2][3 4][5 6]]
[[1][2][3]]
x, y = sklearn.utils.shuffle(X, Y)
print(x)
print(y)
[[1 2][5 6][3 4]]
[[1][3][2]]
可见这个函数的作用是把 X 和 Y 一一对应后打乱。
但是,当再次运行 x, y = sklearn.utils.shuffle(X, Y) 时,得到的结果为:
[[3 4][1 2][5 6]]
[[2][1][3]]
此时它们的顺序又被重新打乱了。
如果想让打乱后的顺序相同,只需要加一个 random_state 参数即可,即:
x, y = sklearn.utils.shuffle(X, Y, random_state=1)
此时每次运行 shuffle 函数得到打乱后的结果都是相同的。