Python 代码实现本地化差分隐私下的商品购买统计扰动
以下是一个示例代码,用于实现从本地 TXT 文件中读取用户购买商品的数据,统计每个商品被多少人购买,并使用随机响应机制在本地化差分隐私下对统计结果进行扰动:
import random
import numpy as np
# 读取txt文件并保存数据到数组data中
data = []
path = '文件路径.txt' # 替换为你的文件路径
with open(path, 'r') as file:
for line in file:
line_data = list(map(int, line.strip().split()))
data.append(line_data)
# 统计每个商品被多少人购买
item_count = {}
for line_data in data:
for item in line_data:
if item in item_count:
item_count[item] += 1
else:
item_count[item] = 1
# 进行隐私扰动
epsilon = [0.1, 1, 2, 4] # 隐私预算
result = []
for e in epsilon:
noisy_item_count = {}
for item, count in item_count.items():
noisy_count = count + random.randint(-1, 1) # 随机选择一个数据进行扰动
noisy_item_count[item] = noisy_count
# 计算MSE
mse = np.mean([(noisy_item_count[item] - item_count[item]) ** 2 for item in item_count])
result.append(mse)
print(result)
请注意替换代码中的'文件路径.txt'为你实际的文件路径。代码将会读取该路径下的txt文件,并将数据保存在数组data中。然后,统计每个商品被多少人购买,并进行隐私扰动。最后,计算不同隐私预算下的MSE值并保存在数组result中。
原文地址: https://www.cveoy.top/t/topic/lLZc 著作权归作者所有。请勿转载和采集!