从列表中随机选取一定数目的元素

1.    从列表中随机选取一定数目的元素

       可用于训练集、测试集的随机划分

import random
#从列表中随机选取一定数目的元素
def random_sample(num1, num2):
    dataList = list(range(num1))                           #  产生指定范围元素的列表
    TrainIndex = []                                        #  初始化存储随机产生的索引的列表
    for i in range(num2):                                 #  随机产生索引的数量
        randIndex = int(random.uniform(0,len(dataList)))  #  在指定的范围内产生随机数位置索引
        TrainIndex.append(dataList[randIndex])            #  进行存储
        del(dataList[randIndex])                         #  对已选中的元素进行删除,以便于下一次随机选取
    TestIndex = dataList                                 #  随机选取过后剩下的元素
    return TrainIndex,TestIndex                         #  返回随机选取的一定数目的元素,和剩下的元素

trainIndex, testIndex = random_sample(10,8)
print('trainIndex',trainIndex)
print('testIndex',testIndex)

#打印结果
#trainIndex [0, 2, 1, 5, 9, 7, 8, 6]
#testIndex [3, 4]

你可能感兴趣的:(机器学习,python)