Expand description
Value kinds (spec 002, 3.5). Each is its own type with private fields and
fallible construction; there is no From or Into between any two, so a
score never becomes a probability and a label never acquires mass.
ⓘ
fn launder(label: SelectedLabel) -> Distribution { label.into() }ⓘ
fn launder(d: Distribution) -> CalibratedProbability { d.into() }ⓘ
fn launder(s: ModelScore) -> Distribution { Distribution::from(s) }ⓘ
// A calibrated probability cannot be built without applying an artifact.
fn forge(id: CalibrationId) -> CalibratedProbability {
CalibratedProbability { calibration: id, options: vec![], masses: vec![] }
}Structs§
- Calibrated
Probability - A distribution passed through a calibration artifact bound to this step. It records which transformation was applied; it does not establish that the result is calibrated on current data (spec 002, 3.6.2).
- Distribution
- Non-negative mass over declared options, summing to 1 within tolerance. Uncalibrated: it is not a calibrated probability.
- Kind
Error - Why a supplied value is not a valid value of its kind. Becomes
invalid_backend_outputat the backend boundary. - Model
Score - An unnormalized score, comparable only within its scope.
- Ordinal
Level - A level on a declared rubric, low to high, as a distribution over levels or a single level. Its expectation is an index summary only.
- Rank
Position - An order over candidates with the scores and components that produced it; not a probability of being best.
- Scope
Mismatch - Two scores from different scopes were compared.
- Score
Scope - Where a model score may be compared: one plan, step and request.
- Selected
Label - One option, with no mass and no uncertainty measure.