📜  Python – 来自字典的随机样本训练和测试数据(1)

📅  最后修改于: 2023-12-03 15:34:08.815000             🧑  作者: Mango

Python – 来自字典的随机样本训练和测试数据

在机器学习中,我们通常需要将数据集分为训练集和测试集。训练集用于训练模型,而测试集用于评估模型的准确性。我们可以利用Python中的random模块和字典数据结构来实现从数据集中随机选择训练集和测试集的功能。

步骤
  1. 将数据集保存为字典形式,其中键代表样本的名称,值代表样本的特征。
dataset = {'sample1': [1, 2, 3], 'sample2': [4, 5, 6], 'sample3': [7, 8, 9], 'sample4': [10, 11, 12]}
  1. 计算数据集的大小,并定义训练集和测试集的大小。
import random

dataset_size = len(dataset)
trainset_size = int(dataset_size * 0.7)  # 70%的数据用于训练集
testset_size = dataset_size - trainset_size  # 剩余的30%数据用于测试集
  1. 随机选择训练集。
trainset = {}
samples = random.sample(list(dataset), trainset_size)  # 从样本名称中随机选择训练集的名称
for sample in samples:
    trainset[sample] = dataset[sample]  # 将样本名称和特征添加到训练集字典中
  1. 创建测试集。
testset = {}
for sample in dataset:
    if sample not in trainset:
        testset[sample] = dataset[sample]  # 将除了训练集的样本名称和特征添加到测试集字典中
完整代码
import random

dataset = {'sample1': [1, 2, 3], 'sample2': [4, 5, 6], 'sample3': [7, 8, 9], 'sample4': [10, 11, 12]}
dataset_size = len(dataset)
trainset_size = int(dataset_size * 0.7)
testset_size = dataset_size - trainset_size

trainset = {}
samples = random.sample(list(dataset), trainset_size)
for sample in samples:
    trainset[sample] = dataset[sample]

testset = {}
for sample in dataset:
    if sample not in trainset:
        testset[sample] = dataset[sample]

将此代码应用到你的数据集中,即可随机选择训练集和测试集,用于机器学习模型的训练和测试。