diff --git a/src/main/java/be/cylab/java/wowa/training/AbstractSolution.java b/src/main/java/be/cylab/java/wowa/training/AbstractSolution.java index 1e67a9427078935a02ab7cf4261bcf13dd8a2077..d969e87d34de6368df21c3218c9d87237353dea7 100644 --- a/src/main/java/be/cylab/java/wowa/training/AbstractSolution.java +++ b/src/main/java/be/cylab/java/wowa/training/AbstractSolution.java @@ -12,7 +12,7 @@ public abstract class AbstractSolution protected double[] weights_w; protected double[] weights_p; - protected double distance = Double.POSITIVE_INFINITY; + protected double fitness_score = Double.POSITIVE_INFINITY; /** * SolutionDistance constructor. Needs weight number as parameter @@ -58,7 +58,7 @@ public abstract class AbstractSolution return "SolutionDistance{" + "weights_w=" + Arrays.toString(weights_w) + ", weights_p=" + Arrays.toString(weights_p) - + ", distance=" + Math.abs(distance) + + ", fitness score=" + Math.abs(fitness_score) + '}'; } @@ -95,9 +95,9 @@ public abstract class AbstractSolution */ @Override public final int compareTo(final AbstractSolution solution) { - if (this.getDistance() > solution.getDistance()) { + if (this.getFitnessScore() > solution.getFitnessScore()) { return 1; - } else if (this.getDistance() < solution.getDistance()) { + } else if (this.getFitnessScore() < solution.getFitnessScore()) { return -1; } else { return 0; @@ -117,14 +117,14 @@ public abstract class AbstractSolution /** * @return */ - public final double getDistance() { - return distance; + public final double getFitnessScore() { + return fitness_score; } /** * @param distance */ - public final void setDistance(final double distance) { + public final void setFitnessScore(final double distance) { return; } diff --git a/src/main/java/be/cylab/java/wowa/training/SolutionAUC.java b/src/main/java/be/cylab/java/wowa/training/SolutionAUC.java index 03c385002d160118849e16d092ff58415d6bd5a0..8e63e8d0270eb5d3fac4aa5ce3cab31a0ad36223 100644 --- a/src/main/java/be/cylab/java/wowa/training/SolutionAUC.java +++ b/src/main/java/be/cylab/java/wowa/training/SolutionAUC.java @@ -20,9 +20,9 @@ public class SolutionAUC extends AbstractSolution { final void computeScoreTo( final List<double[]> data, final double[] expected) { - this.distance = 0; + this.fitness_score = 0; double[] aggregated_values = new double[data.size()]; WOWA wowa = new WOWA(this.weights_w, this.weights_p); - this.distance = -(Utils.computeAUC(this, data, expected)); + this.fitness_score = -(Utils.computeAUC(this, data, expected)); } } diff --git a/src/main/java/be/cylab/java/wowa/training/SolutionDistance.java b/src/main/java/be/cylab/java/wowa/training/SolutionDistance.java index 9f8a2a9238ed67e8dcf60be501df3fbb29317a7f..74ed9b731ac53bb61113ff6301ec49e48b3a659b 100644 --- a/src/main/java/be/cylab/java/wowa/training/SolutionDistance.java +++ b/src/main/java/be/cylab/java/wowa/training/SolutionDistance.java @@ -43,15 +43,15 @@ public class SolutionDistance extends AbstractSolution { final double[] expected ) { - this.distance = 0; + this.fitness_score = 0; for (int i = 0; i < data.size(); i++) { double[] vector = data.get(i); double target_value = expected[i]; WOWA wowa = new WOWA(this.weights_w, this.weights_p); double aggregated_value = wowa.aggregate(vector); - this.distance += Math.pow(target_value - aggregated_value, 2); + this.fitness_score += Math.pow(target_value - aggregated_value, 2); } - this.distance = Math.sqrt(this.distance); + this.fitness_score = Math.sqrt(this.fitness_score); } diff --git a/src/main/java/be/cylab/java/wowa/training/Trainer.java b/src/main/java/be/cylab/java/wowa/training/Trainer.java index ad22c51775c5cc713306d831c409afbb66fc1283..8413884e53ddd2632568d806ca1838ae0bae0e4b 100644 --- a/src/main/java/be/cylab/java/wowa/training/Trainer.java +++ b/src/main/java/be/cylab/java/wowa/training/Trainer.java @@ -58,8 +58,8 @@ public class Trainer { } //We found a new best solution - if (best_solution_of_current_population.getDistance() - < best_solution.getDistance()) { + if (best_solution_of_current_population.getFitnessScore() + < best_solution.getFitnessScore()) { best_solution = best_solution_of_current_population; } @@ -77,7 +77,7 @@ public class Trainer { AbstractSolution best_solution = solutions.get(0); for (AbstractSolution solution : solutions) { - if (solution.getDistance() < best_solution.getDistance()) { + if (solution.getFitnessScore() < best_solution.getFitnessScore()) { best_solution = solution; } } @@ -192,7 +192,7 @@ public class Trainer { double normalized_distance = 0; for (AbstractSolution solution : solutions) { normalized_distance = normalized_distance - + (max + min - solution.getDistance()) / sum; + + (max + min - solution.getFitnessScore()) / sum; if (normalized_distance > tos) { selected_elements.add(solution); solutions.remove(solution); @@ -230,7 +230,7 @@ public class Trainer { //Compare the two selected element and put the solution with // the smallest distance in selected list - if (solution1.getDistance() < solution2.getDistance()) { + if (solution1.getFitnessScore() < solution2.getFitnessScore()) { selected_elements.add(solution1); solutions.remove(solution1); } else { diff --git a/src/main/java/be/cylab/java/wowa/training/Utils.java b/src/main/java/be/cylab/java/wowa/training/Utils.java index d27ab2a7660ea68103c107089cbfa9a396990eb1..72d8718f3f227a14d9048aba47c4535149546556 100644 --- a/src/main/java/be/cylab/java/wowa/training/Utils.java +++ b/src/main/java/be/cylab/java/wowa/training/Utils.java @@ -47,8 +47,8 @@ public final class Utils { final List<AbstractSolution> solutions) { double max = Double.NEGATIVE_INFINITY; for (AbstractSolution solution : solutions) { - if (solution.getDistance() > max) { - max = solution.getDistance(); + if (solution.getFitnessScore() > max) { + max = solution.getFitnessScore(); } } return max; @@ -63,8 +63,8 @@ public final class Utils { final List<AbstractSolution> solutions) { double min = Double.POSITIVE_INFINITY; for (AbstractSolution solution : solutions) { - if (solution.getDistance() < min) { - min = solution.getDistance(); + if (solution.getFitnessScore() < min) { + min = solution.getFitnessScore(); } } return min; @@ -79,7 +79,7 @@ public final class Utils { final List<AbstractSolution> solutions) { double sum = 0; for (AbstractSolution solution : solutions) { - sum += solution.getDistance(); + sum += solution.getFitnessScore(); } return sum; } diff --git a/src/test/java/be/cylab/java/wowa/training/SolutionDistanceTest.java b/src/test/java/be/cylab/java/wowa/training/SolutionDistanceTest.java index 1e5cc3e08d8716c414692e756c10d8f04f1c126b..307added31483112a3c687f8bf78c7b35a3f90e8 100644 --- a/src/test/java/be/cylab/java/wowa/training/SolutionDistanceTest.java +++ b/src/test/java/be/cylab/java/wowa/training/SolutionDistanceTest.java @@ -27,7 +27,7 @@ class SolutionDistanceTest { List<double[]> data = generateData(20, 5); double[] expected = generateExpected(20); solution.computeScoreTo(data, expected); - assertEquals(1.5925246410672433, solution.getDistance()); + assertEquals(1.5925246410672433, solution.getFitnessScore()); } @Test diff --git a/src/test/java/be/cylab/java/wowa/training/TrainerTest.java b/src/test/java/be/cylab/java/wowa/training/TrainerTest.java index 7b050dcb1658491e0b729f8e98da750b448fbf1e..51ae5d705c6ae6ae69702271aeb1c566126b5a28 100644 --- a/src/test/java/be/cylab/java/wowa/training/TrainerTest.java +++ b/src/test/java/be/cylab/java/wowa/training/TrainerTest.java @@ -36,7 +36,7 @@ class TrainerTest { double[] expected = generateExpected(100); List<AbstractSolution> computed_population = this.trainer.computeDistances(population, data, expected); AbstractSolution bestSolution = this.trainer.findBestSolution(computed_population); - assertEquals(3.0482902643223135, bestSolution.getDistance()); + assertEquals(3.0482902643223135, bestSolution.getFitnessScore()); } @Test @@ -46,7 +46,7 @@ class TrainerTest { for (AbstractSolution solution : population) { assertEquals(5, solution.getWeightsW().length); assertEquals(5, solution.getWeightsP().length); - assertEquals(Double.POSITIVE_INFINITY, solution.getDistance()); + assertEquals(Double.POSITIVE_INFINITY, solution.getFitnessScore()); } }