1. 程式人生 > >Python隨機選擇一部分訓練樣本作為測試樣本

Python隨機選擇一部分訓練樣本作為測試樣本

假設訓練樣本有30個,從訓練樣本中隨機獲得10個作為測試樣本,剩下20個繼續作為訓練樣本

import numpy as np

trainingSet = list(range(30)) # 訓練樣本下標
testSet = []           
for i in range(10):
    randIndex = int(np.random.uniform(0, len(trainingSet))) # 獲得0~len(trainingSet)的一個隨機數
    testSet.append(trainingSet[randIndex])
    del(trainingSet[randIndex])

print(trainingSet) #[0, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 19, 23, 24, 25, 27]
print(testSet) #[22, 14, 21, 29, 8, 20, 26, 28, 1, 18]