pytorch i2i 图像分割测试集_sklearn函数:ShuffleSplit(分割训练集和测试集)

a349387a26a8ecc1b5661c43afa3afae.png

关于分割训练集、测试集的方法:

橘猫吃不胖:sklearn函数:train_test_split(分割训练集和测试集)​zhuanlan.zhihu.com
19e67d34dbcf7b54b64cd4f1c3d5351a.png
橘猫吃不胖:sklearn函数:KFold(分割训练集和测试集)​zhuanlan.zhihu.com
9cd639fbc44a7a424335946772deb676.png
橘猫吃不胖:sklearn函数:LeaveOneOut(分割训练集和测试集)​zhuanlan.zhihu.com
b7388a2fd936373ac7b86717dd71d709.png

这回的ShuffleSplit,随机排列交叉验证,感觉像train_test_split的升级版,重复了这个分割过程好几次,就和交叉验证很像了

class sklearn.model_selection.ShuffleSplit( n_splits=10, *, test_size=None, train_size=None, random_state=None)

这里的参数也和train_test_split很像,就不多说了

  • n_splits:int, default=10

重复这个随机排列、分割的过程的次数,默认10次

import numpy as np
from sklearn.model_selection import ShuffleSplit

X=np.random.randint(1,100,20).reshape(10,2)
X

0c68403bb8e90087357bf5f51f63f2a1.png
rs = ShuffleSplit(n_splits=10, test_size=0.25)
rs

for train , test in rs.split(X):
    print(f'train: {train} , test: {test}')

0d55929a3acaece4ca9a0972f9876570.png

这里就是重复了train_test_split 10次,这里有一个问题,要注意的就是,这里是随机分割,所以没有办法保证,每一次的分割都是不同的,也就是会出现相同的分割情况