Skip to content

Commit 058b5cc

Browse files
committed
Refactoring.
1 parent 7a38001 commit 058b5cc

File tree

6 files changed

+20
-17
lines changed

6 files changed

+20
-17
lines changed

src/main/java/com/github/felipexw/classifiers/neighbors/KNNClassifier.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.github.felipexw.classifiers.Classifier;
44
import com.github.felipexw.core.CrossValidation;
5-
import com.github.felipexw.metrics.SimilarityCalculator;
5+
import com.github.felipexw.evaluations.metrics.SimilarityCalculator;
66
import com.github.felipexw.core.LabeledInstance;
77
import com.github.felipexw.core.Prediction;
88

src/main/java/com/github/felipexw/classifiers/neighbors/SimpleKNNClassifier.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.github.felipexw.classifiers.neighbors;
22

33
import com.github.felipexw.evaluations.EvaluatorMetric;
4-
import com.github.felipexw.metrics.SimilarityCalculator;
4+
import com.github.felipexw.evaluations.metrics.SimilarityCalculator;
55
import com.github.felipexw.core.Instance;
66
import com.github.felipexw.core.LabeledInstance;
77
import com.github.felipexw.core.Prediction;
@@ -14,7 +14,7 @@
1414
/**
1515
* Created by felipe.appio on 23/08/2016.
1616
*/
17-
public class SimpleKNNClassifier extends KNNClassifier {
17+
public class SimpleKNNClassifier extends KNNClassifier {
1818

1919

2020
public SimpleKNNClassifier(SimilarityCalculator similarityCalculator) {
@@ -40,12 +40,12 @@ public void train(List<LabeledInstance> instances, int k) {
4040
}
4141

4242
protected List<LabeledInstance> getInstancesthatMaximizeAccuracy() {
43-
List<List<LabeledInstance>> partitionedInstances = Lists.partition(instances, instances.size()/k);
43+
List<List<LabeledInstance>> partitionedInstances = Lists.partition(instances, instances.size() / k);
4444
int testIndex = 0;
4545

4646
double[] accuraciesAndInstanceTestIndex = new double[k];
4747

48-
do{
48+
do {
4949
features = new HashMap<>();
5050
List<Instance> testIntances = new ArrayList<>();
5151

@@ -56,10 +56,8 @@ protected List<LabeledInstance> getInstancesthatMaximizeAccuracy() {
5656
Neighbor neighbor = new Neighbor(instance, -1d);
5757
List<Neighbor> neighbors = getNeighborsWithDistanceFromARootNeighboor(neighbor, k);
5858
features.put(neighbor, neighbors);
59-
}
60-
else{
59+
} else
6160
testIntances.add(instance);
62-
}
6361
}
6462
}
6563
}
@@ -71,7 +69,7 @@ protected List<LabeledInstance> getInstancesthatMaximizeAccuracy() {
7169
accuraciesAndInstanceTestIndex[testIndex] = accuracy;
7270

7371
testIndex++;
74-
}while(testIndex < accuraciesAndInstanceTestIndex.length-1);
72+
} while (testIndex < accuraciesAndInstanceTestIndex.length - 1);
7573

7674
testIndex = getTestIndexWithGreaterAccuracy(accuraciesAndInstanceTestIndex);
7775
return getTrainingLabeledInstances(partitionedInstances, testIndex);
@@ -140,21 +138,22 @@ protected void calculateFeatureSimilarities() {
140138

141139
protected List<Neighbor> getNeighborsWithDistanceFromARootNeighboor(Neighbor neighbor, int threshold) {
142140
throw new UnsupportedOperationException("Continue the implementation");
143-
/*
141+
144142
List<Neighbor> neighbors = new ArrayList<>();
145143
LabeledInstance instance = neighbor.getInstance();
146144

147145
for (int j = -1; j < instances.size() - 1; j++) {
148146
LabeledInstance neighborInstance = instances.get(j + 1);
149-
double similarity = similarityCalculator.calculate(instance.getFeatures(), neighborInstance.getFeatures());
147+
// double similarity = similarityCalculator.calculate(instance.getFeatures(), neighborInstance.getFeatures());
148+
double similarity = 0d;
150149
Neighbor neighborRoot = new Neighbor(neighborInstance, similarity);
151150
neighbors.add(neighborRoot);
152151
if (neighbors.size() == threshold)
153152
return neighbors;
154153
}
155154

156155
return neighbors;
157-
*/
156+
158157
}
159158

160159
public List<Neighbor> similarNeighbors(LabeledInstance trainingInstance, int k) {
@@ -183,7 +182,7 @@ public List<Prediction> predict(List<Instance> instances) {
183182
throw new IllegalArgumentException("instanances can't be empty or null");
184183

185184
List<Prediction> predictionList = new ArrayList<>();
186-
for(Instance instance: instances)
185+
for (Instance instance : instances)
187186
predictionList.add(predict(instance));
188187

189188
return predictionList;

src/main/java/com/github/felipexw/clusters/KMeansClusterer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.github.felipexw.clusters;
22

3-
import com.github.felipexw.metrics.SimilarityCalculator;
3+
import com.github.felipexw.evaluations.metrics.SimilarityCalculator;
44
import com.github.felipexw.core.Instance;
55

66
import java.util.List;

src/main/java/com/github/felipexw/core/Instance.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,9 @@
66
* Created by felipe.appio on 23/08/2016.
77
*/
88
public abstract class Instance<F> {
9-
private List<F> t;
9+
protected List<F> features;
10+
11+
public List<F> getFeatures() {
12+
return features;
13+
}
1014
}

src/main/java/com/github/felipexw/evaluations/metrics/ChebyshevSimilarityCalculator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.github.felipexw.metrics;
1+
package com.github.felipexw.evaluations.metrics;
22

33
/**
44
* Created by felipe.appio on 30/08/2016.

src/main/java/com/github/felipexw/evaluations/metrics/CosineSimilarityCalculator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.github.felipexw.metrics;
1+
package com.github.felipexw.evaluations.metrics;
22

33
/**
44
* Created by felipe.appio on 25/08/2016.

0 commit comments

Comments
 (0)