コード例 #1
0
def fj(realizations, n, p, k, s):
    local_log = np.zeros((realizations, 11))
    #Realizations
    for r in range(realizations):
        orig_data = gen_structure_data(n, p).flatten()
        variance = np.var(orig_data)
        data = orig_data.copy()
        #np.save('data.npy', data)

        t1 = time.time()
        pivots = vFisher(data, classes=k)
        t2 = time.time()
        fj_tss = get_tss(k, data, pivots)

        #Cleanup
        del data
        data = orig_data.copy()
        #data = np.load('data.npy')

        ####Ordered Sample####
        t3 = time.time()
        sample = fj_generate_sample(data, pct=s, random=False)
        #Returns pivots in the sample, not pivots in the total - hence C-TSS is way off.
        fj_ordered = vFisher(sample, classes=k)

        t4 = time.time()
        data.sort()
        pivots = []
        for cl in range(0, k - 1):
            pivots.append(np.where(data == sample[fj_ordered[cl]])[0][-1])
        fj_ordered_tss = get_tss(k, data, pivots)

        #Cleanup
        del data
        data = orig_data.copy()
        #data = np.load('data.npy')

        ####Random Sample####
        t5 = time.time()
        sample = fj_generate_sample(data, pct=s)
        fj_random = vFisher(sample, classes=k)
        t6 = time.time()

        data.sort()
        pivots = []
        for cl in range(0, k - 1):
            pivots.append(np.where(data == sample[fj_random[cl]])[0][-1])
        fj_random_tss = get_tss(k, data, pivots)
        log = [
            n, k, p, s, variance, fj_tss, fj_random_tss, fj_ordered_tss,
            t2 - t1, t4 - t3, t6 - t5
        ]
        log = map(str, log)
        local_log[r] = np.array(log)
    return local_log
コード例 #2
0
ファイル: fj_mpi.py プロジェクト: giserh/cybergis-toolkit
def fj(realizations, n, p, k, s):
    local_log = np.zeros((realizations, 11))
    #Realizations
    for r in range(realizations):
	orig_data = gen_structure_data(n,p).flatten()
        variance = np.var(orig_data)
	data = orig_data.copy()
	#np.save('data.npy', data)

	t1 = time.time()
	pivots = vFisher(data, classes=k)
	t2 = time.time()
	fj_tss = get_tss(k, data, pivots)

	#Cleanup
	del data
	data = orig_data.copy()
	#data = np.load('data.npy')

	####Ordered Sample####
	t3 = time.time()
	sample = fj_generate_sample(data, pct=s, random=False)
	#Returns pivots in the sample, not pivots in the total - hence C-TSS is way off.
	fj_ordered = vFisher(sample, classes=k)

	t4 = time.time()
	data.sort()
	pivots = []
	for cl in range(0,k-1):
            pivots.append(np.where(data==sample[fj_ordered[cl]])[0][-1])
	fj_ordered_tss = get_tss(k, data, pivots)

	#Cleanup
	del data
	data = orig_data.copy()
	#data = np.load('data.npy')

	####Random Sample####
	t5 = time.time()
	sample = fj_generate_sample(data, pct=s)
	fj_random = vFisher(sample, classes=k)
	t6 = time.time()

	data.sort()
	pivots = []
	for cl in range(0,k-1):
	    pivots.append(np.where(data==sample[fj_random[cl]])[0][-1])
	fj_random_tss = get_tss(k, data, pivots)
	log = [n,k,p, s,variance, fj_tss, fj_random_tss, fj_ordered_tss, t2-t1, t4-t3, t6-t5]
	log = map(str, log)
	local_log[r] = np.array(log)
    return local_log
コード例 #3
0
def fj(realizations, n, k, p):
    local_log = np.zeros((realizations, 28))
    #Realizations
    for r in range(realizations):
        #Fully computed
        orig_data, variance = gen_structure_data(n, p)
        data = np.copy(orig_data).ravel()
        t1 = time.time()
        pivots = vFisher(data, classes=k)
        t2 = time.time()
        fj_time = t2 - t1
        fj_tss = get_tss(k, data, pivots)
        del data
        #Quantiles
        data = np.copy(orig_data).ravel()
        t1 = time.time()
        quantiles = ps.esda.mapclassify.Quantiles(data, k=k) 
        t2 = time.time()
        q_time = t2-t1
        q_tss = quantiles.get_tss()
        ordered_time = np.empty(5)
        ordered_tss = np.empty(5)
        random_time = np.empty(5)
        random_tss = np.empty(5)
        #Since each sample size is a different method, compute those in a loop
        for i, s in enumerate([0.05, 0.1, 0.15, 0.2, 0.25]):
            del data
            data = np.copy(orig_data).ravel()
            ####Ordered Sample####
            t3 = time.time()
            sample = fj_generate_sample(data, pct=s, random=False)
            #Returns pivots in the sample, not pivots in the total - hence C-TSS is way off.
            fj_ordered = vFisher(sample, classes=k)
            t4 = time.time()
            data.sort()
            pivots = []
            for cl in range(0,k-1):
                    pivots.append(np.where(data==sample[fj_ordered[cl]])[0][-1])
            ordered_tss[i] = get_tss(k, data, pivots)
            ordered_time[i] = t4-t3

            #Cleanup
            del data
            data = np.copy(orig_data).ravel()

            ####Random Sample####
            t5 = time.time()
            sample = fj_generate_sample(data, pct=s)
            fj_random = vFisher(sample, classes=k)
            t6 = time.time()

            data.sort()
            pivots = []
            for cl in range(0,k-1):
                pivots.append(np.where(data==sample[fj_random[cl]])[0][-1])
            random_tss[i] = get_tss(k, data, pivots)
            random_time[i] = t6 - t5
        sampled = np.hstack((ordered_tss,ordered_time, random_tss, random_time))

        log = [n,k,p,variance, fj_tss, fj_time, q_tss, q_time]
        log = map(str, log)
        local_log[r] = np.hstack((np.array(log),sampled))

    return local_log