您的位置:首页 > 编程语言 > Python开发

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

2020-02-13 10:06 731 查看

随机从列表中取出元素:

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 实现训练集、测试集随机划分就是小编分享给大家的全部内容了,希望能给大家一个参考

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息