执门文章
差分隐私算法项目实战JAVA版
于 2023-12-15 08:00:36 发布
访问358
收藏0
文章标签:
差分隐私

差分隐私 JAVA版实现

差分隐私(Differential Privacy)是Dwork[3] 在2006年针对数据库的隐私泄露问题提出的一种新的隐私定义。主要是通过使用随机噪声来确保,查询请求公开可见信息的结果,并不会泄露个体的隐私信息,即提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别其记录的机会,简单来说,就是保留统计学特征的前提下去除个体特征以保护用户隐私。

百度出来的所有差分隐私都只是对差分隐私名词的解决,并没有可以实际使用的代码,本人出于对算法的好奇,花了好几天的时间整理,同时也参考了很多其它的例子,并整理了当前算法的java版本,可直接使用到项目当中

代码如下:


    private static ImmutableSortedMap<Integer, Integer> getPrivateCounts(Collection<Visit> visits) {
    Map<Integer, Count> dpCounts = new HashMap<>();
    for (int i = OPENING_HOUR; i <= CLOSING_HOUR; i++) {
      Count dpCount = Count.builder()
          .epsilon(LN_3)
          .maxPartitionsContributed(10)
          .build();
      dpCounts.put(i, dpCount);
    }
    visits.forEach(v -> dpCounts.get(v.entryTime().getHour()).increment());
    return ImmutableSortedMap.copyOf(
        dpCounts.entrySet().stream()
        .collect(
            toMap(Map.Entry::getKey, e -> (int) e.getValue().computeResult())));
  }

工程结构

1、工程中有一个lib文件夹,里面是包含需要的相关包,比如第一张图,没有引入相关jar,代码报错

2、加下相关加包

2、运行项目当中的Main

3、结果信息,加了差分隐私加密后,如下结果

4、源码下载址:https://pan.baidu.com/s/1HID13ob_SHDhk8U5gwmaFg?pwd=rbyg

于 2023-12-15 08:00:36 发布
访问358
收藏0

实力雄厚的技术网站

产品

概述

资源

文档

版权问题

请联系客服

联系我们

联系我们


© 财瑞智能科技 2024蜀ICP备2023018175号-2川公网安备51011202000656号