Hey,
im new to elki and might be doing something wrong.
When i run:
for k in $( seq 3 40 ); do java -jar elki-bundle-0.7.6-SNAPSHOT.jar KDDCLIApplication -dbc.in data/synthetic/Vorlesung/mouse.csv -algorithm clustering.kmeans.LloydKMeans -kmeans.k $k -resulthandler ResultWriter -out.gzip -out output/k-$k ; done
i get a lot of
Index 6 out of bounds for length 6
java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 6
at elki.evaluation.clustering.MaximumMatchingAccuracy.(MaximumMatchingAccuracy.java:69)
at elki.evaluation.clustering.ClusterContingencyTable.getMaximumMatchingAccuracy(ClusterContingencyTable.java:246)
at elki.evaluation.clustering.EvaluateClustering$ScoreResult.(EvaluateClustering.java:245)
at elki.evaluation.clustering.EvaluateClustering.evaluteResult(EvaluateClustering.java:173)
at elki.evaluation.clustering.EvaluateClustering.processNewResult(EvaluateClustering.java:159)
at elki.evaluation.AutomaticEvaluation.autoEvaluateClusterings(AutomaticEvaluation.java:148)
at elki.evaluation.AutomaticEvaluation.processNewResult(AutomaticEvaluation.java:67)
at elki.workflow.EvaluationStep$Evaluation.update(EvaluationStep.java:106)
at elki.workflow.EvaluationStep$Evaluation.(EvaluationStep.java:95)
at elki.workflow.EvaluationStep.runEvaluators(EvaluationStep.java:72)
at elki.KDDTask.run(KDDTask.java:109)
at elki.application.KDDCLIApplication.run(KDDCLIApplication.java:58)
at elki.application.AbstractApplication.runCLIApplication(AbstractApplication.java:175)
at elki.application.KDDCLIApplication.main(KDDCLIApplication.java:91)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at elki.application.ELKILauncher.main(ELKILauncher.java:80)
if i do
for k in $(seq 3 6) it works. When i go from 6 to 7 or 40 as above it starts to throw the exceptions.
Thanks for reporting, fixed.
Not in k-means, but in a fairly new evaluation class.
If you used the maximum matching results anywhere, you may want to rerun them.
Hey, im new to elki and might be doing something wrong. When i run:
for k in $( seq 3 40 ); do java -jar elki-bundle-0.7.6-SNAPSHOT.jar KDDCLIApplication -dbc.in data/synthetic/Vorlesung/mouse.csv -algorithm clustering.kmeans.LloydKMeans -kmeans.k $k -resulthandler ResultWriter -out.gzip -out output/k-$k ; done
i get a lot ofif i do
for k in $(seq 3 6)
it works. When i go from 6 to 7 or 40 as above it starts to throw the exceptions.