| CPC G06F 21/6227 (2013.01) [G06F 16/24547 (2019.01); G06F 16/2455 (2019.01); G06F 16/2462 (2019.01); G06F 16/2465 (2019.01); G06F 16/248 (2019.01); G06F 16/25 (2019.01); G06F 21/6218 (2013.01); G06F 21/6245 (2013.01); G06F 21/6254 (2013.01); G06N 5/01 (2023.01); G06N 20/00 (2019.01); G06N 20/20 (2019.01); H04L 63/105 (2013.01)] | 18 Claims |

|
1. A system comprising:
a processor configured to execute computer program instructions; and
a non-transitory computer-readable storage medium storing computer program instructions executable by the processor to perform actions comprising:
receiving a database query requesting a differentially private response to the database query;
determining a privacy parameter associated with the database query, the privacy parameter describing a degree of information to release about a set of data stored by the system that is responsive to the database query;
identifying a privacy budget associated with the database query, the privacy budget describing a degree of information available to be released about data by the system;
decrementing the privacy budget by a first spend determined responsive to the database query; and
responsive to the database query, performing the database query by performing a differentially private set of operations on the set of data stored by the system to produce a differentially private result set that releases a certain degree of information about the set of data based on the privacy parameter, each entry in a subset of the set of data being labeled with a category chosen from a set of two or more categories, the differentially private set of operations comprising:
generating an output vector by applying a trained classifier to entries of the subset, each element of the output vector corresponding to a numerical output of the trained classifier for a corresponding entry in the subset;
identifying a threshold value and assigning categories to each element of the output vector based on a perturbed threshold value; and
recording counts related to a performance of the trained classifier, the counts generated by comparing the assigned categories of the elements of the output vector to the corresponding label in the subset.
|