airsspy.volume_minsep_model#

Lightweight baseline predictor for volume and minsep estimates.

Module Contents#

Classes#

FeatureBuilder

Build reusable formula and pair feature vectors.

BaselineRegressor

Ridge regressor with explicit feature standardization.

BaselineFormulaPredictor

Predict formula volume and minsep values from a baseline bundle.

Functions#

split_name_for_formula

Assign a deterministic split label to a reduced formula.

fit_ridge_regressor

Fit a ridge regressor in closed form.

evaluate_regressor

Return simple regression metrics.

train_baseline_regressor

Train a deterministic ridge model with validation alpha selection.

save_baseline_bundle

Write a JSON baseline bundle.

load_baseline_bundle

Load a JSON baseline bundle.

train_baseline_models

Train baseline volume and minsep regressors from a dataset JSON file.

Data#

API#

airsspy.volume_minsep_model.PROPERTY_NAMES#

(‘Z’, ‘X’, ‘atomic_mass’, ‘atomic_radius’, ‘atomic_radius_calculated’, ‘metallic_radius’, ‘average_i…

class airsspy.volume_minsep_model.FeatureBuilder[source]#

Build reusable formula and pair feature vectors.

element_list: tuple[str, ...]#

None

__post_init__() None[source]#
classmethod from_formulas(formulas: collections.abc.Iterable[str]) airsspy.volume_minsep_model.FeatureBuilder[source]#
property formula_feature_names: list[str]#
property pair_feature_names: list[str]#
formula_features(formula: str) numpy.ndarray[source]#
pair_features(formula: str, pair_key: str) numpy.ndarray[source]#
airsspy.volume_minsep_model.split_name_for_formula(formula: str, *, seed: int, train_ratio: float = 0.8, val_ratio: float = 0.1) str[source]#

Assign a deterministic split label to a reduced formula.

class airsspy.volume_minsep_model.BaselineRegressor[source]#

Ridge regressor with explicit feature standardization.

alpha: float#

None

transform: str#

None

feature_mean: numpy.ndarray#

None

feature_scale: numpy.ndarray#

None

target_mean: float#

None

coefficients: numpy.ndarray#

None

intercept: float#

None

feature_names: list[str]#

None

predict_raw(features: numpy.ndarray) numpy.ndarray[source]#
predict(features: numpy.ndarray) numpy.ndarray[source]#
to_payload() dict[source]#
classmethod from_payload(payload: dict) airsspy.volume_minsep_model.BaselineRegressor[source]#
airsspy.volume_minsep_model.fit_ridge_regressor(features: numpy.ndarray, targets: numpy.ndarray, *, alpha: float, feature_names: list[str], sample_weight: numpy.ndarray | None = None, transform: str = 'log') airsspy.volume_minsep_model.BaselineRegressor[source]#

Fit a ridge regressor in closed form.

airsspy.volume_minsep_model.evaluate_regressor(model: airsspy.volume_minsep_model.BaselineRegressor, features: numpy.ndarray, targets: numpy.ndarray) dict[str, float][source]#

Return simple regression metrics.

airsspy.volume_minsep_model.train_baseline_regressor(items: collections.abc.Sequence[airsspy.volume_minsep_data.VolumeAggregate] | collections.abc.Sequence[airsspy.volume_minsep_data.PairAggregate], *, feature_fn: collections.abc.Callable[[object], numpy.ndarray], target_fn: collections.abc.Callable[[object], float], weight_fn: collections.abc.Callable[[object], float], feature_names: list[str], seed: int, alpha_grid: collections.abc.Sequence[float], max_rows: int | None = None) tuple[airsspy.volume_minsep_model.BaselineRegressor, dict][source]#

Train a deterministic ridge model with validation alpha selection.

airsspy.volume_minsep_model.save_baseline_bundle(output_dir: str | pathlib.Path, *, builder: airsspy.volume_minsep_model.FeatureBuilder, volume_model: airsspy.volume_minsep_model.BaselineRegressor, minsep_model: airsspy.volume_minsep_model.BaselineRegressor, metrics: dict, dataset_summary: dict) None[source]#

Write a JSON baseline bundle.

airsspy.volume_minsep_model.load_baseline_bundle(path: str | pathlib.Path) tuple[airsspy.volume_minsep_model.FeatureBuilder, airsspy.volume_minsep_model.BaselineRegressor, airsspy.volume_minsep_model.BaselineRegressor, dict][source]#

Load a JSON baseline bundle.

airsspy.volume_minsep_model.train_baseline_models(*, dataset_path: str | pathlib.Path, output_dir: str | pathlib.Path, seed: int = 17, pair_min_count: int = 1, volume_alpha_grid: collections.abc.Sequence[float] = (1e-06, 0.0001, 0.01, 1.0, 100.0), minsep_alpha_grid: collections.abc.Sequence[float] = (1e-06, 0.0001, 0.01, 1.0, 100.0), max_volume_rows: int | None = None, max_pair_rows: int | None = None) dict[source]#

Train baseline volume and minsep regressors from a dataset JSON file.

class airsspy.volume_minsep_model.BaselineFormulaPredictor[source]#

Predict formula volume and minsep values from a baseline bundle.

bundle_path: str | pathlib.Path#

None

__post_init__() None[source]#
predict(formula: str) dict[source]#
predict_many(formulas: collections.abc.Sequence[str]) list[dict][source]#

Predict many formulas in order.