云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

服务器_中企动力企业邮箱登陆_促销

小七 141 0

利用数据块互操作性大规模匿名数据集

数据驱动型公司在众多行业中面临的一个关键挑战是,如何在处理个人识别信息(PII)时充分利用分析的优势。在本博客中,我们将介绍如何利用Databricks和第三方Faker库在更广泛的分析管道环境中匿名敏感数据集。问题概述数据匿名化通常是准备分析数据时执行的第一步。匿名化保持数据的完整性是很重要的。这个博客关注一个简单的例子,它要求匿名化四个字段:姓名、电子邮件、社会保险号码和电话号码。这听起来很简单,对吧?挑战在于我们必须在目标数据集中保留源数据集的语义关系和分布。这使我们能够在以后分析和挖掘与语义关系和分布相关的重要模式的数据。那么,如果每个用户有多行,会发生什么呢?真实数据通常包含冗余数据,如重复全名的行、电子邮件等,这些数据可能具有也可能没有与之相关的不同特性。因此,我们需要维护配置文件信息的映射。我们想匿名化数据,但保持给定的人和他们的特征之间的关系。因此,如果John Doe多次出现在我们的数据集中,我们希望匿名化John Doe的所有PII数据,同时保持John Doe和与John相关的不同特征集之间的关系。然而,我们也必须防止有人对我们的匿名化进行逆向工程。为此,我们将使用一个名为Faker的Python包来生成假数据。每次调用方法假名字()产生不同的随机结果。这意味着每次对源文件运行Faker时,同一源文件将在目标文件中生成一组不同的匿名数据。但是,语义关系和分布将保持不变。图1–来源图2–目标解决方案:匿名化数据,同时保持语义关系和分布。首先,让我们安装Faker用于匿名化和unicodesv,这样我们就可以轻松地处理unicode字符串。%sh pip安装假冒UnicodeSV其次,让我们将包导入Databricks笔记本。unicodecsv是python2.7的csv模块的一个替代品,该模块支持unicode字符串,而且没有任何麻烦。Faker是一个生成伪数据的Python包。将UnicodeSv导入为csv从假冒进口工厂第三,让我们构建一个匿名化数据的函数def anonymize_行(行):"""Rows是包含name和需要匿名的电子邮件字段。"""#装假者伪造者=工厂.创建()#创建姓名、电子邮件、社会保险号码和电话号码到伪造姓名和电子邮件的映射。名称=defaultdict(伪造者姓名)emails=defaultdict(伪造电子邮件)ssns=默认DICT(伪造.ssn)电话号码=defaultdict(伪造电话号码)#迭代文件中的行并生成匿名行。对于行中的行:#用伪造的字段替换名称和电子邮件字段。rowname"]=名称[行名称"]]rowmail"]=电子邮件[行电子邮件"]]rowssn"]=ssns[rowssn"]]rowphone_number"]=电话号码[行电话号码"]]#把行交还给调用者产量行接下来,让我们构建一个获取源文件并输出目标文件的函数:def匿名化(源,目标):"""source参数是指向包含要匿名化的数据的CSV文件的路径,而target是将匿名CSV数据写入的路径。"""使用开放(源代码,"rU")作为f:以open(target,'w')作为o:#使用听写器轻松提取字段读卡器=csv.DictReader(六)写入程序=csv.DictWriter(o,读卡器字段名)#读取并匿名化数据,写入目标文件。对于匿名行中的行(读卡器):作家.作家(世界其他地区)最后,我们将把源文件传递给匿名函数,并提供要创建的目标文件的名称和位置。这里我们使用的是Databricks的DBFS功能,请参阅DBFS文档以了解它是如何工作的。匿名("/dbfs/databricks/mydir/测试.txt","/dbfs/databricks/mydir/匿名.txt")您可以在这里看到Databricks笔记本中的所有代码。我们的源数据,如图3所示,有相同的患者,以绿色突出显示多次,不同的护理类型,以红色突出显示。图3我们的匿名化过程应该在保持语义关系和分布的同时对患者的PII进行匿名化。图4展示了当PII完全匿名时,关系和分布是被维护的。图4图5展示了我们的匿名化是完全随机的,因为当我们再次针对Faker运行源数据集时,我们得到的匿名化数据集完全不同,同时仍然保持关系和分布。图5下一步是什么我们在这个博客中使用的示例代码是作为Databricks笔记本提供的,您可以试用Databricks的免费试用版。如果您对apachespark在实际中的更多例子感兴趣,请查看我之前关于石油天然气行业资产优化的博客。这只是数据链如何无缝地支持医疗行业创新的众多例子之一。在这个博客的下一个安装中,我们将使用这些匿名数据构建一个预测模型。如果您想开始使用Databricks,请注册免费试用或与我们联系。免费试用Databricks。今天就开始吧