随机状态在train_test_split中的意义是什么



在这一行中,random_state=0的意义是什么??

X_train, X_test, y_train, y_test = train_test_split(X,  y, test_size = 0.25, random_state = 0)

随机状态是一个用于修复数据采样方式的参数。因此,如果你想重现相同的模型,你可以为random_state选择任何值,下次运行代码时,你会得到相同的数据分割。

示例你有一个list1=[1,2,3,4],比方说你可以在它上面添加一个用于排列的random_state,对于random_state=0,列表1将是[2,3,4,1],对于random_state=2,它可能是[3,1,4,2]等等…对于X_trainX_test等等,这是一样的…

您输入的每个随机数都会给出不同的分割。

random_state只需为随机生成器设置一个种子,这样您的训练测试分割总是具有确定性的。如果你不设定一个种子,每次都会有所不同。

文档:

random_state :intRandomState实例或None,可选(默认值=None(
如果是int,则random_state是随机使用的种子数字生成器;如果是RandomState实例,则random_state为随机数字生成器;如果是None,则随机数生成器是CCD_ 22使用的CCD_。

最新更新