Skip to content

Commit

Permalink
Let the user choose the validation mode (ten-fold, leave-one-out) fro…
Browse files Browse the repository at this point in the history
…m the .properties files
  • Loading branch information
tdegueul committed Jan 23, 2019
1 parent 11681b8 commit 14aad35
Show file tree
Hide file tree
Showing 18 changed files with 59 additions and 10 deletions.
2 changes: 2 additions & 0 deletions tools/Focus/confs/mvl11.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/MV_L/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C1.1

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/mvl12.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/MV_L/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C1.2

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/mvl21.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/MV_L/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C2.1

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/mvl22.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/MV_L/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C2.2

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/mvs11.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/MV_S/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C1.1

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/mvs12.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/MV_S/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C1.2

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/mvs21.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/MV_S/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C2.1

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/mvs22.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/MV_S/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C2.2

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/shl11.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/SH_L/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C1.1

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/shl12.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/SH_L/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C1.2

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/shl21.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/SH_L/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C2.1

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/shl22.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/SH_L/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C2.2

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/shs11.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/SH_S/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C1.1

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/shs12.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/SH_S/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C1.2

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/shs21.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/SH_S/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C2.1

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
2 changes: 2 additions & 0 deletions tools/Focus/confs/shs22.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ sourceDirectory=../../dataset/SH_S/
# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C2.2

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
3 changes: 3 additions & 0 deletions tools/Focus/evaluation.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ sourceDirectory=../../dataset/SH_S/

# Configuration (C1.1, C1.2, C2.1, C2.2)
configuration=C1.1

# Validation type (ten-fold, leave-one-out)
validation=ten-fold
34 changes: 24 additions & 10 deletions tools/Focus/src/main/java/org/focus/Runner.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
public class Runner {
private String srcDir;
private int numOfProjects = 0;
private boolean tenFold = false;
private boolean leaveOneOut = false;
private Configuration configuration;

private static final Logger log = LogManager.getFormatterLogger(Runner.class);
Expand All @@ -40,6 +42,14 @@ public boolean loadConfigurations(String propFile) {
default: log.error("Invalid configuration " + conf);
}

// Read evaluation mode
String mode = prop.getProperty("validation");
switch (mode) {
case "ten-fold": tenFold = true;
case "leave-one-out": leaveOneOut = true;
default: log.error("Invalid validation mode " + mode);
}

// Count number of projects from List.txt
String projectList = srcDir + "/List.txt";
BufferedReader reader = new BufferedReader(new FileReader(projectList));
Expand All @@ -64,17 +74,21 @@ public void run(String[] args) {
propFile = args[0];

if (loadConfigurations(propFile)) {
long before = System.nanoTime();
log.info("Running ten-fold cross validation on %s with configuration %s", srcDir, configuration);
tenFoldCrossValidation();
long after = System.nanoTime();
log.info("10-fold took %ds", TimeUnit.SECONDS.convert(after - before, TimeUnit.NANOSECONDS));
if (tenFold) {
long before = System.nanoTime();
log.info("Running ten-fold cross-validation on %s with configuration %s", srcDir, configuration);
tenFoldCrossValidation();
long after = System.nanoTime();
log.info("10-fold took %ds", TimeUnit.SECONDS.convert(after - before, TimeUnit.NANOSECONDS));
}

// before = System.nanoTime();
// log.info("Running leave-one-out cross validation on %s with configuration %s", srcDir, configuration);
// leaveOneOutValidation();
// after = System.nanoTime();
// log.info("Took %ds", TimeUnit.SECONDS.convert(after - before, TimeUnit.NANOSECONDS));
if (leaveOneOut) {
long before = System.nanoTime();
log.info("Running leave-one-out cross-validation on %s with configuration %s", srcDir, configuration);
leaveOneOutValidation();
long after = System.nanoTime();
log.info("Leave-one-out took %ds", TimeUnit.SECONDS.convert(after - before, TimeUnit.NANOSECONDS));
}
} else
log.error("Aborting.");
}
Expand Down

0 comments on commit 14aad35

Please sign in to comment.