使用 Python 将数据集随机分割成训练集、验证集和测试集
import random
# 读取数据集
dataset = []
with open('dataset.txt', 'r') as file:
for line in file:
data = [float(x) for x in line.strip().split(',')] # 将字符串转换为浮点数
dataset.append(data)
# 按类别分组
classes = {}
for data in dataset:
label = int(data[-1])
if label not in classes:
classes[label] = []
classes[label].append(data)
# 随机分割数据集
train_set = []
valid_set = []
test_set = []
for label, data_list in classes.items():
random.shuffle(data_list) # 随机打乱每个类别的数据
train_set.extend(data_list[:1000])
valid_set.extend(data_list[1000:1100])
test_set.extend(data_list[1100:1200])
# 保存训练集
with open('train_set.txt', 'w') as file:
for data in train_set:
file.write(','.join(str(x) for x in data) + '\n')
# 保存验证集
with open('valid_set.txt', 'w') as file:
for data in valid_set:
file.write(','.join(str(x) for x in data) + '\n')
# 保存测试集
with open('test_set.txt', 'w') as file:
for data in test_set:
file.write(','.join(str(x) for x in data) + '\n')
原文地址: https://www.cveoy.top/t/topic/jOvV 著作权归作者所有。请勿转载和采集!