From ca93fcbc559e6de07be7b6b5572da2256b05afed Mon Sep 17 00:00:00 2001 From: Numbtus <matias.mennecart.etu@univ-lille.fr> Date: Fri, 29 Nov 2024 21:57:35 +0100 Subject: [PATCH] edit knn tests --- .../sae/classification/knn/MethodKNNTest.java | 35 ++++++++++++------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/src/test/java/fr/univlille/sae/classification/knn/MethodKNNTest.java b/src/test/java/fr/univlille/sae/classification/knn/MethodKNNTest.java index cbeac97..5fb848c 100644 --- a/src/test/java/fr/univlille/sae/classification/knn/MethodKNNTest.java +++ b/src/test/java/fr/univlille/sae/classification/knn/MethodKNNTest.java @@ -4,6 +4,7 @@ import com.opencsv.exceptions.CsvRequiredFieldEmptyException; import fr.univlille.sae.classification.knn.distance.DistanceEuclidienne; import fr.univlille.sae.classification.knn.distance.DistanceEuclidienneNormalisee; import fr.univlille.sae.classification.model.ClassificationModel; +import fr.univlille.sae.classification.model.Iris; import fr.univlille.sae.classification.model.LoadableData; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -46,15 +47,20 @@ public class MethodKNNTest { model.loadData(csvTemp); List<LoadableData> datas = model.getDatas(); - LoadableData first = datas.get(0); - LoadableData second = datas.get(1); + LoadableData data = new Iris(3.5,2.6,1.0,0.5); - System.out.println(first); - System.out.println(second); + System.out.println(data); + MethodKNN.updateModel(datas); + List<LoadableData> kVoisins = MethodKNN.kVoisins(datas, data, 1, new DistanceEuclidienne()); - List<LoadableData> kVoisins = MethodKNN.kVoisins(datas, first, 1, new DistanceEuclidienne()); + assertEquals(1, kVoisins.size()); - assertEquals(second, kVoisins.get(0)); + LoadableData voisin = kVoisins.get(0); + System.out.println(voisin); + assertEquals(3.7, voisin.getAttributes()[0], 0.001); + assertEquals(2.7, voisin.getAttributes()[1], 0.001); + assertEquals(1.1, voisin.getAttributes()[2], 0.001); + assertEquals(0.4, voisin.getAttributes()[3], 0.001); } @@ -64,15 +70,20 @@ public class MethodKNNTest { model.loadData(csvTemp); List<LoadableData> datas = model.getDatas(); - LoadableData first = datas.get(0); - LoadableData second = datas.get(1); + LoadableData data = new Iris(3.5,2.6,1.0,0.5); - System.out.println(first); - System.out.println(second); + System.out.println(data); + MethodKNN.updateModel(datas); + List<LoadableData> kVoisins = MethodKNN.kVoisins(datas, data, 1, new DistanceEuclidienneNormalisee()); - List<LoadableData> kVoisins = MethodKNN.kVoisins(datas, first, 1, new DistanceEuclidienneNormalisee()); + assertEquals(1, kVoisins.size()); - assertEquals(second, kVoisins.get(0)); + LoadableData voisin = kVoisins.get(0); + System.out.println(voisin); + assertEquals(3.7, voisin.getAttributes()[0], 0.001); + assertEquals(2.7, voisin.getAttributes()[1], 0.001); + assertEquals(1.1, voisin.getAttributes()[2], 0.001); + assertEquals(0.4, voisin.getAttributes()[3], 0.001); } } -- GitLab