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')
使用 Python 将数据集随机分割成训练集、验证集和测试集

原文地址: https://www.cveoy.top/t/topic/jOvV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录