Exploratory Landscape Analysis Submodule
- ela_difficulty(sample_once, loss_value, N_max=1024, max_pairs=1024, compute_hessian=None, n_curvature_points=128, curvature_dims=None, bounds=None, seed=None, verbose=True, return_features=True, n_jobs=-1)[source]
Compute ELA difficulty scores based on: - convexity tests - finite-difference curvature tests This function performs global sampling only once and reuses: - sampled points - sampled loss values - y_scale - parameter scale - random generator
- Parameters:
sample_once (Callable[[], list[float]]) – Function returning one parameter vector theta.
loss_value (Callable[[ndarray], float]) – Function returning scalar loss at theta.
N – Number of global samples.
max_pairs (int) – Maximum number of pairs for convexity test.
n_curvature_points (int) – Number of points used for curvature estimation.
curvature_dims (int | None) – Number of dimensions used for curvature. If
None, all dimensions are used.epsilon – Relative finite-difference step. For angles, h = epsilon * angle_period.
bounds (tuple[ArrayLike, ArrayLike] | None) – Optional bounds (lower, upper). If
None, bounds are inferred from global samples.seed (int | None) – Random seed.
verbose (bool) – Print progress and diagnostics.
return_features (bool) – If True, returns detailed features.
N_max (int)
compute_hessian (Callable[[ndarray, ndarray], float] | None)
n_jobs (int)
- Returns:
scores, (and features If return_features is
True)