天天看點

python 訓練集 測試集 驗證集劃分_Python 實作訓練集、測試集随機劃分

随機從清單中取出元素:

import random

dataSet = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10]]

trainDataSet = random.sample(dataSet, 3)

python 訓練集 測試集 驗證集劃分_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

以上這篇Python 實作訓練集、測試集随機劃分就是小編分享給大家的全部内容了,希望能給大家一個參考,也希望大家多多支援腳本之家。