Skip to content

Commit 78e4e7a

Browse files
committed
cleaned up code
1 parent dde817c commit 78e4e7a

File tree

1 file changed

+28
-53
lines changed

1 file changed

+28
-53
lines changed

src/main/java/mekaexamples/experiment/ExperimentExample.java

Lines changed: 28 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
* along with this program. If not, see <http://www.gnu.org/licenses/>.
1414
*/
1515

16-
/**
16+
/*
1717
* ExperimentExample.java
18-
* Copyright (C) 2015-2016 University of Waikato, Hamilton, NZ
18+
* Copyright (C) 2015-2024 University of Waikato, Hamilton, NZ
1919
*/
2020

2121
package mekaexamples.experiment;
@@ -35,16 +35,9 @@
3535
import meka.experiment.evaluators.CrossValidation;
3636
import meka.experiment.evaluators.RepeatedRuns;
3737
import meka.experiment.events.ExecutionStageEvent;
38-
import meka.experiment.events.ExecutionStageListener;
3938
import meka.experiment.events.IterationNotificationEvent;
40-
import meka.experiment.events.IterationNotificationListener;
4139
import meka.experiment.events.StatisticsNotificationEvent;
42-
import meka.experiment.events.StatisticsNotificationListener;
43-
import meka.experiment.statisticsexporters.EvaluationStatisticsExporter;
44-
import meka.experiment.statisticsexporters.MultiExporter;
45-
import meka.experiment.statisticsexporters.SimpleAggregate;
46-
import meka.experiment.statisticsexporters.TabSeparated;
47-
import meka.experiment.statisticsexporters.TabSeparatedMeasurement;
40+
import meka.experiment.statisticsexporters.*;
4841
import weka.core.Utils;
4942

5043
import java.io.File;
@@ -56,9 +49,16 @@
5649
* user-supplied datasets.
5750
*
5851
* @author FracPete (fracpete at waikato dot ac dot nz)
59-
* @version $Revision$
6052
*/
6153
public class ExperimentExample {
54+
55+
protected static String errorMsg(String error) {
56+
if (error == null)
57+
return "success!";
58+
else
59+
return error;
60+
}
61+
6262
public static void main(String[] args) throws Exception {
6363
if (args.length == 0)
6464
throw new IllegalArgumentException("Requirement arguments: <dataset1> [<dataset2> [...]]");
@@ -69,70 +69,50 @@ public static void main(String[] args) throws Exception {
6969
Experiment exp = new DefaultExperiment();
7070
// classifiers
7171
exp.setClassifiers(new MultiLabelClassifier[]{
72-
new BR(),
73-
new CC()
72+
new BR(),
73+
new CC()
7474
});
7575
// datasets
7676
List<File> files = new ArrayList<>();
7777
for (String f: args)
7878
files.add(new File(f));
7979
LocalDatasetProvider dp1 = new LocalDatasetProvider();
80-
dp1.setDatasets(files.toArray(new File[files.size()]));
80+
dp1.setDatasets(files.toArray(new File[0]));
8181
LocalDatasetProvider dp2 = new LocalDatasetProvider();
8282
dp2.setDatasets(new File[]{
83-
new File("src/main/data/solar_flare.arff"),
83+
new File("src/main/data/solar_flare.arff"),
8484
});
8585
MultiDatasetProvider mdp = new MultiDatasetProvider();
8686
mdp.setProviders(new DatasetProvider[]{dp1, dp2});
8787
exp.setDatasetProvider(mdp);
8888
// output of metrics
89-
KeyValuePairs sh = new KeyValuePairs();
90-
sh.setFile(new File(tmpDir + "/mekaexp.txt"));
91-
sh.getFile().delete(); // remove old run
92-
exp.setStatisticsHandler(sh);
89+
KeyValuePairs kvp = new KeyValuePairs();
90+
kvp.setFile(new File(tmpDir + "/mekaexp.txt"));
91+
kvp.getFile().delete(); // remove old run
92+
exp.setStatisticsHandler(kvp);
9393
// evaluation
9494
RepeatedRuns eval = new RepeatedRuns();
9595
eval.setEvaluator(new CrossValidation());
9696
exp.setEvaluator(eval);
9797
// stage
98-
exp.addExecutionStageListener(new ExecutionStageListener() {
99-
@Override
100-
public void experimentStage(ExecutionStageEvent e) {
101-
System.err.println("[STAGE] " + e.getStage());
102-
}
103-
});
98+
exp.addExecutionStageListener((ExecutionStageEvent e) -> System.err.println("[STAGE] " + e.getStage()));
10499
// iterations
105-
exp.addIterationNotificationListener(new IterationNotificationListener() {
106-
@Override
107-
public void nextIteration(IterationNotificationEvent e) {
108-
System.err.println("[ITERATION] " + Utils.toCommandLine(e.getClassifier()) + " --> " + e.getDataset().relationName());
109-
}
110-
});
100+
exp.addIterationNotificationListener((IterationNotificationEvent e) -> System.err.println("[ITERATION] " + Utils.toCommandLine(e.getClassifier()) + " --> " + e.getDataset().relationName()));
111101
// statistics
112-
exp.addStatisticsNotificationListener(new StatisticsNotificationListener() {
113-
@Override
114-
public void statisticsAvailable(StatisticsNotificationEvent e) {
115-
System.err.println("[STATISTICS] #" + e.getStatistics().size());
116-
}
117-
});
102+
exp.addStatisticsNotificationListener((StatisticsNotificationEvent e) -> System.err.println("[STATISTICS] #" + e.getStatistics().size()));
118103
// log events
119-
exp.addLogListener(new LogListener() {
120-
@Override
121-
public void logMessage(LogEvent e) {
122-
System.err.println("[LOG] " + e.getSource().getClass().getName() + ": " + e.getMessage());
123-
}
124-
});
104+
exp.addLogListener((LogEvent e) -> System.err.println("[LOG] " + e.getSource().getClass().getName() + ": " + e.getMessage()));
125105
// output options
126106
System.out.println("Setup:\n" + OptionUtils.toCommandLine(exp) + "\n");
127107
// execute
128108
String msg = exp.initialize();
129-
System.out.println("initialize: " + msg);
109+
System.out.println("initialize: " + errorMsg(msg));
130110
if (msg != null)
131111
return;
132112
msg = exp.run();
133-
System.out.println("run: " + msg);
113+
System.out.println("run: " + errorMsg(msg));
134114
msg = exp.finish();
135-
System.out.println("finish: " + msg);
115+
System.out.println("finish: " + errorMsg(msg));
136116
// export them
137117
TabSeparated tabsepAgg = new TabSeparated();
138118
tabsepAgg.setFile(new File(tmpDir + "/mekaexp-agg.tsv"));
@@ -153,14 +133,9 @@ public void logMessage(LogEvent e) {
153133
tabsepZOL.setFile(new File(tmpDir + "/mekaexp-ZOL.tsv"));
154134
MultiExporter multiexp = new MultiExporter();
155135
multiexp.setExporters(new EvaluationStatisticsExporter[]{aggregate, tabsepFull, tabsepHL, tabsepZOL});
156-
multiexp.addLogListener(new LogListener() {
157-
@Override
158-
public void logMessage(LogEvent e) {
159-
System.err.println("[EXPORT] " + e.getSource().getClass().getName() + ": " + e.getMessage());
160-
}
161-
});
136+
multiexp.addLogListener((LogEvent e) -> System.err.println("[EXPORT] " + e.getSource().getClass().getName() + ": " + e.getMessage()));
162137
System.out.println(OptionUtils.toCommandLine(multiexp));
163138
msg = multiexp.export(exp.getStatistics());
164-
System.out.println("export: " + msg);
139+
System.out.println("export: " + errorMsg(msg));
165140
}
166141
}

0 commit comments

Comments
 (0)