Python 实现训练集、测试集随机划分

yipeiwu_com5年前Python基础

随机从列表中取出元素:

import random
dataSet = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10]]
trainDataSet = random.sample(dataSet, 3)

以下函数,使用于我最近的一个机器学习的项目,将数据集数据按照比例随机划分成训练集数据和测试集数据:

import csv
import random
def getDataSet(proportion):
  """
    :exception
      获取训练集和测试集(将数据按比例随机划分)
    :parameter
      proportion - 测试集/数据集
    :return
      trainDataSet - 训练集
      testDataSet - 测试集
    author
      肖政宇
    modify
      2019年5月10日
  """
  dataSet = open('数据集.csv')
  dataSetReader = csv.reader(dataSet)
  """
    :exception
      将数据保存到数组
  """
  dataSet = []
  next(dataSetReader, 'none') # 跳过表头
  data = next(dataSetReader, 'none')
  while (data != 'none'):
    dataSet.append(data)
    data = next(dataSetReader, 'none')
  """
    :exception
      按照比例随机划分出训练集和测试集
  """
  dataNumber = dataSet.__len__() # 数据集数据条数
  testNumber = int(dataNumber * proportion) # 测试集数据条数
  testDataSet = [] # 测试数据集
  trainDataSet = [] # 训练数据集
 
  testDataSet = random.sample(dataSet, testNumber) # 测试集
  for testData in testDataSet: # 将已经选定的测试集数据从数据集中删除
    dataSet.remove(testData)
  trainDataSet = dataSet # 训练集
 
  return trainDataSet, testDataSet

以上这篇Python 实现训练集、测试集随机划分就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

基于python实现微信模板消息

我的风格,废话不多说了,直接给大家贴代码了,并在一些难点上给大家附了注释,具体代码如下所示: #!/usr/bin/env python #-*- coding:utf-8 -*-...

Python 数据处理库 pandas进阶教程

Python 数据处理库 pandas进阶教程

前言 本文紧接着前一篇的入门教程,会介绍一些关于pandas的进阶知识。建议读者在阅读本文之前先看完pandas入门教程。 同样的,本文的测试数据和源码可以在这里获取: Github:p...

Python中使用插入排序算法的简单分析与代码示例

问题描述 将一组随机排列的数字重新按照从小到大的顺序排列。 插入算法 每次从数组中取一个数字,与现有数字比较并插入适当位置。 如此重复,每次均可以保持现有数字按照顺序排列,直到数字取完,...

在pycharm中配置Anaconda以及pip源配置详解

在学习推荐系统、机器学习、数据挖掘时,python是非常强大的工具,也有很多很强大的模块,但是模块的安装却是一件令人头疼的事情。 现在有个工具——anaconda,他已经帮我们集成好了很...

详解如何用OpenCV + Python 实现人脸识别

详解如何用OpenCV + Python 实现人脸识别

下午的时候,配好了OpenCV的Python环境,OpenCV的Python环境搭建。于是迫不及待的想体验一下opencv的人脸识别,如下文。 必备知识 Haar-like 通俗的来讲,...