Package elki.clustering.subspace.clique
Class CLIQUEUnit
- java.lang.Object
-
- elki.clustering.subspace.clique.CLIQUEUnit
-
public class CLIQUEUnit extends java.lang.ObjectRepresents a unit in the CLIQUE algorithm.- Since:
- 0.1
- Author:
- Elke Achtert
-
-
Field Summary
Fields Modifier and Type Field Description private booleanassignedFlag that indicates if this unit is already assigned to a cluster.private double[]boundsThe bounding values (min, max) for each dimension.private int[]dimsThe dimensions involved in this subspace.private ModifiableDBIDsidsThe ids of the feature vectors this unit contains.
-
Constructor Summary
Constructors Modifier Constructor Description CLIQUEUnit(int dim, double min, double max)Creates a new one-dimensional unit for the given interval.privateCLIQUEUnit(CLIQUEUnit prefix, int newdim, double min, double max, ModifiableDBIDs ids)Creates a new k-dimensional unit for the given intervals.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddFeatureVector(DBIDRef id, NumberVector vector)Adds the id of the specified feature vector to this unit, if this unit contains the feature vector.private booleancheckDimensions(CLIQUEUnit other, int e)Check that the first e dimensions agree.booleancontains(NumberVector vector)Returns true, if the intervals of this unit contain the specified feature vector.protected booleancontainsLeftNeighbor(CLIQUEUnit unit, int d)Returns true if this unit is the left neighbor of the given unit.protected booleancontainsRightNeighbor(CLIQUEUnit unit, int d)Returns true if this unit is the right neighbor of the given unit.intdimensionality()Get the dimensionality of this unit.intgetDimension(int i)Get the ith dimension constrained.DBIDsgetIds()Returns the ids of the feature vectors this unit contains.booleanisAssigned()Returns true if this unit is already assigned to a cluster.protected CLIQUEUnitjoin(CLIQUEUnit other, double all, double tau)Joins this unit with the specified unit.voidmarkAsAssigned()Marks this unit as assigned to a cluster.intnumberOfFeatureVectors()Returns the number of feature vectors this unit contains.doubleselectivity(double total)Returns the selectivity of this unit, which is defined as the fraction of total feature vectors contained in this unit.java.lang.StringtoString()Returns a string representation of this unit that contains the intervals of this unit.
-
-
-
Field Detail
-
dims
private int[] dims
The dimensions involved in this subspace.
-
bounds
private double[] bounds
The bounding values (min, max) for each dimension.
-
ids
private ModifiableDBIDs ids
The ids of the feature vectors this unit contains.
-
assigned
private boolean assigned
Flag that indicates if this unit is already assigned to a cluster.
-
-
Constructor Detail
-
CLIQUEUnit
private CLIQUEUnit(CLIQUEUnit prefix, int newdim, double min, double max, ModifiableDBIDs ids)
Creates a new k-dimensional unit for the given intervals.- Parameters:
prefix- Prefix unit that will be extended by one dimensionnewdim- Additional dimensionmin- Minimum boundmax- Maximum boundids- the ids of the feature vectors belonging to this unit
-
CLIQUEUnit
public CLIQUEUnit(int dim, double min, double max)Creates a new one-dimensional unit for the given interval.- Parameters:
dim- Dimensionmin- Minimummax- MAximum
-
-
Method Detail
-
dimensionality
public int dimensionality()
Get the dimensionality of this unit.- Returns:
- Number of dimensions constrained.
-
getDimension
public int getDimension(int i)
Get the ith dimension constrained.- Parameters:
i- Index- Returns:
- dimension
-
contains
public boolean contains(NumberVector vector)
Returns true, if the intervals of this unit contain the specified feature vector.- Parameters:
vector- the feature vector to be tested for containment- Returns:
- true, if the intervals of this unit contain the specified feature vector, false otherwise
-
addFeatureVector
public boolean addFeatureVector(DBIDRef id, NumberVector vector)
Adds the id of the specified feature vector to this unit, if this unit contains the feature vector.- Parameters:
id- Vector idvector- the feature vector to be added- Returns:
- true, if this unit contains the specified feature vector, false otherwise
-
numberOfFeatureVectors
public int numberOfFeatureVectors()
Returns the number of feature vectors this unit contains.- Returns:
- the number of feature vectors this unit contains
-
selectivity
public double selectivity(double total)
Returns the selectivity of this unit, which is defined as the fraction of total feature vectors contained in this unit.- Parameters:
total- the total number of feature vectors- Returns:
- the selectivity of this unit
-
containsLeftNeighbor
protected boolean containsLeftNeighbor(CLIQUEUnit unit, int d)
Returns true if this unit is the left neighbor of the given unit.- Parameters:
unit- Reference unitd- Current dimension- Returns:
- true if this unit is the left neighbor of the given unit
-
containsRightNeighbor
protected boolean containsRightNeighbor(CLIQUEUnit unit, int d)
Returns true if this unit is the right neighbor of the given unit.- Parameters:
unit- Reference unitd- Current dimension- Returns:
- true if this unit is the right neighbor of the given unit
-
isAssigned
public boolean isAssigned()
Returns true if this unit is already assigned to a cluster.- Returns:
- true if this unit is already assigned to a cluster, false otherwise.
-
markAsAssigned
public void markAsAssigned()
Marks this unit as assigned to a cluster.
-
getIds
public DBIDs getIds()
Returns the ids of the feature vectors this unit contains.- Returns:
- the ids of the feature vectors this unit contains
-
join
protected CLIQUEUnit join(CLIQUEUnit other, double all, double tau)
Joins this unit with the specified unit.- Parameters:
other- the unit to be joinedall- the overall number of feature vectorstau- the density threshold for the selectivity of a unit- Returns:
- the joined unit if the selectivity of the join result is equal or greater than tau, null otherwise
-
checkDimensions
private boolean checkDimensions(CLIQUEUnit other, int e)
Check that the first e dimensions agree.- Parameters:
other- Other unite- Number of dimensions to check- Returns:
trueif the first e dimensions are the same (index and bounds)
-
toString
public java.lang.String toString()
Returns a string representation of this unit that contains the intervals of this unit.- Overrides:
toStringin classjava.lang.Object- Returns:
- a string representation of this unit
-
-