predict method

int predict(
  1. List<double> x
)

Implementation

int predict(List<double> x) {
  var bestLab = 0;
  var bestLog = double.negativeInfinity;
  for (final label in means.keys) {
    final mu = means[label]!;
    final varr = variances[label]!;
    var logp = log(priors[label]!);
    for (var j = 0; j < x.length; j++) {
      final diff = x[j] - mu[j];
      logp += -0.5 * (log(2 * pi * varr[j]) + diff * diff / varr[j]);
    }
    if (logp > bestLog) {
      bestLog = logp;
      bestLab = label;
    }
  }
  return bestLab;
}