本文整理汇总了Python中eden.graph.Vectorizer.transform_single方法的典型用法代码示例。如果您正苦于以下问题:Python Vectorizer.transform_single方法的具体用法?Python Vectorizer.transform_single怎么用?Python Vectorizer.transform_single使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eden.graph.Vectorizer
的用法示例。
在下文中一共展示了Vectorizer.transform_single方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DiscSampler
# 需要导入模块: from eden.graph import Vectorizer [as 别名]
# 或者: from eden.graph.Vectorizer import transform_single [as 别名]
class DiscSampler():
'''
'''
def __init__(self):
# this is mainly for the forest. the sampler uses a different vectorizer
self.vectorizer = Vectorizer(nbits=14)
def get_heap_and_forest(self, griter, k):
'''
so we create the heap and the forest...
heap is (dist to hyperplane, count, graph)
and the forest ist just a nearest neighbor from sklearn
'''
graphs = list(griter)
graphs2 = copy.deepcopy(graphs)
# transform doess mess up the graph objects
X = self.vectorizer.transform(graphs)
forest = LSHForest()
forest.fit(X)
print 'got forest'
heap = []
for vector, graph in zip(X, graphs2):
graph2 = nx.Graph(graph)
heapq.heappush(heap, (
self.sampler.estimator.predict_proba(self.sampler.vectorizer.transform_single(graph2))[0][1],
# score ~ dist from hyperplane
k + 1, # making sure that the counter is high so we dont output the startgraphz at the end
graph)) # at last the actual graph
print 'got heap'
distances, unused = forest.kneighbors(X, n_neighbors=2)
distances = [a[1] for a in distances] # the second element should be the dist we want
avg_dist = distances[len(distances) / 2] # sum(distances)/len(distances)
print 'got dist'
return heap, forest, avg_dist
'''
def sample_simple(self,graphiter,iterneg):
graphiter,grait,griter2 = itertools.tee(graphiter,3)
self.fit_sampler(graphiter,iterneg)
a,b,c=self.get_heap_and_forest( griter2, 30)
grait= itertools.islice(grait,5)
rez=self.sampler.sample(grait,n_samples=5,
batch_size=1,
n_jobs=0,
n_steps=1,
select_cip_max_tries=100,
accept_annealing_factor=.5,
generatormode=False,
same_core_size=False )
return rez
'''
def sample_graphs(self, graphiter, iter_neg, radius, how_many, check_k, heap_chunk_size=10):
# some initialisation,
# creating samper
# setup heap and forest
graphiter, iter2 = itertools.tee(graphiter)
self.fit_sampler(iter2, iter_neg)
heap, forest, avg_dist = self.get_heap_and_forest(graphiter, check_k)
# heap should be like (hpdist, count, graph)
radius = radius * avg_dist
# so lets start the loop1ng
result = []
while heap and len(result) < how_many:
# pop all the graphs we want
todo = []
for i in range(heap_chunk_size):
if heap:
todo.append(heapq.heappop(heap))
# let the sampler do the sampling
graphz = [e[2] for e in todo]
# draw.draw_graph_set_graphlearn(graphz)
work = self.sampler.sample(graphz,
batch_size=1,
n_jobs=0,
n_steps=30,
select_cip_max_tries=100,
improving_threshold=.5,
generatormode=False,
max_core_size_diff=False,
n_samples=3
)
# lets see, we need to take care of
# = the initialy poped stuff
# - increase and check the counter, reinsert into heap
# = the new graphs
# put them in the heap and the forest
#.........这里部分代码省略.........