Python按比例随机切分数据集的实现方法

月亮慢半拍
月亮慢半拍
发布时间:2026-10-13 | 3人浏览过
原创

本文介绍在机器学习中如何按比例随机切分数据集。通过Python脚本实现训练集与验证集的自动划分,支持随机打乱功能。代码包含核心split函数及测试用例,帮助开发者高效处理数据划分任务,避免手动操作的重复性。

数据集划分的重要性

在机器学习或深度学习任务中,数据集的划分是一个常见且关键的步骤。例如,在某些竞赛场景中,主办方仅提供带有标注的训练集和未标注的测试集。训练集用于模型训练,而测试集则用于生成预测结果并提交,由主办方评估得分。然而,在训练过程中,模型可能会出现过拟合等问题,导致算法和模型的选择变得复杂。此时,验证集的作用至关重要。通常,当数据量充足时,我们会从训练集中按一定比例划分出部分数据作为验证集,以评估模型性能。

Python实现代码示例

每次划分数据集都手动编写脚本不仅重复性高,而且效率低下。因此,本文将一个简洁实用的脚本分享出来,供参考使用。具体实现代码如下:


import random

def split(full_list,shuffle=False,ratio=0.2):
  n_total = len(full_list)
  offset = int(n_total * ratio)
  if n_total==0 or offset<1:
    return [],full_list
  if shuffle:
    random.shuffle(full_list)
  sublist_1 = full_list[:offset]
  sublist_2 = full_list[offset:]
  return sublist_1,sublist_2


if __name__ == "__main__":
  li = range(5)
  sublist_1,sublist_2 = split(li,shuffle=True,ratio=0.2)

  print sublist_1,len(sublist_1)
  print sublist_2,len(sublist_2)

代码使用说明

代码中的main部分为测试示例。假设训练集数据以文件形式存在,我们首先将文件内容读取到列表中,然后调用split函数进行划分。

以上即为本文的全部内容,希望对各位的学习有所帮助。欢迎大家继续支持本站,获取更多技术资源。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表