2016-12-10 63 views
0

請你能給我看看FDBSCAN的輸入文件的例子在ELKI。我得到這樣的錯誤:ELKI聚類FDBSCAN算法

Task failed 
de.lmu.ifi.dbs.elki.data.type.NoSupportedDataTypeException: No data type found satisfying: UncertainObject,field 
Available types: DBID DoubleVector,dim=2 
    at de.lmu.ifi.dbs.elki.database.AbstractDatabase.getRelation(AbstractDatabase.java:126) 
    at de.lmu.ifi.dbs.elki.algorithm.clustering.uncertain.FDBSCANNeighborPredicate.instantiate(FDBSCANNeighborPredicate.java:131) 
    at de.lmu.ifi.dbs.elki.algorithm.clustering.gdbscan.GeneralizedDBSCAN.run(GeneralizedDBSCAN.java:122) 
    at de.lmu.ifi.dbs.elki.algorithm.clustering.gdbscan.GeneralizedDBSCAN.run(GeneralizedDBSCAN.java:79) 
    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 [...] 

回答

1

FDBSCAN要求的數據類型UncertainObject,即具有不確定性信息的對象。

如果你只是加載一個CSV文件,數據將是某些,你不能使用不確定性的聚類。

有幾種建模不確定性的方法。這些實現爲過濾器typeconversions包中。

  • UncertainSplitFilter可以將一個長度爲k * N的向量分割成k個可能的實例,每個實例的長度N均勻。
  • WeightedUncertainSplitFilter是類似的,但每個實例也可以有一個權重關聯。
  • UncertainifyFilter可以通過例如模擬不確定性。假設原始矢量周圍有高斯或均勻分佈。
    • UniformUncertainifier(U形模型,見的UniformContinuousUncertainObject的Javadoc)
    • SimpleGaussianUncertainifier(見的SimpleGaussianContinuousUncertainObject的Javadoc)
    • UnweightedDiscreteUncertainifier(BID模型,見WeightedDiscreteUncertainObject的Javadoc)
    • WeightedDiscreteUncertainifier(如上)
  • 或通過擴展API添加您自己的不確定性信息!
+0

謝謝Erich!您能否提供一個輸入文件樣本 – kangarooo

+1

取決於您使用的過濾器和不確定性模型。通常定期的CSV是好的;但您需要清楚數據應該如何解釋爲不確定數據。 –

+0

基本上我想解決這個問題http://stats.stackexchange.com/questions/250776/event-similarity-based-on-probability-distance-measure],而且我真的很高興我發現那個很棒的工具。我不知道如何通過距離分佈函數來表示不確定性,在點中我有多邊形(如城市),其中事件可能發生的概率是均勻分佈的 – kangarooo