网络编程
位置:首页>> 网络编程>> Python编程>> Python 实现训练集、测试集随机划分

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

作者:no_error_no_warn  发布时间:2023-02-12 01:41:24 

标签:Python,训练集,测试集,划分

随机从列表中取出元素:


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

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

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


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

来源:https://blog.csdn.net/qq_39514033/article/details/90052508

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com