kangarooo
kangarooo

Reputation: 55

ELKI clustering FDBSCAN algorithm

Please could you show me example of input file for FDBSCAN in ELKI. I got error like this:

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 [...]

Upvotes: 0

Views: 247

Answers (1)

Erich Schubert
Erich Schubert

Reputation: 8715

FDBSCAN requires data of the type UncertainObject, i.e. objects with uncertainty information.

If you simply load a CSV file, the data will be certain, and you cannot use uncertain clustering.

There are several ways of modeling uncertainty. These implement as filters in the typeconversions package.

  • UncertainSplitFilter can split a vector of length k*N into k possible instances, each of length N with uniform weight.
  • WeightedUncertainSplitFilter is similar, but every instance can also have a weight associated.
  • UncertainifyFilter can simulate uncertainty by e.g. assuming a Gaussian or Uniform distribution around the original vector.
    • UniformUncertainifier (the U-Model, see Javadoc of UniformContinuousUncertainObject)
    • SimpleGaussianUncertainifier (see Javadoc of SimpleGaussianContinuousUncertainObject)
    • UnweightedDiscreteUncertainifier (BID Model, see Javadoc of WeightedDiscreteUncertainObject)
    • WeightedDiscreteUncertainifier (as above)
  • or add your own uncertainty information by extending the API!

Upvotes: 1

Related Questions