Esempio n. 1
0
def PickTopLap(y,MU,mret,epsilon=1.0,sc=[],sens=-1):
	n=len(y);
	m=len(sc);
	deltQ=sens;

	scDP=[s+us.Lap(0,2*deltQ/epsilon) for s in sc];

	return sorted([i for i in range(0,m)],key=lambda i:-scDP[i])[:mret];
Esempio n. 2
0
def estHerit(filename, num, epsilon, getVar=False, mph=3, direct="Temp"):
    varEst = divideData(filename, direct, num=num, mph=mph, delet=True)
    if getVar:
        return varEst[0]
    est = sum([v[1] / (sum(v)) for v in varEst]) / float(num)
    if epsilon < 0:
        return [sum(varEst[0]), est]
    print "Averaging and adding noise"
    est = est + us.Lap(0, epsilon / float(num))
    if est < 0:
        est = 0.0
    if est > 1:
        est = 1.0
    print "The Result is " + str(est)
    return est
Esempio n. 3
0
def PickTopNeigh(y,MU,mret,epsilon,neighDist=[],randBND=True,bnd=-1):
	n=len(y);
	m=len(neighDist);
	ep1=.1*epsilon;
	ep2=.9*epsilon;
	if len(neighDist)==0:
		sc=np.dot(MU,y);#[abs(sum([y[i]*mu[i] for i in range(0,n)])) for mu in MU];
		sc=[abs(s) for s in sc]

		if bnd<0:
			bnd=sum(sorted(sc,reverse=True)[mret-1:mret+1])/2.0;
			if randBND:
				bnd=bnd+us.Lap(0,np.max(np.abs(MU))/ep1);
				bnd=abs(bnd);
		print "Calculating Distance"
		neighDist=fastNeigh(bnd,MU,y)
		m=len(MU);

	sc=[nei*ep2/(2.0*mret) for nei in neighDist];

	return expPick(sc,mret);
Esempio n. 4
0
def estVarY(y, epsilon):
    vr = np.var(y)
    n = len(y)
    return vr + us.Lap(0, epsilon * 3 / float(n))