diff options
Diffstat (limited to 'elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial')
6 files changed, 47 insertions, 24 deletions
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelClustering.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelClustering.java index 29006f01..d2ba1b38 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelClustering.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelClustering.java @@ -47,6 +47,7 @@ import de.lmu.ifi.dbs.elki.database.ids.HashSetModifiableDBIDs; import de.lmu.ifi.dbs.elki.database.ids.ModifiableDBIDs; import de.lmu.ifi.dbs.elki.database.relation.Relation; import de.lmu.ifi.dbs.elki.logging.Logging; +import de.lmu.ifi.dbs.elki.utilities.Alias; import de.lmu.ifi.dbs.elki.utilities.documentation.Description; import de.lmu.ifi.dbs.elki.utilities.documentation.Title; import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer; @@ -65,16 +66,18 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.PatternParameter; * * If an assignment of an object to multiple clusters is desired, the labels of * the object indicating the clusters need to be separated by blanks and the - * flag {@link #MULTIPLE_ID} needs to be set. + * flag {@link Parameterizer#MULTIPLE_ID} needs to be set. * * TODO: handling of data sets with no labels? * * @author Erich Schubert + * @since 0.2 * * @apiviz.uses de.lmu.ifi.dbs.elki.data.ClassLabel */ @Title("Clustering by label") @Description("Cluster points by a (pre-assigned!) label. For comparing results with a reference clustering.") +@Alias("de.lmu.ifi.dbs.elki.algorithm.clustering.ByLabelClustering") public class ByLabelClustering extends AbstractAlgorithm<Clustering<Model>> implements ClusteringAlgorithm<Clustering<Model>> { /** * The logger for this class. @@ -82,24 +85,12 @@ public class ByLabelClustering extends AbstractAlgorithm<Clustering<Model>> impl private static final Logging LOG = Logging.getLogger(ByLabelClustering.class); /** - * Flag to indicate that multiple cluster assignment is possible. If an - * assignment to multiple clusters is desired, the labels indicating the - * clusters need to be separated by blanks. - */ - public static final OptionID MULTIPLE_ID = new OptionID("bylabelclustering.multiple", "Flag to indicate that only subspaces with large coverage " + "(i.e. the fraction of the database that is covered by the dense units) " + "are selected, the rest will be pruned."); - - /** - * Pattern to recognize noise clusters by. - */ - public static final OptionID NOISE_ID = new OptionID("bylabelclustering.noise", "Pattern to recognize noise classes by their label."); - - /** - * Holds the value of {@link #MULTIPLE_ID}. + * Allow multiple cluster assignment. */ private boolean multiple; /** - * Holds the value of {@link #NOISE_ID}. + * Pattern to recognize noise clusters by. */ private Pattern noisepattern = null; @@ -248,8 +239,26 @@ public class ByLabelClustering extends AbstractAlgorithm<Clustering<Model>> impl * @apiviz.exclude */ public static class Parameterizer extends AbstractParameterizer { + /** + * Flag to indicate that multiple cluster assignment is possible. If an + * assignment to multiple clusters is desired, the labels indicating the + * clusters need to be separated by blanks. + */ + public static final OptionID MULTIPLE_ID = new OptionID("bylabelclustering.multiple", "Flag to indicate that only subspaces with large coverage " + "(i.e. the fraction of the database that is covered by the dense units) " + "are selected, the rest will be pruned."); + + /** + * Parameter to specify the pattern to recognize noise clusters by. + */ + public static final OptionID NOISE_ID = new OptionID("bylabelclustering.noise", "Pattern to recognize noise classes by their label."); + + /** + * Allow multiple cluster assignment. + */ protected boolean multiple; + /** + * Pattern to recognize noise clusters by. + */ protected Pattern noisepat; @Override @@ -272,4 +281,4 @@ public class ByLabelClustering extends AbstractAlgorithm<Clustering<Model>> impl return new ByLabelClustering(multiple, noisepat); } } -}
\ No newline at end of file +} diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelHierarchicalClustering.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelHierarchicalClustering.java index e246c4e6..d48efe68 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelHierarchicalClustering.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelHierarchicalClustering.java @@ -47,6 +47,7 @@ import de.lmu.ifi.dbs.elki.database.ids.HashSetModifiableDBIDs; import de.lmu.ifi.dbs.elki.database.ids.ModifiableDBIDs; import de.lmu.ifi.dbs.elki.database.relation.Relation; import de.lmu.ifi.dbs.elki.logging.Logging; +import de.lmu.ifi.dbs.elki.utilities.Alias; import de.lmu.ifi.dbs.elki.utilities.documentation.Description; import de.lmu.ifi.dbs.elki.utilities.documentation.Title; @@ -64,11 +65,13 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Title; * TODO: Noise handling (e.g. allow the user to specify a noise label pattern?) * * @author Erich Schubert + * @since 0.2 * * @apiviz.uses de.lmu.ifi.dbs.elki.data.ClassLabel */ @Title("Hierarchical clustering by label") @Description("Cluster points by a (pre-assigned!) label. For comparing results with a reference clustering.") +@Alias("de.lmu.ifi.dbs.elki.algorithm.clustering.ByLabelHierarchicalClustering") public class ByLabelHierarchicalClustering extends AbstractAlgorithm<Clustering<Model>> implements ClusteringAlgorithm<Clustering<Model>> { /** * The logger for this class. diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelOrAllInOneClustering.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelOrAllInOneClustering.java index 12af74ba..7de4c4f0 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelOrAllInOneClustering.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByLabelOrAllInOneClustering.java @@ -39,6 +39,7 @@ import de.lmu.ifi.dbs.elki.database.relation.Relation; * "all-in-one" clustering. * * @author Erich Schubert + * @since 0.2 */ public class ByLabelOrAllInOneClustering extends ByLabelClustering { /** diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByModelClustering.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByModelClustering.java index 9832ea4a..0583ceb5 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByModelClustering.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/ByModelClustering.java @@ -56,6 +56,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.PatternParameter; * reference result / golden standard used by the generator). * * @author Erich Schubert + * @since 0.5.0 * * @apiviz.uses Model */ @@ -68,12 +69,7 @@ public class ByModelClustering extends AbstractAlgorithm<Clustering<Model>> impl private static final Logging LOG = Logging.getLogger(ByModelClustering.class); /** - * Pattern to recognize noise clusters with - */ - public static final OptionID NOISE_ID = new OptionID("bymodel.noise", "Pattern to recognize noise models by their label."); - - /** - * Holds the value of {@link #NOISE_ID}. + * Pattern to recognize noise clusters with. */ private Pattern noisepattern = null; @@ -144,6 +140,14 @@ public class ByModelClustering extends AbstractAlgorithm<Clustering<Model>> impl * @apiviz.exclude */ public static class Parameterizer extends AbstractParameterizer { + /** + * Parameter to specify the pattern to recognize noise clusters with. + */ + public static final OptionID NOISE_ID = new OptionID("bymodel.noise", "Pattern to recognize noise models by their label."); + + /** + * Pattern to recognize noise clusters with + */ protected Pattern noisepat; @Override diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/TrivialAllInOne.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/TrivialAllInOne.java index 64c103c3..188db3e9 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/TrivialAllInOne.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/TrivialAllInOne.java @@ -34,6 +34,7 @@ import de.lmu.ifi.dbs.elki.data.type.TypeUtil; import de.lmu.ifi.dbs.elki.database.ids.DBIDs; import de.lmu.ifi.dbs.elki.database.relation.Relation; import de.lmu.ifi.dbs.elki.logging.Logging; +import de.lmu.ifi.dbs.elki.utilities.Alias; import de.lmu.ifi.dbs.elki.utilities.documentation.Description; import de.lmu.ifi.dbs.elki.utilities.documentation.Title; @@ -44,9 +45,11 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Title; * Useful for evaluation and testing. * * @author Erich Schubert + * @since 0.2 */ @Title("Trivial all-in-one clustering") @Description("Returns a 'tivial' clustering which just considers all points to be one big cluster.") +@Alias("de.lmu.ifi.dbs.elki.algorithm.clustering.TrivialAllInOne") public class TrivialAllInOne extends AbstractAlgorithm<Clustering<Model>> implements ClusteringAlgorithm<Clustering<Model>> { /** * The logger for this class. @@ -77,4 +80,4 @@ public class TrivialAllInOne extends AbstractAlgorithm<Clustering<Model>> implem protected Logging getLogger() { return LOG; } -}
\ No newline at end of file +} diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/TrivialAllNoise.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/TrivialAllNoise.java index db4cb8dd..4db4dfed 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/TrivialAllNoise.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/algorithm/clustering/trivial/TrivialAllNoise.java @@ -34,6 +34,7 @@ import de.lmu.ifi.dbs.elki.data.type.TypeUtil; import de.lmu.ifi.dbs.elki.database.ids.DBIDs; import de.lmu.ifi.dbs.elki.database.relation.Relation; import de.lmu.ifi.dbs.elki.logging.Logging; +import de.lmu.ifi.dbs.elki.utilities.Alias; import de.lmu.ifi.dbs.elki.utilities.documentation.Description; import de.lmu.ifi.dbs.elki.utilities.documentation.Title; @@ -43,9 +44,11 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Title; * Useful for evaluation and testing. * * @author Erich Schubert + * @since 0.2 */ @Title("Trivial all-noise clustering") @Description("Returns a 'trivial' clustering which just considers all points as noise points.") +@Alias("de.lmu.ifi.dbs.elki.algorithm.clustering.TrivialAllNoise") public class TrivialAllNoise extends AbstractAlgorithm<Clustering<Model>> implements ClusteringAlgorithm<Clustering<Model>> { /** * The logger for this class. @@ -76,4 +79,4 @@ public class TrivialAllNoise extends AbstractAlgorithm<Clustering<Model>> implem protected Logging getLogger() { return LOG; } -}
\ No newline at end of file +} |