当前位置: 代码迷 >> 综合 >> 用 sklearn.utils.shuffle 来打乱样本顺序
  详细解决方案

用 sklearn.utils.shuffle 来打乱样本顺序

热度:106   发布时间:2023-10-28 14:22:52.0

直接举例说明:

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 函数得到打乱后的结果都是相同的。

  相关解决方案