
V - vector type@Title(value="HiCS: High Contrast Subspaces for Density-Based Outlier Ranking") @Description(value="Algorithm to compute High Contrast Subspaces in a database as a pre-processing step for for density-based outlier ranking methods.") @Reference(authors="Fabian Keller, Emmanuel M\u00fcller, Klemens B\u00f6hm", title="HiCS: High Contrast Subspaces for Density-Based Outlier Ranking", booktitle="Proc. IEEE 28th International Conference on Data Engineering (ICDE 2012)", url="http://dx.doi.org/10.1109/ICDE.2012.88") public class HiCS<V extends NumberVector<?>> extends AbstractAlgorithm<OutlierResult> implements OutlierAlgorithm
 Fabian Keller, Emmanuel Müller, Klemens Böhm:
 HiCS: High Contrast Subspaces for Density-Based Outlier Ranking
 in: Proc. IEEE 28th Int. Conf. on Data Engineering (ICDE 2012), Washington,
 DC, USA
 
| Modifier and Type | Class and Description | 
|---|---|
| static class  | HiCS.HiCSSubspaceBitSet that holds a contrast value as field. | 
| static class  | HiCS.Parameterizer<V extends NumberVector<?>>Parameterization class. | 
| Modifier and Type | Field and Description | 
|---|---|
| private double | alphaAlpha threshold. | 
| private int | cutoffCandidates limit. | 
| private static Logging | LOGThe Logger for this class. | 
| private int | mMonte-Carlo iterations. | 
| private static int | MAX_RETRIESMaximum number of retries. | 
| private OutlierAlgorithm | outlierAlgorithmOutlier detection algorithm. | 
| private RandomFactory | rndRandom generator. | 
| private GoodnessOfFitTest | statTestStatistical test to use. | 
| Constructor and Description | 
|---|
| HiCS(int m,
    double alpha,
    OutlierAlgorithm outlierAlgorithm,
    GoodnessOfFitTest statTest,
    int cutoff,
    RandomFactory rnd)Constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| private ArrayList<ArrayDBIDs> | buildOneDimIndexes(Relation<? extends NumberVector<?>> relation)Calculates "index structures" for every attribute, i.e. sorts a
 ModifiableArray of every DBID in the database for every dimension and
 stores them in a list | 
| private void | calculateContrast(Relation<? extends NumberVector<?>> relation,
                 HiCS.HiCSSubspace subspace,
                 ArrayList<ArrayDBIDs> subspaceIndex,
                 Random random)Calculates the actual contrast of a given subspace. | 
| private Set<HiCS.HiCSSubspace> | calculateSubspaces(Relation<? extends NumberVector<?>> relation,
                  ArrayList<ArrayDBIDs> subspaceIndex,
                  Random random)Identifies high contrast subspaces in a given full-dimensional database. | 
| TypeInformation[] | getInputTypeRestriction()Get the input type restriction used for negotiating the data query. | 
| protected Logging | getLogger()Get the (STATIC) logger for this class. | 
| OutlierResult | run(Relation<V> relation)Perform HiCS on a given database. | 
makeParameterDistanceFunction, runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate static final Logging LOG
private static final int MAX_RETRIES
private int m
private double alpha
private OutlierAlgorithm outlierAlgorithm
private GoodnessOfFitTest statTest
private int cutoff
private RandomFactory rnd
public HiCS(int m,
    double alpha,
    OutlierAlgorithm outlierAlgorithm,
    GoodnessOfFitTest statTest,
    int cutoff,
    RandomFactory rnd)
m - value of malpha - value of alphaoutlierAlgorithm - Inner outlier detection algorithmstatTest - Test to usecutoff - Candidate limitrnd - Random generatorpublic OutlierResult run(Relation<V> relation)
relation - the databaseprivate ArrayList<ArrayDBIDs> buildOneDimIndexes(Relation<? extends NumberVector<?>> relation)
relation - Relation to indexprivate Set<HiCS.HiCSSubspace> calculateSubspaces(Relation<? extends NumberVector<?>> relation, ArrayList<ArrayDBIDs> subspaceIndex, Random random)
relation - the relation the HiCS should be evaluated forsubspaceIndex - Subspace indexesprivate void calculateContrast(Relation<? extends NumberVector<?>> relation, HiCS.HiCSSubspace subspace, ArrayList<ArrayDBIDs> subspaceIndex, Random random)
relation - Relation to processsubspace - SubspacesubspaceIndex - Subspace indexespublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<OutlierResult>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<OutlierResult>