我已经解决了这个问题,但是解决方案没有帮助。 ELKI Kmeans clustering Task failed error for high dimensional data
这是我第一次与ELKI合作,所以请多多包涵。我有45000个2D数据点(执行doc2vec之后),这些数据点包含负值且未标准化。数据集看起来像这样:
-4.688612 32.793335
-42.990147 -20.499323
-24.948868 -10.822767
-45.502155 -40.917801
27.979715 -40.012688
1.867812 -9.838544
56.284512 6.756072
我正在使用K-means算法获得2个聚类。但是,出现以下错误:
Task failed
de.lmu.ifi.dbs.elki.data.type.NoSupportedDataTypeException: No data type found satisfying: NumberVector,field AND NumberVector,variable
Available types: DBID DoubleVector,variable,mindim=0,maxdim=1 LabelList
at de.lmu.ifi.dbs.elki.database.AbstractDatabase.getRelation(AbstractDatabase.java:126)
at de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm.run(AbstractAlgorithm.java:81)
at de.lmu.ifi.dbs.elki.workflow.AlgorithmStep.runAlgorithms(AlgorithmStep.java:105)
at de.lmu.ifi.dbs.elki.KDDTask.run(KDDTask.java:112)
at de.lmu.ifi.dbs.elki.application.KDDCLIApplication.run(KDDCLIApplication.java:61)
at [...]
所以我的问题是,ELKI是否要求数据在[0,1]范围内,因为我遇到的所有示例的数据都在该范围内。
还是ELKI不接受负值?
如果还有其他事情,有人可以指导我完成这个过程吗?
谢谢!
答案 0 :(得分:0)
不,ELKI可以很好地处理负值。
您的输入数据格式不正确。与ELKI Kmeans clustering Task failed error for high dimensional data
中的问题相同显然,您的行有0或1个值。 ELKI本身可以,但是 k-means 要求数据必须在R ^ d向量空间中,因此ELKI无法在您的数据集上运行k-means。但是原因是输入文件不正确。您可能需要仔细检查文件-可能至少有一行格式不正确。