Ejemplo n.º 1
0
  private int classify(List<Classifier> classifiers, Instance instance) {

    List<Double> predictedClasses =
        classifiers
            .stream()
            .map(
                classifier -> {
                  try {
                    return classifier.classifyInstance(instance);
                  } catch (Exception e) {
                    return -1.0;
                  }
                })
            .collect(Collectors.toList());

    System.out.println("Resultados de clasificar muestra:");
    System.out.println(predictedClasses);

    Map<Double, Long> predictedClassOcurrencesMap =
        predictedClasses
            .stream()
            .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

    System.out.println("Mapa de ocurrencias:");
    System.out.println(predictedClassOcurrencesMap);

    Double predictedClass =
        predictedClassOcurrencesMap
            .entrySet()
            .stream()
            .max(Map.Entry.comparingByValue())
            .get()
            .getKey();

    System.out.println("Resultado final:");
    System.out.println(predictedClass);

    return predictedClass.intValue();
  }