首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ELKI找不到类gnu/trove/impl/hash/TObjectHash

ELKI找不到类gnu/trove/impl/hash/TObjectHash
EN

Stack Overflow用户
提问于 2016-01-21 09:27:39
回答 2查看 349关注 0票数 0

我有一个由大约10000个样本组成的数据集,其中有两个特征。我想使用ELKI来运行LSDBC算法并对我的数据集进行聚类。然而,我还没能让ELKI去工作。在运行elki-0.7.0.jar并将我想要的设置输入gui之后,无论我选择什么设置,我都会在gui底部的控制台输入中得到一长串错误消息(我还没有能够输入所有我想要的设置)。对我来说,这表明我缺少一些依赖项,错过了一些安装步骤,或者不知何故没有正确使用软件。

不幸的是,关于ELKI的文档似乎并不多,但它也是我所能找到的仅有的LSDBC实现之一。我正在寻找的是一步一步的,ELI5,在我的数据集(它在WEKA创建的arff文件中)上安装和运行此算法的说明,并将结果输出为csv文件;即指示每个样本的聚类分配的输出文件。另外,我希望能够执行网格搜索以获得最优的k和alpha值(即,对k和alpha值的几个值运行算法并保存每个结果;然后我将确定最佳值)。我使用的是Mac OS X Yosemite。

我觉得这似乎应该是一项相对简单的任务,但我一直没有取得任何进展。我已经复制了下面得到的错误流

代码语言:javascript
复制
gnu/trove/impl/hash/TObjectHash
java.lang.NoClassDefFoundError: gnu/trove/impl/hash/TObjectHash
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser.<init>(NumberVectorLabelParser.java:127)
    at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser$Parameterizer.makeInstance(NumberVectorLabelParser.java:419)
    at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser$Parameterizer.makeInstance(NumberVectorLabelParser.java:355)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:120)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
    at de.lmu.ifi.dbs.elki.datasource.AbstractDatabaseConnection$Parameterizer.configParser(AbstractDatabaseConnection.java:184)
    at de.lmu.ifi.dbs.elki.datasource.InputStreamDatabaseConnection$Parameterizer.makeOptions(InputStreamDatabaseConnection.java:136)
    at de.lmu.ifi.dbs.elki.datasource.FileBasedDatabaseConnection$Parameterizer.makeOptions(FileBasedDatabaseConnection.java:123)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
    at de.lmu.ifi.dbs.elki.database.StaticArrayDatabase$Parameterizer.makeOptions(StaticArrayDatabase.java:210)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
    at de.lmu.ifi.dbs.elki.workflow.InputStep$Parameterizer.makeOptions(InputStep.java:94)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
    at de.lmu.ifi.dbs.elki.KDDTask$Parameterizer.makeOptions(KDDTask.java:156)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
    at de.lmu.ifi.dbs.elki.application.KDDCLIApplication$Parameterizer.makeOptions(KDDCLIApplication.java:79)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
    at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI.doSetParameters(MiniGUI.java:372)
    at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI.updateParameterTable(MiniGUI.java:359)
    at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI$5.tableChanged(MiniGUI.java:277)
    at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296)
    at javax.swing.table.AbstractTableModel.fireTableCellUpdated(AbstractTableModel.java:275)
    at de.lmu.ifi.dbs.elki.gui.util.ParametersModel.setValueAt(ParametersModel.java:130)
    at javax.swing.JTable.setValueAt(JTable.java:2741)
    at javax.swing.JTable.editingStopped(JTable.java:4723)
    at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141)
    at javax.swing.AbstractCellEditor.stopCellEditing(AbstractCellEditor.java:85)
    at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:1010)
    at javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.mousePressed(BasicTableUI.java:798)
    at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280)
    at java.awt.Component.processMouseEvent(Component.java:6532)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6300)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4891)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4522)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2750)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at [...]
Caused by: java.lang.ClassNotFoundException: gnu.trove.impl.hash.TObjectHash
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser.<init>(NumberVectorLabelParser.java:127)
    at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser$Parameterizer.makeInstance(NumberVectorLabelParser.java:419)
    at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser$Parameterizer.makeInstance(NumberVectorLabelParser.java:355)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:120)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
    at de.lmu.ifi.dbs.elki.datasource.AbstractDatabaseConnection$Parameterizer.configParser(AbstractDatabaseConnection.java:184)
    at de.lmu.ifi.dbs.elki.datasource.InputStreamDatabaseConnection$Parameterizer.makeOptions(InputStreamDatabaseConnection.java:136)
    at de.lmu.ifi.dbs.elki.datasource.FileBasedDatabaseConnection$Parameterizer.makeOptions(FileBasedDatabaseConnection.java:123)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
    at de.lmu.ifi.dbs.elki.database.StaticArrayDatabase$Parameterizer.makeOptions(StaticArrayDatabase.java:210)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
    at de.lmu.ifi.dbs.elki.workflow.InputStep$Parameterizer.makeOptions(InputStep.java:94)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
    at de.lmu.ifi.dbs.elki.KDDTask$Parameterizer.makeOptions(KDDTask.java:156)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
    at de.lmu.ifi.dbs.elki.application.KDDCLIApplication$Parameterizer.makeOptions(KDDCLIApplication.java:79)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
    at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
    at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
    at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI.doSetParameters(MiniGUI.java:372)
    at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI.updateParameterTable(MiniGUI.java:359)
    at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI$5.tableChanged(MiniGUI.java:277)
    at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296)
    at javax.swing.table.AbstractTableModel.fireTableCellUpdated(AbstractTableModel.java:275)
    at de.lmu.ifi.dbs.elki.gui.util.ParametersModel.setValueAt(ParametersModel.java:130)
    at javax.swing.JTable.setValueAt(JTable.java:2741)
    at javax.swing.JTable.editingStopped(JTable.java:4723)
    at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141)
    at javax.swing.AbstractCellEditor.stopCellEditing(AbstractCellEditor.java:85)
    at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:1010)
    at javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.mousePressed(BasicTableUI.java:798)
    at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280)
    at java.awt.Component.processMouseEvent(Component.java:6532)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6300)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4891)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4522)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2750)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at [...]
EN

回答 2

Stack Overflow用户

发布于 2016-01-21 15:12:47

实际上,在JavaDoc和维基中有很多文档。

您的错误是非常基本的Java用法,实际上与ELKI无关。

从没有找到的类名可以看出(或google)

代码语言:javascript
复制
gnu/trove/impl/hash/TObjectHash
java.lang.NoClassDefFoundError: gnu/trove/impl/hash/TObjectHash

您缺少ELKI Trove Java库(ELKI的一个依赖项,但不是ELKI的一部分)。也许您没有下载Maven (single-jar)版本的,而只是下载了最小版本(假设您单独管理依赖项,或者已经拥有依赖项,例如使用流行的工具)。

票数 0
EN

Stack Overflow用户

发布于 2016-02-11 22:37:07

新的ELKI 0.7.1版本

  • 包含一个自述文件,告诉您使用elki.batelki.sh启动。
  • 将显示更易于理解的警告,告诉您类路径不完整。

然而,ELKI的受众是知道如何读取堆栈跟踪的开发人员。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34913803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档