Runner

Benchmark runner for case studies and algorithms.

asunder.nlbnp.case_studies.runner.run_evaluation(problem='cpcong', build_params=None, style='CP', algos=None, repeat=3)

Run benchmark evaluations for CP (Core-Periphery) and CD_Refine (Community Detection + Refinement to identify linear group) workflows.

Parameters:
  • problem (str) – Shortcode for problem being evaluated.

  • build_params (dict) – Parameters used to build graph instance.

  • style (str) – Problem style.

  • algos (list[str]) – List of algorithms to be evaluated.

  • repeat (int) – Number of times to run the evaluation.

Returns:

results – Dictionary of evaluation results keyed by algorithm name. Each results[algo] entry is itself a dictionary with the following key-value pairs:

NMIfloat

Normalized mutual information between labels_gt and the predicted labels.

ARIfloat

Adjusted Rand index between labels_gt and the predicted labels.

VIfloat

Variation of information between labels_gt and the predicted labels.

Accuracyfloat

Best permutation-invariant clustering accuracy.

timefloat

Runtime for the algorithm evaluation, measured in seconds.

Gapfloat

Percentage optimality gap between the ground-truth partition and the returned solution.

Return type:

dict