|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<Clustering<Model>> de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.COPAC<V,D>
V
- the type of NumberVector handled by this Algorithm@Title(value="COPAC: COrrelation PArtition Clustering") @Description(value="Partitions a database according to the correlation dimension of its objects and performs a clustering algorithm over the partitions.") @Reference(authors="E. Achtert, C. B\u00f6hm, H.-P. Kriegel, P. Kr\u00f6ger P., A. Zimek", title="Robust, Complete, and Efficient Correlation Clustering", booktitle="Proc. 7th SIAM International Conference on Data Mining (SDM\'07), Minneapolis, MN, 2007", url="http://www.siam.org/proceedings/datamining/2007/dm07_037achtert.pdf") public class COPAC<V extends NumberVector<V,?>,D extends Distance<D>>
Provides the COPAC algorithm, an algorithm to partition a database according to the correlation dimension of its objects and to then perform an arbitrary clustering algorithm over the partitions.
Reference: Achtert E., Böhm C., Kriegel H.-P., Kröger P., Zimek A.: Robust,
Complete, and Efficient Correlation Clustering.
In Proc. 7th SIAM International Conference on Data Mining (SDM'07),
Minneapolis, MN, 2007
Nested Class Summary | |
---|---|
static class |
COPAC.Parameterizer<V extends NumberVector<V,?>,D extends Distance<D>>
Parameterization class. |
Field Summary | |
---|---|
private static Logging |
logger
The logger for this class. |
static OptionID |
PARTITION_ALGORITHM_ID
Parameter to specify the clustering algorithm to apply to each partition, must extend ClusteringAlgorithm . |
static OptionID |
PARTITION_DISTANCE_ID
Parameter to specify the distance function to use inside the partitions AbstractIndexBasedDistanceFunction
. |
private Class<? extends ClusteringAlgorithm<Clustering<Model>>> |
partitionAlgorithm
Get the algorithm to run on each partition. |
private Collection<Pair<OptionID,Object>> |
partitionAlgorithmParameters
Holds the parameters of the algorithm to run on each partition. |
private FilteredLocalPCABasedDistanceFunction<V,?,D> |
partitionDistanceFunction
Holds the instance of the preprocessed distance function PARTITION_DISTANCE_ID . |
private FilteredLocalPCABasedDistanceFunction.Instance<V,LocalProjectionIndex<V,?>,D> |
partitionDistanceQuery
The last used distance query |
static OptionID |
PREPROCESSOR_ID
Parameter to specify the local PCA preprocessor to derive partition criterion, must extend AbstractFilteredPCAIndex . |
Constructor Summary | |
---|---|
COPAC(FilteredLocalPCABasedDistanceFunction<V,?,D> partitionDistanceFunction,
Class<? extends ClusteringAlgorithm<Clustering<Model>>> partitionAlgorithm,
Collection<Pair<OptionID,Object>> partitionAlgorithmParameters)
Constructor. |
Method Summary | |
---|---|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query. |
protected Logging |
getLogger()
Get the (STATIC) logger for this class. |
ClusteringAlgorithm<Clustering<Model>> |
getPartitionAlgorithm(DistanceQuery<V,D> query)
Returns the partition algorithm. |
FilteredLocalPCABasedDistanceFunction.Instance<V,LocalProjectionIndex<V,?>,D> |
getPartitionDistanceQuery()
Get the last used distance query (to expose access to the preprocessor) Used by ERiC. |
Clustering<Model> |
run(Relation<V> relation)
Performs the COPAC algorithm on the given database. |
private Clustering<Model> |
runPartitionAlgorithm(Relation<V> relation,
Map<Integer,DBIDs> partitionMap,
DistanceQuery<V,D> query)
Runs the partition algorithm and creates the result. |
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm |
---|
makeParameterDistanceFunction, run |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface de.lmu.ifi.dbs.elki.algorithm.clustering.ClusteringAlgorithm |
---|
run |
Field Detail |
---|
private static final Logging logger
public static final OptionID PREPROCESSOR_ID
AbstractFilteredPCAIndex
.
Key: -copac.preprocessor
public static final OptionID PARTITION_DISTANCE_ID
AbstractIndexBasedDistanceFunction
.
Default value:
LocallyWeightedDistanceFunction
Key: -copac.partitionDistance
public static final OptionID PARTITION_ALGORITHM_ID
ClusteringAlgorithm
.
Key: -copac.partitionAlgorithm
private FilteredLocalPCABasedDistanceFunction<V extends NumberVector<V,?>,?,D extends Distance<D>> partitionDistanceFunction
PARTITION_DISTANCE_ID
.
private Class<? extends ClusteringAlgorithm<Clustering<Model>>> partitionAlgorithm
private Collection<Pair<OptionID,Object>> partitionAlgorithmParameters
private FilteredLocalPCABasedDistanceFunction.Instance<V extends NumberVector<V,?>,LocalProjectionIndex<V extends NumberVector<V,?>,?>,D extends Distance<D>> partitionDistanceQuery
Constructor Detail |
---|
public COPAC(FilteredLocalPCABasedDistanceFunction<V,?,D> partitionDistanceFunction, Class<? extends ClusteringAlgorithm<Clustering<Model>>> partitionAlgorithm, Collection<Pair<OptionID,Object>> partitionAlgorithmParameters)
partitionDistanceFunction
- Distance functionpartitionAlgorithm
- Algorithm to use on partitionspartitionAlgorithmParameters
- Parameters for Algorithm to run on
partitionsMethod Detail |
---|
public Clustering<Model> run(Relation<V> relation) throws IllegalStateException
relation
- Relation to process
IllegalStateException
private Clustering<Model> runPartitionAlgorithm(Relation<V> relation, Map<Integer,DBIDs> partitionMap, DistanceQuery<V,D> query)
relation
- the database to run this algorithm onpartitionMap
- the map of partition IDs to object idsquery
- The preprocessor based query functionpublic ClusteringAlgorithm<Clustering<Model>> getPartitionAlgorithm(DistanceQuery<V,D> query)
public FilteredLocalPCABasedDistanceFunction.Instance<V,LocalProjectionIndex<V,?>,D> getPartitionDistanceQuery()
public TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<Clustering<Model>>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<Clustering<Model>>
|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |