python实现的四种抽样⽅法
2.代码实现random python
⽆放回抽样:随机抽样(RandomSampling)和系统抽样(SystematicSampling)。有放回抽样:随机抽样(RepetitionRandomSampling)。
'''
Sampling archive
@author: Garvin Li
'''
import random
def loadDataSet(fileName): #general function to parse tab -delimited floats dataMat = [] #assume last column is target value
fr = open(fileName)
for line adlines():
curLine = line.strip().split('\t')
# fltLine = map(float,curLine) #map all elements to float()
dataMat.append(curLine)
return dataMat
def RandomSampling(dataMat,number):
try:
slice = random.sample(dataMat, number)
return slice
except:
print 'sample larger than population'
def RepetitionRandomSampling(dataMat,number):
sample=[]
for i in range(number):
sample.append(dataMat[random.randint(0,len(dataMat)-1)])
return sample
def SystematicSampling(dataMat,number):
length=len(dataMat)
k=length/number
sample=[]
i=0
if k>0 :
while len(sample)!=number:
sample.append(dataMat[0+i*k])
i+=1
return sample
else :
return RandomSampling(dataMat,number)
if __name__=='__main__':
dataMat=loadDataSet('/Users/hakuri/')
# print RandomSampling(dataMat,7)
# RepetitionSampling(dataMat,4)
print SystematicSampling(dataMat,9)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论