Esempio n. 1
0
from Esme.dgms.format import dgms2swdgms
from Esme.dgms.kernel import sw_parallel
from Esme.embedding.lap import LaplacianEigenmaps
from Esme.graph.egograph import egograph
from Esme.graph.function import fil_strategy
from Esme.graph.generativemodel import sbm2
from Esme.ml.svm import classifier

if __name__ == '__main__':
    radius, zigzag, fil, n1, n2 = 1, True, 'deg', 150, 150
    fil_method = 'combined'
    g, labels = sbm2(n1=n1, n2=n2, p=0.5, q=0.2)

    lp = LaplacianEigenmaps(d=1)
    lp.learn_embedding(g, weight='weight')
    lapfeat = lp.get_embedding()
    lapdist = cdist(lapfeat, lapfeat, metric='euclidean')

    kwargs = {'h': 0.3}
    g = fil_strategy(g, lapfeat, method=fil_method, viz_flag=False, **kwargs)

    ego = egograph(g,
                   radius=radius,
                   n=len(g),
                   recompute_flag=True,
                   norm_flag=True,
                   print_flag=False)
    egographs = ego.egographs(method='serial')
    dgms = alldgms(egographs,
                   radius=radius,
                   dataset='',
Esempio n. 2
0
    fil_method = args.fil_method
    zigzag = True if fil_method == 'combined' else False
    edge_kwargs = {'h': 0.3, 'edgefunc': 'edge_prob'}
    gs1 = sbms(n=n, n1=100, n2=50, p=p, q=q)
    gs2 = sbms(n=n, n1=75, n2=75, p=p, q=q)
    # gs3 = sbms(n=n, n1=75, n2=75, p=p_, q=q_)
    # gs3 = sbms(n=n, n1=50, n2=50, p=p, q=q)
    gs = gs2 + gs1
    labels = [1] * n + [2] * n

    plt.title('p: %s, q: %s' % (p, q))
    for i in range(len(gs)):
        g = gs[i]
        lp = LaplacianEigenmaps(d=1)
        lp.learn_embedding(g, weight='weight')
        lapfeat = lp.get_embedding()  # lapfeat is an array

        # viz = True if i%100==0 else False
        # plt.subplot(2, 1, 1+i//100)
        # plt.plot(lapfeat)
        # plt.show()

        gs[i] = fil_strategy(g,
                             lapfeat,
                             method=fil_method,
                             viz_flag=False,
                             **edge_kwargs)

    # plt.show()
    # sys.exit()
    # plot node fv value