PyDP
1.1.4
在當今數據驅動的世界中,越來越多的研究人員和數據科學家使用機器學習來創建更好的模型或更創新的解決方案,以創造更美好的未來。
這些模型通常傾向於處理敏感或個人數據,這可能會導致隱私問題。例如,一些人工智慧模型可以記住他們所訓練的數據的詳細信息,並且可能會在以後洩露這些詳細資訊。
為了幫助衡量敏感資料外洩並減少其發生的可能性,有一個稱為差異隱私的數學框架。
2020 年,OpenMined 為 Google 的差異隱私專案創建了一個 Python 包裝器,名為 PyDP。本函式庫提供了一組 ε-差分私有演算法,可用於產生包含私有或敏感資訊的數位資料集的聚合統計資料。因此,使用 PyDP,您可以控制用 Python 編寫的模型的隱私保證和準確性。
關於 PyDP 需要記住的事情:
若要安裝 PyDP,請使用 PyPI 套件管理器:
pip install python-dp
(如果您單獨為 Python 3.x 安裝了pip3
,請使用pip3 install python-dp
。)
請參閱精選的教程和範例程式碼列表,以了解有關 PyDP 庫的更多資訊。
您也可以開始了解 PyDP(Jupyter 筆記本)和胡蘿蔔演示(Python 文件)。
例:計算有界平均值
# Import PyDP
import pydp as dp
# Import the Bounded Mean algorithm
from pydp . algorithms . laplacian import BoundedMean
# Calculate the Bounded Mean
# Basic Structure: `BoundedMean(epsilon: float, lower_bound: Union[int, float, None], upper_bound: Union[int, float, None])`
# `epsilon`: a Double, between 0 and 1, denoting the privacy threshold,
# measures the acceptable loss of privacy (with 0 meaning no loss is acceptable)
x = BoundedMean ( epsilon = 0.6 , lower_bound = 1 , upper_bound = 10 )
# If the lower and upper bounds are not specified,
# PyDP automatically calculates these bounds
# x = BoundedMean(epsilon: float)
x = BoundedMean ( 0.6 )
# Calculate the result
# Currently supported data types are integers and floats
# Future versions will support additional data types
# (Refer to https://github.com/OpenMined/PyDP/blob/dev/examples/carrots.py)
x . quick_result ( input_data : list )
造訪資源以了解有關差異隱私的更多資訊。
請參閱底層 Google 差異隱私庫的攻擊模型,以詳細了解我們對安全使用 PyDP 的假設和要求。
如果您對 PyDP 庫有疑問,請加入 OpenMined 的 Slack 並查看#lib_pydp頻道。要追蹤程式碼來源更改,請加入#code_dp_python 。
若要為 PyDP 專案做出貢獻,請閱讀指南。
歡迎請求請求。如果您想引入重大更改,請先開啟一個問題來討論您想要更改的內容。
請確保適當更新測試。
阿帕契許可證 2.0