<｜begin▁of▁sentence｜>### Instruction:
As a cartographer working on a research project to evaluate the community structures of synthetic networks, I need to analyze the performance of the Louvain and Label Propagation algorithms using the synthetic graphs generated from the LFR benchmark model. The first graph, g1, represents a network with weak community structures, while the second graph, g2, depicts a network with strong community structures. I am tasked with using the `plot_scoring` function to assess and visualize the Adjusted Mutual Information scores obtained by these algorithms across multiple runs, providing insights into their effectiveness for community detection.
### Response:
from cdlib import algorithms, viz, evaluation
import networkx as nx

# Generating synthetic graphs using LFR benchmark
g1 = nx.algorithms.community.LFR_benchmark_graph(1000, 3, 1.5, 0.5, min_community=20, average_degree=5)
g2 = nx.algorithms.community.LFR_benchmark_graph(1000, 3, 1.5, 0.7, min_community=20, average_degree=5)

# Setting up the graph names
names = ["g1", "g2"]

# Creating a list to store reference clusterings
references = []
graphs = [g1, g2]
for g in graphs:
    # Creating a NodeClustering object from each LFR graph's 'community' attribute
    communities = {frozenset(g.nodes[v]['community']) for v in g}
    references.append(evaluation.NodeClustering(communities, g, method_name="reference"))

# Defining the algorithms to be used
algos = [algorithms.louvain, algorithms.label_propagation]

# Using the plot_scoring function to plot the scores
viz.plot_scoring(graphs, references, names, algos, scoring=evaluation.adjusted_mutual_information, nbRuns=5)
<|EOT|>
