时间:2022-03-10 20:56:44 | 栏目: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