我想用 ELKI 的 GUI 运行 LOF 算法,但我不知道它需要什么样的输入文件。我看过这里,当我尝试给它一个输入 csv 文件时,每个实例的属性值用空格分隔(包括类的分类属性,其余属性是数字)。该文件与此类似(没有标题):
5 1 1 1 2 1 3 1 1 benign
5 4 4 5 7 10 3 2 1 benign
3 1 1 1 2 2 3 1 1 benign
6 8 8 1 3 4 3 7 1 benign
4 1 1 3 2 1 3 1 1 benign
8 10 10 8 7 10 9 7 1 malignant
1 1 1 1 2 10 3 1 1 benign
2 1 2 1 2 1 3 1 1 benign
2 1 1 1 2 1 1 1 5 benign
4 2 1 1 2 1 2 1 1 benign
1 1 1 1 1 1 3 1 1 benign
2 1 1 1 2 1 2 1 1 benign
5 3 3 3 2 3 4 4 1 malignant
我选择 dbc.in 作为 .csv 文件,dbc.parser 作为 NumberVectorLabelParser,ClassLabelFilter 的索引为 9(因为那是带有类标签的列的索引)和 k = 11
但是,它给了我这个错误:
Task failed
de.lmu.ifi.dbs.elki.utilities.exceptions.AbortException: Cannot initialize class labels: 9
at de.lmu.ifi.dbs.elki.datasource.filter.typeconversions.ClassLabelFilter.filter(ClassLabelFilter.java:106)
at de.lmu.ifi.dbs.elki.datasource.AbstractDatabaseConnection.invokeStreamFilters(AbstractDatabaseConnection.java:114)
at de.lmu.ifi.dbs.elki.datasource.InputStreamDatabaseConnection.loadData(InputStreamDatabaseConnection.java:91)
at de.lmu.ifi.dbs.elki.database.StaticArrayDatabase.initialize(StaticArrayDatabase.java:119)
at de.lmu.ifi.dbs.elki.workflow.InputStep.getDatabase(InputStep.java:62)
at de.lmu.ifi.dbs.elki.KDDTask.run(KDDTask.java:108)
at de.lmu.ifi.dbs.elki.application.KDDCLIApplication.run(KDDCLIApplication.java:60)
at [...]
Caused by: java.lang.ArrayIndexOutOfBoundsException: 9
at de.lmu.ifi.dbs.elki.data.LabelList.get(LabelList.java:109)
at de.lmu.ifi.dbs.elki.datasource.filter.typeconversions.ClassLabelFilter.filter(ClassLabelFilter.java:102)
at de.lmu.ifi.dbs.elki.datasource.AbstractDatabaseConnection.invokeStreamFilters(AbstractDatabaseConnection.java:114)
at de.lmu.ifi.dbs.elki.datasource.InputStreamDatabaseConnection.loadData(InputStreamDatabaseConnection.java:91)
at de.lmu.ifi.dbs.elki.database.StaticArrayDatabase.initialize(StaticArrayDatabase.java:119)
at de.lmu.ifi.dbs.elki.workflow.InputStep.getDatabase(InputStep.java:62)
at de.lmu.ifi.dbs.elki.KDDTask.run(KDDTask.java:108)
at de.lmu.ifi.dbs.elki.application.KDDCLIApplication.run(KDDCLIApplication.java:60)
at [...]
如果我不使用 ClassLabel 过滤器,则会出现一个弹出对话框,其中包含以下消息:
SVG Error:
null:-1
The attribute "d" of the element <path> is invalid
谁能帮我运行算法?非常感谢您的帮助,谢谢!