Package Loading

require(devtools)
install_github('entroPD', 'yongcha')
require(entroPD)

Implementation

Data Import

load('./data/data_adult.Rdata')
str(adult)

Partition Data

Define Attributes

# TA (Target)
TA <- c('income')
# QI (Quasi-Identifiers)
QI <- c('age', 'workclass', 'education', 'marital.status', 'occupation', 'race', 'sex', 'native.country')
#QI <- c('age', 'workclass', 'education', 'marital.status')
# SA (Sensitive Attributes)
SA <- c('capital.gain', 'capital.loss')
# IS (Insensitive)
IS <- c('relationship', 'hours.per.week', 'education.num')
# Remove
RM <- c('fnlwgt')

parda 함수 적용

adult.QI <- parda(adult, QI, TA)
str(adult.QI)

cpselec 함수 적용

cp.val <- cpselec(10, 100, 2)
cp.val

rpaclass 함수 적용

mclapply 적용

cp.res.mc <- rpaclass(adult.QI, cp.val, matrix(c(0,1,2,0), ncol=2), cval = 100, mc = TRUE)

lapply 적용

cp.res.la <- rpaclass(adult.QI, cp.val, matrix(c(0,1,2,0), ncol=2), cval = 100)
cp.res.la[[1]]

lanode 함수 적용

node.res <- lanode(cp.res.la)
node.res[[30]]

qigrp 함수 적용

qigrp.res <- qigrp(adult.QI, node.res, mcs=8)
knitr::kable(head(qigrp.res[[30]], 20))

eclass 함수 적용

equiclass <- eclass(qigrp.res, QI, TA)
knitr::kable(head(equiclass[[30]], 20))

resume 함수 적용

measure.res <- resume(equiclass, kanon = 5, maxsup = 0.01)
knitr::kable(head(measure.res, 20))

plot.resume 함수 적용

plot(measure.res)


yongcha/entroPD documentation built on May 23, 2019, 9:05 p.m.