lenskit.metrics.predict#
Prediction accuracy metrics. See eval-predict-accuracy for an overview and instructions on using these metrics.
Attributes#
Classes#
Extension to the metric function interface for prediction metrics. |
|
Compute RMSE (root mean squared error). This is computed as: |
|
Compute MAE (mean absolute error). This is computed as: |
|
Module Contents#
- type lenskit.metrics.predict.MissingDisposition = Literal['error', 'ignore']#
- type lenskit.metrics.predict.ScoreArray = NDArray[np.floating] | pd.Series#
- type lenskit.metrics.predict.PredMetric = Callable[[ScoreArray, ScoreArray], float]#
- class lenskit.metrics.predict.PredictMetric(missing_scores='error', missing_truth='error')#
Bases:
lenskit.metrics._base.MetricExtension to the metric function interface for prediction metrics.
In addition to the general metric interface, predict metrics can be called with a single item list (or item list collection) that has both
scoresand aratingfield.- Parameters:
missing_scores (MissingDisposition) – The action to take when a test item has not been scored. The default throws an exception, avoiding situations where non-scored items are silently excluded from overall statistics.
missing_truth (MissingDisposition) – The action to take when no test items are available for a scored item. The default is to also to fail; if you are scoring a superset of the test items for computational efficiency, set this to
"ignore".
- Stability:
- Caller (see Stability Levels).
- default = None#
- missing_scores: MissingDisposition#
- missing_truth: MissingDisposition#
- align_scores(predictions, truth=None)#
Align prediction scores and rating values, applying the configured missing dispositions. The result is two Pandas series, predictions and truth, that are aligned and checked for missing data in accordance with the configured options.
- Parameters:
predictions (lenskit.data.ItemList)
truth (lenskit.data.ItemList | None)
- Return type:
- class lenskit.metrics.predict.RMSE(missing_scores='error', missing_truth='error')#
Bases:
PredictMetricCompute RMSE (root mean squared error). This is computed as:
\[\sum_{r_{ui} \in R} \left(r_{ui} - s(i|u)\right)^2\]This metric does not do any fallbacks; if you want to compute RMSE with fallback predictions (e.g. usign a bias model when a collaborative filter cannot predict), generate predictions with
FallbackScorer.- Stability:
- Caller (see Stability Levels).
- Parameters:
missing_scores (MissingDisposition)
missing_truth (MissingDisposition)
- measure_list(predictions, test=None, /)#
Compute measurements for a single list.
- Returns:
A float for simple metrics
Intermediate data for decomposed metrics
A dict mapping metric names to values for multi-metric classes
- Parameters:
predictions (lenskit.data.ItemList)
test (lenskit.data.ItemList | None)
- Return type:
- extract_list_metrics(data)#
Extract per-list metric(s) from intermediate measurement data.
- create_accumulator()#
Creaet an accumulator to aggregate per-list measurements into summary metrics.
Each result from
measure_list()is passed toAccumulator.add().
- class lenskit.metrics.predict.MAE(missing_scores='error', missing_truth='error')#
Bases:
PredictMetricCompute MAE (mean absolute error). This is computed as:
\[\sum_{r_{ui} \in R} \left|r_{ui} - s(i|u)\right|\]This metric does not do any fallbacks; if you want to compute MAE with fallback predictions (e.g. usign a bias model when a collaborative filter cannot predict), generate predictions with
FallbackScorer.- Stability:
- Caller (see Stability Levels).
- Parameters:
missing_scores (MissingDisposition)
missing_truth (MissingDisposition)
- measure_list(predictions, test=None, /)#
Compute measurements for a single list.
- Returns:
A float for simple metrics
Intermediate data for decomposed metrics
A dict mapping metric names to values for multi-metric classes
- Parameters:
predictions (lenskit.data.ItemList)
test (lenskit.data.ItemList | None)
- Return type:
- extract_list_metrics(data)#
Extract per-list metric(s) from intermediate measurement data.
- create_accumulator()#
Creaet an accumulator to aggregate per-list measurements into summary metrics.
Each result from
measure_list()is passed toAccumulator.add().
Exported Aliases#
- class lenskit.metrics.predict.ItemList#
Re-exported alias for
lenskit.data.ItemList.
- lenskit.metrics.predict.ITEM_COMPAT_COLUMN#
Re-exported alias for
lenskit.data._adapt.ITEM_COMPAT_COLUMN.
- lenskit.metrics.predict.normalize_columns()#
Re-exported alias for
lenskit.data._adapt.normalize_columns().
- class lenskit.metrics.predict.ValueStatAccumulator#
Re-exported alias for
lenskit.data.accum.ValueStatAccumulator.
- class lenskit.metrics.predict.AliasedColumn#
Re-exported alias for
lenskit.data.types.AliasedColumn.
- class lenskit.metrics.predict.Metric#
Re-exported alias for
lenskit.metrics._base.Metric.