-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcookie_dp
More file actions
31 lines (24 loc) · 1 KB
/
cookie_dp
File metadata and controls
31 lines (24 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import pandas as pd
import matplotlib.pyplot as plt
def truncate_cookie_id(cookie_id, truncation_length):
return cookie_id[:-truncation_length]
def utility_metric(truncated_cookie_ids):
return len(set(truncated_cookie_ids))
# Load the dataset
data = pd.read_csv('synthetic_dataset.csv')
cookie_ids = data['Cookie_ID']
# Define truncation lengths
truncation_lengths = list(range(1, len(cookie_ids[0])))
# Calculate the utility metric for each truncation length
utility_metrics = []
for truncation_length in truncation_lengths:
truncated_cookie_ids = [truncate_cookie_id(cookie_id, truncation_length) for cookie_id in cookie_ids]
unique_count = utility_metric(truncated_cookie_ids)
utility_metrics.append(unique_count)
# Plot the utility vs privacy graph
plt.plot(truncation_lengths, utility_metrics)
plt.xlabel('Privacy (Truncation Length)')
plt.ylabel('Utility (Number of Unique Truncated Cookie_IDs)')
plt.title('Utility vs Privacy for Cookie_IDs in synthetic_dataset.csv')
plt.grid(True)
plt.show()