资源简介
深入理解Linux内核(第三版)中文版+英文版 原版高清带详细书签
代码片段和文件信息
from time import sleep
from model import *
import os
data=[] #数据元组
attributes = (‘job‘ ‘sex‘ ‘age‘ ‘disease‘) #数据的所有属性值
QID = (012) #要进行匿名的属性值
Anonymity_data=[]
Trees = GetTrees() #保存属性的树
Th = 0.4 #阈值:单个属性的信息损失量
def Init():
‘‘‘
初始化,生成树设置阈值,初始化要匿名的属性值
:return: 所有数据元祖,阈值,所有属性的树
‘‘‘
#第一步:读取数据,生成元组
path = os.path.abspath(‘..‘) # 表示当前所处的文件夹上一级文件夹
data_path = path + ‘\\data\\data.txt‘
data_file = open(data_path ‘r‘)
lines = data_file.readlines()
for line in lines:
i = line[:-1].split(‘‘)
data.append(i)
def Anonymity():
Init()
PayOffs=1
Loss = 0
length=len(data)
for i in range(length):
for num in QID:
Loss = GetLoss(Trees[num]data[i][num])
PayOff= GetPayOff(Trees[num]data[i][num])
while Loss tmp_attribute=climb(Trees[num]data[i][num])
PayOff = GetPayOff(Trees[num]tmp_attribute) #根据属性匿名程度不断更新PayOff
data[i][num]=tmp_attribute #更新匿名属性
Loss=GetLoss(Trees[num]data[i][num]) #根据匿名程度更新属性
PayOffs=PayOff*PayOffs #更新PayOff
data[i].append(PayOffs)
PayOffs=1
tmp_data=data[:]
while tmp_data: #执行到原始数据库中没有数据为止
EQ=tmp_data[0]
EQ.append(1) #计数
tmp_data.remove(tmp_data[0])
Anonymity_data.append(EQ)
for i in range(len(tmp_data)):
each=tmp_data[i]
if Equal(EQ[:-1] each QID):
Anonymity_data.append(each)
EQ[-1] = EQ[-1] + 1 # 更新K值
tmp_data=Remove(tmp_dataEQ[:-1]QID)
return Anonymity_data
if __name__ == ‘__main__‘:
‘‘‘
list=[123442]
list.remove(4)
print(list)‘‘‘
Anonymity_data=Anonymity()
Save2File(Anonymity_data)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-05 13:33 K-Anonymity-master\
文件 66 2018-10-05 13:33 K-Anonymity-master\.gitattributes
文件 1203 2018-10-05 13:33 K-Anonymity-master\.gitignore
目录 0 2018-10-05 13:33 K-Anonymity-master\.idea\
文件 606 2018-10-05 13:33 K-Anonymity-master\.idea\boyi.iml
文件 212 2018-10-05 13:33 K-Anonymity-master\.idea\misc.xm
文件 260 2018-10-05 13:33 K-Anonymity-master\.idea\modules.xm
文件 180 2018-10-05 13:33 K-Anonymity-master\.idea\vcs.xm
文件 47910 2018-10-05 13:33 K-Anonymity-master\.idea\workspace.xm
文件 14 2018-10-05 13:33 K-Anonymity-master\README.md
目录 0 2018-10-05 13:33 K-Anonymity-master\data\
文件 446 2018-10-05 13:33 K-Anonymity-master\data\Anonymity.txt
文件 12 2018-10-05 13:33 K-Anonymity-master\data\attribute
文件 48 2018-10-05 13:33 K-Anonymity-master\data\attribute_age
文件 88 2018-10-05 13:33 K-Anonymity-master\data\attribute_job
文件 19 2018-10-05 13:33 K-Anonymity-master\data\attribute_sex
文件 145 2018-10-05 13:33 K-Anonymity-master\data\data.txt
目录 0 2018-10-05 13:33 K-Anonymity-master\src\
文件 2145 2018-10-05 13:33 K-Anonymity-master\src\K_Anonymity.py
文件 0 2018-10-05 13:33 K-Anonymity-master\src\__init__.py
文件 6190 2018-10-05 13:33 K-Anonymity-master\src\model.py
文件 735 2018-10-05 13:33 K-Anonymity-master\src\tree.py
目录 0 2018-10-05 13:33 K-Anonymity-master\test\
目录 0 2018-10-05 13:33 K-Anonymity-master\test\Disease\
目录 0 2018-10-05 13:33 K-Anonymity-master\test\Disease\data\
文件 118122 2018-10-05 13:33 K-Anonymity-master\test\Disease\data\Anonymity.txt
文件 118184 2018-10-05 13:33 K-Anonymity-master\test\Disease\data\Anonymity_age.txt
文件 111352 2018-10-05 13:33 K-Anonymity-master\test\Disease\data\Anonymity_married.txt
文件 118176 2018-10-05 13:33 K-Anonymity-master\test\Disease\data\Anonymity_sex.txt
文件 117991 2018-10-05 13:33 K-Anonymity-master\test\Disease\data\Anonymity_weight.txt
文件 118161 2018-10-05 13:33 K-Anonymity-master\test\Disease\data\Anonymity_workcalss.txt
............此处省略36个文件信息
- 上一篇:手写体数据和KNN实现代码.zip
- 下一篇:stm32串行驱动12864字符,图片
相关资源
- 最全Linux C 库函数官方中文API手册
- UbuntuLinux下通过ndiswrapper安装无线网卡
- deepin-scrot
- linux下Questasim10/Modelsim安装以及破解方
- how linux works 精通linux 中文版 第二版
- 在Linux环境下模拟实现简单命令解释器
- IT机房搬迁实施方案
- 马哥Linux2016全套视频教程及随堂笔记
- 山东大学linux期末复习资料.zip
- Linuxc聊天室,有日志功能可群聊可私
- 简易路由器-demo
- 2018年Linux系统安全检查、加固shell脚本
- 上传项目到Linux服务器
- CentOS-7-x86_64-DVD-1611.iso镜像
- LinuxFTP简单实现、
- Linux_C函数库参考手册(清晰版完整版
- 马哥Linux运维共208讲(初级中级高级必
- 《嵌入式Linux驱动开发教程》书中完整
- Linux常用命令手册大全
- 电子相册--QT
- NVIDIA-Linux-x86_64-378.09
- NVIDIA-Linux-x86_64-384.59
- linux下基于TCP的多用户聊天室含文档
- Linux贪吃蛇
- Linux音乐播放器代码
- linux的Qt设置系统时间
- sd卡协议(中文)
- hunt-1.5一种linux上很强的会话劫持工具
- Linux下socket实现TCP网络通讯多个客户端
- linux p2p通信
评论
共有 条评论