Class NearestNeighbor

java.lang.Object
it.unisa.diem.ai.torcs.classifier.NearestNeighbor

public class NearestNeighbor extends Object
Implementazione semplice dell'algoritmo Nearest Neighbor (KNN) utilizzando un KD-Tree per una ricerca efficiente dei vicini.
  • Constructor Details

    • NearestNeighbor

      public NearestNeighbor(Dataset trainingData)
      Costruttore che inizializza il classificatore con il dataset di addestramento.
      Parameters:
      trainingData - dataset contenente i campioni noti (labeled)
  • Method Details

    • findKNearestNeighbors

      public List<Sample> findKNearestNeighbors(Sample testPoint, int k)
      Trova i k vicini più prossimi rispetto a un punto di test.
      Parameters:
      testPoint - il punto da classificare
      k - numero di vicini da considerare
      Returns:
      lista dei k vicini più vicini
    • classify

      public int classify(Sample testPoint, int k)
      Classifica un punto di test usando la maggioranza tra i k vicini più prossimi.
      Parameters:
      testPoint - il punto da classificare
      k - numero di vicini da considerare
      Returns:
      codice numerico della classe predetta (int corrispondente a Label.getCode())
    • getTrainingData

      public Dataset getTrainingData()
      Restituisce il dataset di addestramento usato dal classificatore.
      Returns:
      il dataset con i campioni etichettati