AlgorithmCharacterizer
Algorithm characterization from optimization data.
Analyzes optimization trial results to generate comprehensive algorithm profiles with strengths, weaknesses, and recommendations.
See ADR-011 for architecture decisions.
Classes
- class AlgorithmCharacterizer
Generate algorithm profiles from optimization data.
Analyzes optimization results to characterize each algorithm’s performance, identify optimal parameters, and generate qualitative assessments.
- Example:
results = OptunaOptimizer(…).optimize(…) characterizer = AlgorithmCharacterizer(results) profiles = characterizer.characterize_all()
- for profile in profiles:
print(f”{profile.display_name}: {profile.strengths}”)
Methods:
- __init__()
Initialize characterizer.
- characterize()
Generate profile for a single algorithm.
- characterize_all()
Generate profiles for all algorithms in results.
- create_comparison()
Create comparison of all algorithms.
- save_profiles()
Save all profiles to JSON file.
- load_profiles()
Load profiles from JSON file.
Functions
- characterize()
Generate profile for a single algorithm.
- Args:
algorithm: Algorithm name to characterize.
- Returns:
AlgorithmProfile with complete characterization.
- characterize_all()
Generate profiles for all algorithms in results.
- Returns:
List of AlgorithmProfile objects.
- create_comparison()
Create comparison of all algorithms.
- Returns:
AlgorithmComparison with rankings and recommendations.
- save_profiles()
Save all profiles to JSON file.
- Args:
output_path: Path to save profiles.
- load_profiles()
Load profiles from JSON file.
- Args:
input_path: Path to load from.
- Returns:
AlgorithmComparison with loaded profiles.