该代码将多个被试的数据集分成训练集和测试集,并将它们保存到指定的文件路径中。首先,代码遍历每个被试的数据,将每个被试的每个时间步的数据和标签存储到相应的列表中。然后,代码将每个被试的数据集分成训练集和测试集,其中每8个数据中的1个被分配给测试集,其余7个被分配给训练集。最后,代码将训练集和测试集分别保存为numpy数组,并打印它们的形状。

data_training = []
label_training = []
data_testing = []
label_testing = []

for subjects in subjectList:
    with open('C:/Users/faizan/Downloads/data_preprocessed_python/data_preprocessed_python/s' + subjects + '.npy', 'rb') as file:
        sub = np.load(file)
        for i in range (0,sub.shape[0]):
            if i % 8 == 0:
                data_testing.append(sub[i][0])
                label_testing.append(sub[i][1])
            else:
                data_training.append(sub[i][0])
                label_training.append(sub[i][1])
            np.save('C:/Users/faizan/Downloads/data_preprocessed_python/data_preprocessed_python/data_training', np.array(data_training), allow_pickle=True, fix_imports=True)
            np.save('C:/Users/faizan/Downloads/data_preprocessed_python/data_preprocessed_python/label_training', np.array(label_training), allow_pickle=True, fix_imports=True)
print('training dataset:', np.array(data_training).shape, np.array(label_training).shape)

np.save('C:/Users/faizan/Downloads/data_preprocessed_python/data_preprocessed_python/data_testing', np.array(data_testing), allow_pickle=True, fix_imports=True)
np.save('C:/Users/faizan/Downloads/data_preprocessed_python/data_preprocessed_python/label_testing', np.array(label_testing), allow_pickle=True, fix_imports=True)
print('testing dataset:', np.array(data_testing).shape, np.array(label_testing).shape)

该代码使用了一个 8:1 的分割比例,这意味着将 1/8 的数据分配给测试集,而其余 7/8 的数据分配给训练集。这种分割比例通常用于机器学习模型的训练和评估。

此外,代码还使用 np.save() 函数将训练集和测试集分别保存为 NumPy 数组,以便在将来用于模型训练和评估。这使得数据能够被轻松加载和使用,而无需重复执行分割过程。

该代码可应用于各种数据分析和机器学习任务,例如:

  • 使用训练集训练机器学习模型,并使用测试集评估模型的性能。
  • 分析不同被试之间的差异,并识别影响预测结果的因素。
  • 通过将数据划分为训练集和测试集,确保模型的泛化能力,避免过度拟合。

希望本代码能够帮助你将数据有效地分割成训练集和测试集,并为你的数据分析和机器学习任务提供基础。

Python 数据集分割:将多个被试数据划分成训练集和测试集

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

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