0

我想使用最新版本的 ELKI,但我收到导致 nullpointerexeptions 的错误,并且该任务失败。使用 0.6.0 时,它工作正常。

这是一些玩具 arff 数据:

@ATTRIBUTE 'var_0032' real
@ATTRIBUTE 'id' real
@ATTRIBUTE 'outlier' {'no','yes'}

@DATA
0.185185185185,1.0,'no'
0.0740740740741,2.0,'no'

但我在 0.6.5 中失败了:

Invalid quoted line in input: no closing quote found in: @ATTRIBUTE 'outlier' {'no','yes'}
Task failed
java.lang.NullPointerException
    at de.lmu.ifi.dbs.elki.visualization.VisualizerContext.processNewResult(VisualizerContext.java:300)
    at de.lmu.ifi.dbs.elki.visualization.VisualizerContext.<init>(VisualizerContext.java:141)
    at de.lmu.ifi.dbs.elki.visualization.VisualizerParameterizer.newContext(VisualizerParameterizer.java:193)
    at de.lmu.ifi.dbs.elki.visualization.gui.ResultVisualizer.processNewResult(ResultVisualizer.java:116)
    at de.lmu.ifi.dbs.elki.workflow.OutputStep.runResultHandlers(OutputStep.java:70)
    at de.lmu.ifi.dbs.elki.KDDTask.run(KDDTask.java:120)
    at de.lmu.ifi.dbs.elki.application.KDDCLIApplication.run(KDDCLIApplication.java:60)
    at [...]

在 0.6.0 中,这似乎只是一个警告: Invalid quoted line in input: no closing quote found in: @ATTRIBUTE 'outlier' {'no','yes'}它仍然会产生 ROCCURVE。

我应该担心吗?我应该更改我的 arff 文件吗?如何更改?

4

2 回答 2

0

ARFF 文件格式 ( https://weka.wikispaces.com/ARFF+%28developer+version%29 ) 不使用引号。

@RELATION example
@ATTRIBUTE var_0032 NUMERIC
@ATTRIBUTE id NUMERIC
@ATTRIBUTE outlier {no,yes}

@DATA
0.185185185185,1.0,no
0.0740740740741,2.0,no

此外,如果您的id列确实是一个 id,请不要提供它real(这只是 的别名numeric)数据类型。它不是数字列,如果您不小心,它可能会在分析中被滥用。

所以也许更好地使用这样的东西:

@RELATION example
@ATTRIBUTE var_0032 NUMERIC
@ATTRIBUTE id STRING
@ATTRIBUTE class {no,yes}

@DATA
0.185185185185,'1',no
0.0740740740741,'2',no

获得正确的 ARFF 文件。没试过,这个效果更好吗?

于 2015-07-19T22:18:45.927 回答
0
于 2015-07-20T07:52:00.763 回答