def addgraphs(graphs): #grammar = loco.LOCO( grammar = lsgg.lsgg(decomposition_args={ "radius_list": [0, 1, 2], "thickness_list": [1], "loco_minsimilarity": .8, "thickness_loco": 4 }, filter_args={ "min_cip_count": 2, "min_interface_count": 2 }) grammar.fit(graphs, n_jobs=args.n_jobs) scorer = score.OneClassEstimator(n_jobs=args.n_jobs).fit(graphs) scorer.n_jobs = 1 # demons cant spawn children selector = choice.SelectMaxN(10) transformer = transformutil.no_transform() mysample = partial(sample.multi_sample, transformer=transformer, grammar=grammar, scorer=scorer, selector=selector, n_steps=5, n_neighbors=100) if False: res = sgexec.sgexec(mysample, graphs) else: res = ba.mpmap_prog(mysample, graphs, poolsize=args.n_jobs, chunksize=1) return graphs + res
def addgraphs(graphs): #grammar = loco.LOCO( grammar = lsgg.lsgg(decomposition_args={ "radius_list": [0, 1, 2], "thickness_list": [1, 2], "loco_minsimilarity": .8, "thickness_loco": 4 }, filter_args={ "min_cip_count": 1, "min_interface_count": 1 }) grammar.fit(graphs, n_jobs=args.n_jobs) #scorer = score.OneClassEstimator(n_jobs=args.n_jobs).fit(graphs) scorer = score.OneClassAndSizeFactor( n_jobs=args.n_jobs, model=svm.OneClassSVM(kernel='linear', gamma='auto')).fit(graphs) scorer.n_jobs = 1 # demons cant spawn children #selector = choice.SelectProbN(1) selector = choice.SelectClassic( reg=0) # linear kernel -> .8 , rbf kernel -> .97? transformer = transformutil.no_transform() # multi sample: mysample = partial(sample.multi_sample, transformer=transformer, grammar=grammar, scorer=scorer, selector=selector, n_steps=20, n_neighbors=200) # mysample = partial(sample.sample, transformer=transformer, grammar=grammar, scorer=scorer, selector=selector, n_steps=20) mysample = partial(sample.sample_sizeconstraint, penalty=args.size_score_penalty, transformer=transformer, grammar=grammar, scorer=scorer, selector=selector, n_steps=args.n_steps) #print (mysample(graphs[0])) #exit() return mysample, graphs
def makelsgg(): return lsgg.lsgg(decomposition_args={ "radius_list": [0], "thickness_list": [1] }, filter_args={ "min_cip_count": 1, "min_interface_count": 1 })
def __init__(self, radius_list=[0, 1, 2, 3], thickness_list=[1], min_cip_count=4, min_interface_count=2, max_n_neighbors=None, n_neigh_steps=1, max_neighborhood_size=None): """init.""" self.max_n_neighbors = max_n_neighbors self.n_neigh_steps = n_neigh_steps self.max_neighborhood_size = max_neighborhood_size self.grammar = lsgg( decomposition_args=dict(radius_list=radius_list, thickness_list=thickness_list, hash_bitmask=2**16 - 1), filter_args=dict(min_cip_count=min_cip_count, min_interface_count=min_interface_count))
def test_dark_edges(): '''''' lsggg = lsgg.lsgg() g = _edenize_for_testing(nx.path_graph(3)) g_dark = g.copy() for n,d in g_dark.nodes(data=True): if 'edge' in d: d['nesting'] = True # test fit lsggg.fit([g, g_dark]) assert 2 == len([g.graph for v in lsggg.productions.values() for g in v.values()]) # test production res = lsggg.neighbors(g_dark) #import structout as so #so.gprint([g.graph for v in lsggg.productions.values() for g in v.values()] ) assert 2 == len(list(res))
def __init__(self, r=3, d=3, min_count=1, max_n_neighbors=None, n_iter=20, k_best=5): """init.""" self.max_n_neighbors = max_n_neighbors self.n_iter = n_iter self.k_best = k_best decomposition_args = { "radius_list": [0, 1, 2, 3], "thickness_list": [2] } filter_args = { "min_cip_count": min_count, "min_interface_count": min_count } self.grammar = lsgg(decomposition_args, filter_args) self.multiobj_est = DistRankSizeCostEstimator(r=r, d=d)
def __init__(self, r=3, d=3, min_count=1, max_n_neighbors=None, n_iter=20, k_best=5, improve=True): """init.""" self.r = r self.d = d self.max_n_neighbors = max_n_neighbors self.n_iter = n_iter self.k_best = k_best self.improve = improve decomposition_args = { "radius_list": [0, 1, 2, 3], "thickness_list": [2] } filter_args = { "min_cip_count": min_count, "min_interface_count": min_count } self.grammar = lsgg(decomposition_args, filter_args)
def test_get_grammar(): lsggg = lsgg.lsgg() g = _edenize_for_testing(nx.path_graph(4)) lsggg.fit([g, g, g]) return lsggg