Skip to content

Commit 67920c2

Browse files
committed
Refactor train and test instances creation
1 parent 8a34f06 commit 67920c2

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/FeatureSet.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,10 @@ public void initializeFeatures() {
8787
case DOC_MANUAL:
8888
docFeatureHandler = new DocFeatureHandler();
8989
docFeatureHandler.initialiseManualFeatureSet();
90-
docFeatureHandler.evaluateManualFeatureData();
9190
break;
9291
case DOC_AUTO:
9392
docFeatureHandler = new DocFeatureHandler();
9493
docFeatureHandler.initialiseAutomaticFeatureSet();
95-
docFeatureHandler.evaluateAutomaticFeatureData();
9694
break;
9795
}
9896
}

swan-pipeline/src/main/java/de/fraunhofer/iem/swan/features/MekaFeatureSet.java

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919

2020
public class MekaFeatureSet extends FeatureSet implements IFeatureSet {
2121

22+
Instances trainInstances = null;
23+
Instances testInstances = null;
24+
Instances structure = null;
25+
2226
public MekaFeatureSet(Dataset dataset, SwanOptions options) {
2327
super(dataset, options, ModelEvaluator.Toolkit.MEKA);
2428
}
@@ -28,15 +32,19 @@ public MekaFeatureSet(Dataset dataset, SwanOptions options) {
2832
*/
2933
public void createFeatures() {
3034

31-
List<FeatureSet.Type> featureSets = initializeFeatures();
32-
33-
Instances trainInstances = null;
34-
Instances structure = null;
35+
initializeFeatures();
3536

3637
//Create and set attributes for the train instances
3738
if (options.getInstances().isEmpty()) {
3839
ArrayList<Attribute> trainAttributes = createAttributes(getCategories(options.getAllClasses()), dataset.getTrainMethods(), featureSets);
39-
trainInstances = createInstances(featureSets, trainAttributes, dataset.getTrainMethods(), getCategories(options.getAllClasses()));
40+
structure = new Instances("swan-srm", trainAttributes, 0);
41+
convertToMekaInstances(structure);
42+
43+
Set<Method> methods = new HashSet<>(dataset.getTrainMethods());
44+
methods.addAll(dataset.getTestMethods());
45+
46+
evaluateFeatureData(methods);
47+
trainInstances = createInstances(structure, trainAttributes, dataset.getTrainMethods(), getCategories(options.getAllClasses()));
4048
} else {
4149
ArffLoader loader = new ArffLoader();
4250

@@ -47,7 +55,17 @@ public void createFeatures() {
4755
} catch (IOException e) {
4856
e.printStackTrace();
4957
}
58+
59+
createAttributes(getCategories(options.getAllClasses()), dataset.getTestMethods(), featureSets);
60+
evaluateFeatureData(dataset.getTestMethods());
5061
}
62+
testInstances = createTestSet();
63+
64+
this.instances.put("train", convertToMekaInstances(trainInstances));
65+
this.instances.put("test", convertToMekaInstances(testInstances));
66+
}
67+
68+
public Instances createTestSet() {
5169

5270
//Create and set attributes for the test instances.
5371
Attribute idAttr = new Attribute("id", dataset.getTestMethods().stream().map(Method::getArffSafeSignature).collect(Collectors.toList()));

0 commit comments

Comments
 (0)