![a349387a26a8ecc1b5661c43afa3afae.png](https://i-blog.csdnimg.cn/blog_migrate/2137eae66353e7329bec38f86ac0f402.png)
关于分割训练集、测试集的方法:
橘猫吃不胖:sklearn函数:train_test_split(分割训练集和测试集)zhuanlan.zhihu.com![19e67d34dbcf7b54b64cd4f1c3d5351a.png](https://i-blog.csdnimg.cn/blog_migrate/30e668dd9708caa637a78812e50bf30c.png)
![9cd639fbc44a7a424335946772deb676.png](https://i-blog.csdnimg.cn/blog_migrate/38b5e441e17e13bca03b0d08458dde72.png)
![b7388a2fd936373ac7b86717dd71d709.png](https://i-blog.csdnimg.cn/blog_migrate/553d0bf83c15dce0566b2314306f61fb.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](https://i-blog.csdnimg.cn/blog_migrate/c60731d6e572869c0e6c3c1ee9003747.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](https://i-blog.csdnimg.cn/blog_migrate/2cb4ece5f8533d298f3e4e0868af78ee.jpeg)
这里就是重复了train_test_split 10次,这里有一个问题,要注意的就是,这里是随机分割,所以没有办法保证,每一次的分割都是不同的,也就是会出现相同的分割情况