dtoolkit.accessor.series.error_report#
- dtoolkit.accessor.series.error_report(s: Series, predicted: ndarray | Series | list[int | float], /, absolute_error: str = 'absolute_error', relative_error: str = 'relative_error') DataFrame [source]#
Calculate absolute_error and relative_error of two columns.
\[ \begin{align}\begin{aligned}absolute\_error = \lvert predicted - s \rvert\\relative\_error = \frac{absolute\_error}{s}\end{aligned}\end{align} \]- Parameters:
- predictedlist of int or float, ndarrray, Series
A array is compared to
s
.- columnslist of Hashable, optional
The columns of returning DataFrame, each represents true value, predicted value, absolute error, and relative error.
Deprecated since version 0.0.19: Please use ‘absolute_error’ and ‘relative_error’ instead.
- absolute_errorstr, default ‘absolute_error’
The name of the column of absolute error.
- relative_errorstr, default ‘relative_error’
The name of the column of relative error.
- Returns:
- DataFrame
Return four columns DataFrame and each represents ‘true value’, ‘predicted value’, ‘absolute error’, and ‘relative error’.
- Raises:
- IndexError
If
len(s)
!=len(predicted)
.If
predicted
is Series and its index not equal tos
’s index.
Examples
>>> import dtoolkit >>> import pandas as pd >>> s = pd.Series([1, 2, 3]) >>> s.error_report([3, 2, 1]) true predicted absolute_error relative_error 0 1 3 2 2.000000 1 2 2 0 0.000000 2 3 1 2 0.666667
If the name of
s
orpredicted
is not None, the columns oferror_report
would use the name ofs
andpredicted
.>>> s = pd.Series([1, 2, 3], name="y") >>> predicted = pd.Series([3, 2, 1], name="y predicted") >>> s.error_report(predicted) y y predicted absolute_error relative_error 0 1 3 2 2.000000 1 2 2 0 0.000000 2 3 1 2 0.666667
Set
absolute_error
andrelative_error
.>>> s.rename('a').error_report( ... predicted.rename('b'), ... absolute_error="c", ... relative_error="d", ... ) a b c d 0 1 3 2 2.000000 1 2 2 0 0.000000 2 3 1 2 0.666667