cdlib.ensemble.random_search¶
- cdlib.ensemble.random_search(graph: ~networkx.classes.graph.Graph, method: ~typing.Callable[[~networkx.classes.graph.Graph, dict], object], parameters: list, quality_score: ~typing.Callable[[~networkx.classes.graph.Graph, object], object], instances: int = 10, aggregate: ~typing.Callable[[list], object] = <built-in function max>) tuple¶
返回指定图相对于所选算法和输入参数随机样本的质量分数的最优分区。
- Parameters:
method – 社区发现方法(来自 nclib.community)
graph – networkx/igraph 对象
parameters – Parameter 和 BoolParameter 对象的列表
quality_score – 用于评估所获得分区的适应度函数(来自 nclib.evaluation)
instances – 随机选择的参数配置数量
aggregate – 用于选择最佳适应值的函数。可能的值:min/max
- Returns:
每次调用时,生成器都会生成一个由以下内容组成的元组:给定算法、输入参数和适应度函数的最优配置;获得的社区;适应度得分
- Example:
>>> import networkx as nx >>> from cdlib import algorithms, ensemble >>> g = nx.karate_club_graph() >>> resolution = ensemble.Parameter(name="resolution", start=0.1, end=1, step=0.1) >>> randomize = ensemble.BoolParameter(name="randomize") >>> communities, scoring = ensemble.random_search(graph=g, method=algorithms.louvain, >>> parameters=[resolution, randomize], >>> quality_score=evaluation.erdos_renyi_modularity, >>> instances=5, aggregate=max) >>> print(communities, scoring)