滑动窗口优先采样

时间:2017-11-18 23:58:40

标签: python-2.7 sliding-window

我有一个python列表,我需要创建一个带有优先级采样的滑动窗口。 具体而言,列表(从json文件创建)如下:

  

print jfile ['id'] =>

445860938797707000
445860940027006000
445860940144463000
445860940907819000
445860941289492000
445860942677803000
445860943072067000
445860944347136000
445860944791740000
445860944778768000

我用于滑动窗口的代码是:

numData=100

stream1=np.random.random(numData)

def prioritySampling (stream, sampleSize):

sample=np.zeros(sampleSize)
tags=np.zeros(sampleSize)

i=0
j=0
while i<len(stream):
    if i<sampleSize:
        sample[i] = stream[i]
        tags[i] = np.random.random()
    else:
        newTag = np.random.random()
        maxTag = np.max(tags)
        idxMaxTag = np.argmax(tags)

        if maxTag > newTag:
            sample[idxMaxTag]=stream[i]
            tags[idxMaxTag]=newTag
            j=j+1
    i=i+1
print 'updates priority=',j    
return sample


sampleP1 = prioritySampling (stream1, 10)

p1 = np.array (sampleP1)

这适用于随机数。 如果我需要使用之前显示的列表怎么办? 请记住,该列表最初有大约35.000个ID,我想最终得到10个最受欢迎的ID。 也就是说,有些ID会多次出现

0 个答案:

没有答案