python

超轻量级php框架startmvc

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

更新时间:2020-08-19 14:30:01 作者:startmvc
随机从列表中取出元素:importrandomdataSet=[[0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]]trainDataSet=random.s

随机从列表中取出元素:


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 训练集 测试集 划分