getProbabilities method

List<double> getProbabilities(
  1. List<double> prediction
)

Returns the probabilities of each element in the prediction list using the softmax function.

The softmax function takes a list of double values and returns a probability distribution over the elements by exponentiating each value and normalizing it by the sum of all exponentiated values.

The prediction parameter is a list of double values representing the predicted scores for each class.

Returns a list of double values representing the probabilities of each element in the prediction list.

Implementation

List<double> getProbabilities(List<double> prediction) {
  List<double> predictionProbabilities = [];
  double? sumExp;

  // Getting sum of exponentiated values
  for (var element in prediction) {
    if (sumExp == null) {
      sumExp = exp(element);
    } else {
      sumExp = sumExp + exp(element);
    }
  }

  // Calculating probabilities
  for (var element in prediction) {
    predictionProbabilities.add(exp(element) / sumExp!);
  }

  return predictionProbabilities;
}