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