我有一个用户数据流,我正在尝试实现Flajolet-Martin算法来估算唯一身份用户:
我想首先了解如何将这些用户吸引到一个列表中(例如将他们保存为数组),以及如何使用Flajolet-Martin算法来预测数据流的唯一用户。
到目前为止,代码已为我提供了用户ID:
import requests
import json
r = requests.get('http://stream.meetup.com/2/rsvps', stream=True)
for raw_rsvp in r.iter_lines():
if raw_rsvp:
rsvp = json.loads(raw_rsvp)
print(rsvp[u'member'][u'member_id'])
我知道首先我需要将一个哈希函数应用于流元素-h(a)将结束于某些零。这个零数是尾部长度R。然后将看到的最大R用作2 ^ R来估计不同元素的数量。现在,假设该流将处于活动状态一小时。我将如何应用?
预先感谢