def distance_director_euclidian_modular (fm_train_real=traindat,fm_test_real=testdat,scale=1.2):

	from shogun.Distance import EuclidianDistance
	from modshogun import Time

	feats_train=RealFeatures(fm_train_real)
	feats_train.io.set_loglevel(0)
	feats_train.parallel.set_num_threads(1)
	feats_test=RealFeatures(fm_test_real)

	distance=EuclidianDistance()
	distance.init(feats_train, feats_test)

	ddistance=DirectorEuclidianDistance()
	ddistance.init(feats_train, feats_test)

	print  "dm_train"
	t=Time()
	dm_train=distance.get_distance_matrix()
	t1=t.cur_time_diff(True)

	print  "ddm_train"
	t=Time()
	ddm_train=ddistance.get_distance_matrix()
	t2=t.cur_time_diff(True)	

	print "dm_train", dm_train
	print "ddm_train", ddm_train

	return dm_train, ddm_train
def norm_squared_distance ():
	from shogun.Features import RealFeatures
	from shogun.Distance import EuclidianDistance
	print 'EuclidianDistance - NormSquared'

	feats_train=RealFeatures(fm_train_real)
	feats_test=RealFeatures(fm_test_real)

	distance=EuclidianDistance(feats_train, feats_train)
	distance.set_disable_sqrt(True)

	dm_train=distance.get_distance_matrix()
	distance.init(feats_train, feats_test)
	dm_test=distance.get_distance_matrix()
def euclidian_distance ():
	print 'EuclidianDistance'

	from shogun.Features import RealFeatures
	from shogun.Distance import EuclidianDistance

	feats_train=RealFeatures(fm_train_real)
	feats_test=RealFeatures(fm_test_real)

	distance=EuclidianDistance(feats_train, feats_train)

	dm_train=distance.get_distance_matrix()
	distance.init(feats_train, feats_test)
	dm_test=distance.get_distance_matrix()
def distance_euclidian_modular (fm_train_real=traindat,fm_test_real=testdat):

	from shogun.Features import RealFeatures
	from shogun.Distance import EuclidianDistance

	feats_train=RealFeatures(fm_train_real)
	feats_test=RealFeatures(fm_test_real)

	distance=EuclidianDistance(feats_train, feats_train)

	dm_train=distance.get_distance_matrix()
	distance.init(feats_train, feats_test)
	dm_test=distance.get_distance_matrix()

	return distance,dm_train,dm_test
Пример #5
0
def distance_euclidian_modular(fm_train_real=traindat, fm_test_real=testdat):

    from shogun.Features import RealFeatures
    from shogun.Distance import EuclidianDistance

    feats_train = RealFeatures(fm_train_real)
    feats_test = RealFeatures(fm_test_real)

    distance = EuclidianDistance(feats_train, feats_train)

    dm_train = distance.get_distance_matrix()
    distance.init(feats_train, feats_test)
    dm_test = distance.get_distance_matrix()

    return distance, dm_train, dm_test
def converter_multidimensionalscaling_modular(data):
    from shogun.Features import RealFeatures
    from shogun.Converter import MultidimensionalScaling
    from shogun.Distance import EuclidianDistance

    features = RealFeatures(data)

    distance_before = EuclidianDistance()
    distance_before.init(features, features)

    converter = MultidimensionalScaling()
    converter.set_target_dim(2)
    converter.set_landmark(False)
    embedding = converter.apply(features)

    distance_after = EuclidianDistance()
    distance_after.init(embedding, embedding)

    distance_matrix_after = distance_after.get_distance_matrix()
    distance_matrix_before = distance_before.get_distance_matrix()

    return numpy.linalg.norm(distance_matrix_after - distance_matrix_before) / numpy.linalg.norm(distance_matrix_before)
def converter_multidimensionalscaling_modular(data):
	from shogun.Features import RealFeatures
	from shogun.Converter import MultidimensionalScaling
	from shogun.Distance import EuclidianDistance
	
	features = RealFeatures(data)
		
	distance_before = EuclidianDistance()
	distance_before.init(features,features)

	converter = MultidimensionalScaling()
	converter.set_target_dim(2)
	converter.set_landmark(False)
	embedding =converter.apply(features)

	distance_after = EuclidianDistance()
	distance_after.init(embedding,embedding)

	distance_matrix_after = distance_after.get_distance_matrix()
	distance_matrix_before = distance_before.get_distance_matrix()

	return numpy.linalg.norm(distance_matrix_after-distance_matrix_before)/numpy.linalg.norm(distance_matrix_before)
Пример #8
0
def classify_input(points, cdata, transpose):
    
    clusteredpoints = list()
    
    for i in range(len(cdata[0])):
        clusteredpoints.append(list())
    if transpose == 1:
        from shogun.Distance import EuclidianDistance
        from shogun.Features import RealFeatures
        from numpy  import min, where
        
        obs = RealFeatures(points)
        centroids = RealFeatures(cdata)
        
        distance = EuclidianDistance(obs, centroids)
        
#        out1 = distance.get_distance_matrix()
        distance.init(obs, centroids)
        out = distance.get_distance_matrix()
        
        labels = list()

        for i in range(len(out)):
#            dist = distances[:len(points),i]
            dist = zip(out)[i]
            minimum = min(dist)
            itemindex=where(dist==minimum)
            labels.append(itemindex[1][0])
        
        print len(points)
        print len(points[0])
        for i in range(len(clusteredpoints)):
            for types in range(len(points)):
                clusteredpoints[i].append(list())
        for index in range(len(labels)):
            for item in range(len(points)):
                clusteredpoints[labels[index]][item].append(points[item][index])
        return clusteredpoints, labels