Package io.jenetics.prog.regression
Interface LossFunction<T>
-
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface LossFunction<T>
This function evaluates how well an evolved program tree fits the given sample data set. If the predictions are totally off, the loss function will output a higher value. If they’re pretty good, it’ll output a lower number. It is the essential part of the overallError
function.final Error<Double> error = Error.of(LossFunction::mse);
- Since:
- 5.0
- Version:
- 5.0
- See Also:
- Loss function
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description double
apply(T[] calculated, T[] expected)
Calculates the error between the expected function values and the values calculated by the actualProgramGene
.static double
mae(Double[] calculated, Double[] expected)
Mean absolute error is measured as the average of sum of absolute differences between predictions and actual observations.static double
mse(Double[] calculated, Double[] expected)
Mean square error is measured as the average of squared difference between predictions and actual observations.static double
rmse(Double[] calculated, Double[] expected)
Root mean square error is measured as the average of squared difference between predictions and actual observations.
-
-
-
Method Detail
-
apply
double apply(T[] calculated, T[] expected)
Calculates the error between the expected function values and the values calculated by the actualProgramGene
.- Parameters:
calculated
- the currently calculated function valueexpected
- the expected function values- Returns:
- the error value
- Throws:
IllegalArgumentException
- if the length of the two arrays are not equalNullPointerException
- if one of thedouble[]
arrays isnull
-
mse
static double mse(Double[] calculated, Double[] expected)
Mean square error is measured as the average of squared difference between predictions and actual observations.- Parameters:
calculated
- the function values calculated with the current program treeexpected
- the expected function value as given by the sample points- Returns:
- the mean square error
- Throws:
IllegalArgumentException
- if the length of the two arrays are not equalNullPointerException
- if one of thedouble[]
arrays isnull
- See Also:
rmse(Double[], Double[])
-
rmse
static double rmse(Double[] calculated, Double[] expected)
Root mean square error is measured as the average of squared difference between predictions and actual observations.- Parameters:
calculated
- the function values calculated with the current program treeexpected
- the expected function value as given by the sample points- Returns:
- the mean square error
- Throws:
IllegalArgumentException
- if the length of the two arrays are not equalNullPointerException
- if one of thedouble[]
arrays isnull
- See Also:
mse(Double[], Double[])
-
mae
static double mae(Double[] calculated, Double[] expected)
Mean absolute error is measured as the average of sum of absolute differences between predictions and actual observations.- Parameters:
calculated
- the function values calculated with the current program treeexpected
- the expected function value as given by the sample points- Returns:
- the mean absolute error
- Throws:
IllegalArgumentException
- if the length of the two arrays are not equalNullPointerException
- if one of thedouble[]
arrays isnull
-
-