sample函数随机抽取训练集和测试集

ind=sample(2,nrow(dataset),replace=TRUE,prob=c(0.7,0.3))

data_train=dataset[ind==1,]

data_test=dataset[ind==2,]

R语言中的sample()函数是用于随机采样的函数。
函数模型:sample(x, size, replace = FALSE, prob = NULL)
x参数为一个向量,其中包含一个以上的元素;也可以为一个整数,如果为整数(N),采样范围为1:N,包括N本身。
size,即采样次数
replace表示是否重复采样,默认为FALSE,如果为TRUE,则表示为放回采样。
prob参数可以设置x中每个元素被sample的概率。

可以使用Python的os和random模块来实现从目录下随机抽取一定比例的图像,同时可以使用Pillow库来读取和保存图像文件。以下是示例代码: ```python import os import random from PIL import Image # 图像目录 cat_dir = 'cat_images' dog_dir = 'dog_images' # 训练集测试集比例 train_ratio = 0.8 test_ratio = 0.2 # 新建目录保存训练集测试集 train_dir = 'train' test_dir = 'test' os.makedirs(train_dir, exist_ok=True) os.makedirs(test_dir, exist_ok=True) # 随机抽取猫的图像 cat_images = os.listdir(cat_dir) cat_train_size = int(len(cat_images) * train_ratio) cat_train_images = random.sample(cat_images, cat_train_size) cat_test_images = list(set(cat_images) - set(cat_train_images)) # 随机抽取狗的图像 dog_images = os.listdir(dog_dir) dog_train_size = int(len(dog_images) * train_ratio) dog_train_images = random.sample(dog_images, dog_train_size) dog_test_images = list(set(dog_images) - set(dog_train_images)) # 复制训练集测试集图像到新目录 for image_file in cat_train_images: image_path = os.path.join(cat_dir, image_file) image = Image.open(image_path) save_path = os.path.join(train_dir, image_file) image.save(save_path) for image_file in cat_test_images: image_path = os.path.join(cat_dir, image_file) image = Image.open(image_path) save_path = os.path.join(test_dir, image_file) image.save(save_path) for image_file in dog_train_images: image_path = os.path.join(dog_dir, image_file) image = Image.open(image_path) save_path = os.path.join(train_dir, image_file) image.save(save_path) for image_file in dog_test_images: image_path = os.path.join(dog_dir, image_file) image = Image.open(image_path) save_path = os.path.join(test_dir, image_file) image.save(save_path) ``` 这段代码首先指定图像目录和训练集测试集比例。然后使用os.listdir函数获取目录下的所有图像文件,利用random.sample函数从中随机抽取一定比例的图像作为训练集,剩余的图像作为测试集。最后使用Pillow库中的Image.open函数读取图像文件,使用Image.save函数保存到新目录中。需要注意的是,这段代码只适用于图像文件较少且文件名格式规范的情况,对于大规模的数据集需要更加复杂的处理方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值