From 92fbafa32c797301bc291b8f7068013cef93c668 Mon Sep 17 00:00:00 2001 From: "hugo.debuyser.etu" <hugo.debuyser.etu@univ-lille.fr> Date: Thu, 28 Nov 2024 23:57:24 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9but=20de=20r=C3=A9daction=20de=20la=20pa?= =?UTF-8?q?rtie=20tutoriel=20d'ajout=20de=20nouvelle=20donn=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TutoImportation.md | 19 ++++++++++ .../sae/classification/model/Iris.java | 21 ----------- .../classification/model/LoadableData.java | 6 --- .../sae/classification/model/Pokemon.java | 37 ------------------- 4 files changed, 19 insertions(+), 64 deletions(-) create mode 100644 TutoImportation.md diff --git a/TutoImportation.md b/TutoImportation.md new file mode 100644 index 0000000..6578a04 --- /dev/null +++ b/TutoImportation.md @@ -0,0 +1,19 @@ +# Importation d'un fichier CSV + +Ce modèle de classification offre la possibilité d'importer une base de données, pour cela il vous suffit d'ajouter au modèle +dans le dossier `src/main/java/fr.univlille.sae.classification/model` une nouvelle classe avec le nom que vous souhaitez donner à votre jeu de données. + +Une fois cela fait, il vous suffit d'implémenter les différentes méthodes présentes dans l'interface `LoadableData`. Vous devez ensuite ajouter ce nouveau type +à l'énumération `DataType` où vous devez spécifier le nombre d'arguments devant être exploiter, cela correpond au nombre de colones du tableau - 1. + +Rendez-vous ensuite dans la classe `PointFactory` où devez y ajouter dans le switch case de la méthode `createPoint()`: + +```java +case [Nom des données]: + if (size != DataType.[Nom des données].getArgumentSize()) { + throw new IllegalArgumentException("Le nombre de coordonnées doit être de " + [Nom des données].getArgumentSize() + " pour le type [Nom des données]."); + } + data = new [Nom des données].getArgumentSize()(coords); + break; +``` + diff --git a/src/main/java/fr/univlille/sae/classification/model/Iris.java b/src/main/java/fr/univlille/sae/classification/model/Iris.java index abf271a..e716c10 100644 --- a/src/main/java/fr/univlille/sae/classification/model/Iris.java +++ b/src/main/java/fr/univlille/sae/classification/model/Iris.java @@ -109,27 +109,6 @@ public class Iris extends LoadableData { return petalLength; } - /** - * Renvoie la valeur des données en fonction de l'axe spécifié. - * @param axes nom de l'axe pour lequel la valeur est requise. - * @return valeur correspondante. - */ - @Override - public double getDataType(String axes) { - switch (axes) { - case "sepalWidth": - return sepalWidth; - case "sepalLength": - return sepalLength; - case "petalWidth": - return petalWidth; - case "petalLength": - return petalLength; - default: - return sepalLength; - } - } - @Override public double[] getAttributes() { return new double[]{sepalLength, sepalWidth, petalLength, petalWidth} ; diff --git a/src/main/java/fr/univlille/sae/classification/model/LoadableData.java b/src/main/java/fr/univlille/sae/classification/model/LoadableData.java index 4aa25be..2f08a23 100644 --- a/src/main/java/fr/univlille/sae/classification/model/LoadableData.java +++ b/src/main/java/fr/univlille/sae/classification/model/LoadableData.java @@ -54,12 +54,6 @@ public abstract class LoadableData { */ public abstract Color getColor(); - /** - * Renvoie la valeur des données en fonction de l'axe spécifié. - * @param axes nom de l'axe pour lequel la valeur est requise. - * @return valeur correspondante. - */ - public abstract double getDataType(String axes); public abstract double[] getAttributes(); diff --git a/src/main/java/fr/univlille/sae/classification/model/Pokemon.java b/src/main/java/fr/univlille/sae/classification/model/Pokemon.java index f52f5b1..fb4d7c4 100644 --- a/src/main/java/fr/univlille/sae/classification/model/Pokemon.java +++ b/src/main/java/fr/univlille/sae/classification/model/Pokemon.java @@ -161,43 +161,6 @@ public class Pokemon extends LoadableData { } } - /** - * Renvoie la valeur des données en fonction de l'axe spécifié. - * - * @param axes nom de l'axe pour lequel la valeur est requise. - * @return valeur correspondante. - */ - @Override - public double getDataType(String axes) { - switch (axes) { - case "attack": - return this.attack; - case "base_egg_steps": - return this.baseEggSteps; - case "capture_rate": - return this.captureRate; - case "defense": - return this.defense; - case "experience_growth": - return this.experienceGrowth; - case "hp": - return this.hp; - case "sp_attack": - return this.spAttack; - case "sp_defense": - return this.spDefense; - case "speed": - return this.speed; - case "is_legendary": - if(this.isLegendary){ - return 1; - } - return 0; - default: - return this.attack; - } - } - @Override public double[] getAttributes() { return new double[]{attack, baseEggSteps, captureRate, defense, -- GitLab