随機從清單中取出元素:
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 實作訓練集、測試集随機劃分就是小編分享給大家的全部内容了,希望能給大家一個參考,也希望大家多多支援腳本之家。