eval_stats_regression

class RegressionMetric(name: Optional[str] = None, bounds: Optional[Tuple[float, float]] = None)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_base.Metric[RegressionEvalStats], abc.ABC

compute_value_for_eval_stats(eval_stats: sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStats, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)
abstract classmethod compute_value(y_true: numpy.ndarray, y_predicted: numpy.ndarray, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)
classmethod compute_errors(y_true: numpy.ndarray, y_predicted: numpy.ndarray)
classmethod compute_abs_errors(y_true: numpy.ndarray, y_predicted: numpy.ndarray)
name: str
class RegressionMetricMAE(name: Optional[str] = None, bounds: Optional[Tuple[float, float]] = None)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric

name: str = 'MAE'
classmethod compute_value(y_true: numpy.ndarray, y_predicted: numpy.ndarray, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)
class RegressionMetricMSE(name: Optional[str] = None, bounds: Optional[Tuple[float, float]] = None)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric

name: str = 'MSE'
classmethod compute_value(y_true: numpy.ndarray, y_predicted: numpy.ndarray, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)
class RegressionMetricRMSE(name: Optional[str] = None, bounds: Optional[Tuple[float, float]] = None)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric

name: str = 'RMSE'
classmethod compute_value(y_true: numpy.ndarray, y_predicted: numpy.ndarray, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)
class RegressionMetricRRSE(name: Optional[str] = None, bounds: Optional[Tuple[float, float]] = None)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric

name: str = 'RRSE'
classmethod compute_value(y_true: numpy.ndarray, y_predicted: numpy.ndarray, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)
class RegressionMetricR2(name: Optional[str] = None, bounds: Optional[Tuple[float, float]] = None)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric

name: str = 'R2'
classmethod compute_value(y_true: numpy.ndarray, y_predicted: numpy.ndarray, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)
class RegressionMetricPCC(name: Optional[str] = None, bounds: Optional[Tuple[float, float]] = None)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric

name: str = 'PCC'
classmethod compute_value(y_true: numpy.ndarray, y_predicted: numpy.ndarray, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)
class RegressionMetricStdDevAE(name: Optional[str] = None, bounds: Optional[Tuple[float, float]] = None)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric

name: str = 'StdDevAE'
classmethod compute_value(y_true: numpy.ndarray, y_predicted: numpy.ndarray, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)
class RegressionMetricMedianAE(name: Optional[str] = None, bounds: Optional[Tuple[float, float]] = None)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric

name: str = 'MedianAE'
classmethod compute_value(y_true: numpy.ndarray, y_predicted: numpy.ndarray, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)
class RegressionEvalStats(y_predicted: Optional[Union[numpy.ndarray, pandas.core.series.Series, pandas.core.frame.DataFrame, list]] = None, y_true: Optional[Union[numpy.ndarray, pandas.core.series.Series, pandas.core.frame.DataFrame, list]] = None, metrics: Optional[Sequence[sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric]] = None, additional_metrics: Optional[Sequence[sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric]] = None, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_base.PredictionEvalStats[RegressionMetric]

Collects data for the evaluation of predicted continuous values and computes corresponding metrics

HEATMAP_COLORMAP_FACTORY()
HEATMAP_DIAGONAL_COLOR = 'green'
HEATMAP_ERROR_BOUNDARY_VALUE = None
HEATMAP_ERROR_BOUNDARY_COLOR = (0.8, 0.8, 0.8)
SCATTER_PLOT_POINT_COLOR = (0, 0, 1, 0.05)
__init__(y_predicted: Optional[Union[numpy.ndarray, pandas.core.series.Series, pandas.core.frame.DataFrame, list]] = None, y_true: Optional[Union[numpy.ndarray, pandas.core.series.Series, pandas.core.frame.DataFrame, list]] = None, metrics: Optional[Sequence[sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric]] = None, additional_metrics: Optional[Sequence[sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric]] = None, model: Optional[sensai.vector_model.VectorRegressionModel] = None, io_data: Optional[sensai.data.InputOutputData] = None)
Parameters
  • y_predicted – the predicted values

  • y_true – the true values

  • metrics – the metrics to compute for evaluation; if None, will use DEFAULT_REGRESSION_METRICS

  • additional_metrics – the metrics to additionally compute

compute_metric_value(metric: sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric) float
compute_mse()

Computes the mean squared error (MSE)

compute_rrse()

Computes the root relative squared error

compute_pcc()

Gets the Pearson correlation coefficient (PCC)

compute_r2()

Gets the R^2 score

compute_mae()

Gets the mean absolute error

compute_rmse()

Gets the root mean squared error

compute_std_dev_ae()

Gets the standard deviation of the absolute error

create_eval_stats_collection() sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStatsCollection

For the case where we collected data on multiple dimensions, obtain a stats collection where each object in the collection holds stats on just one dimension

plot_error_distribution(bins='auto', title_add=None) Optional[matplotlib.figure.Figure]
Parameters
  • bins – bin specification (see HistogramPlot)

  • title_add – a string to add to the title (on a second line)

Returns

the resulting figure object or None

plot_scatter_ground_truth_predictions(figure=True, title_add=None, **kwargs) Optional[matplotlib.figure.Figure]
Parameters
  • figure – whether to plot in a separate figure and return that figure

  • title_add – a string to be added to the title in a second line

  • kwargs – parameters to be passed on to plt.scatter()

Returns

the resulting figure object or None

plot_heatmap_ground_truth_predictions(figure=True, cmap=None, bins=60, title_add=None, error_boundary: Optional[float] = None, **kwargs) Optional[matplotlib.figure.Figure]
Parameters
  • figure – whether to plot in a separate figure and return that figure

  • cmap – the colour map to use (see corresponding parameter of plt.imshow for further information); if None, use factory defined in HEATMAP_COLORMAP_FACTORY (which can be centrally set to achieve custom behaviour throughout an application)

  • bins – how many bins to use for constructing the heatmap

  • title_add – a string to add to the title (on a second line)

  • error_boundary – if not None, add two lines (above and below the diagonal) indicating this absolute regression error boundary; if None (default), use static member HEATMAP_ERROR_BOUNDARY_VALUE (which is also None by default, but can be centrally set to achieve custom behaviour throughout an application)

  • kwargs – will be passed to plt.imshow()

Returns

the resulting figure object or None

class RegressionEvalStatsCollection(eval_stats_list: List[sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStats])[source]

Bases: sensai.evaluation.eval_stats.eval_stats_base.EvalStatsCollection[sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStats, sensai.evaluation.eval_stats.eval_stats_regression.RegressionMetric]

__init__(eval_stats_list: List[sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStats])
get_combined_eval_stats() sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStats
Returns

an EvalStats object that combines the data from all contained EvalStats objects

class RegressionEvalStatsPlot(*args, **kwds)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_base.EvalStatsPlot[sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStats], abc.ABC

class RegressionEvalStatsPlotErrorDistribution(*args, **kwds)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStatsPlot

create_figure(eval_stats: sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStats, subtitle: str) matplotlib.figure.Figure
Parameters
  • eval_stats – the evaluation stats from which to generate the plot

  • subtitle – the plot’s subtitle

Returns

the figure or None if this plot is not applicable/cannot be created

class RegressionEvalStatsPlotHeatmapGroundTruthPredictions(*args, **kwds)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStatsPlot

create_figure(eval_stats: sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStats, subtitle: str) matplotlib.figure.Figure
Parameters
  • eval_stats – the evaluation stats from which to generate the plot

  • subtitle – the plot’s subtitle

Returns

the figure or None if this plot is not applicable/cannot be created

class RegressionEvalStatsPlotScatterGroundTruthPredictions(*args, **kwds)[source]

Bases: sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStatsPlot

create_figure(eval_stats: sensai.evaluation.eval_stats.eval_stats_regression.RegressionEvalStats, subtitle: str) matplotlib.figure.Figure
Parameters
  • eval_stats – the evaluation stats from which to generate the plot

  • subtitle – the plot’s subtitle

Returns

the figure or None if this plot is not applicable/cannot be created