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="F. Keller, E. M\u00fcller, K. B\u00f6hm", title="HiCS: High Contrast Subspaces for Density-Based Outlier Ranking", booktitle="Proc. IEEE 28th Int. Conf. on Data Engineering (ICDE 2012)", url="https://doi.org/10.1109/ICDE.2012.88", bibkey="DBLP:conf/icde/KellerMB12") public class HiCS<V extends NumberVector> extends AbstractAlgorithm<OutlierResult> implements OutlierAlgorithm
Reference:
F. Keller, E. Müller, K. Böhm
HiCS: High Contrast Subspaces for Density-Based Outlier Ranking
Proc. IEEE 28th Int. Conf. on Data Engineering (ICDE 2012)
Modifier and Type | Class and Description |
---|---|
static class |
HiCS.HiCSSubspace
BitSet that holds a contrast value as field.
|
static class |
HiCS.Parameterizer<V extends NumberVector>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private double |
alpha
Alpha threshold.
|
private int |
cutoff
Candidates limit.
|
private static Logging |
LOG
The Logger for this class.
|
private int |
m
Monte-Carlo iterations.
|
private static int |
MAX_RETRIES
Maximum number of retries.
|
private OutlierAlgorithm |
outlierAlgorithm
Outlier detection algorithm.
|
private RandomFactory |
rnd
Random generator.
|
private GoodnessOfFitTest |
statTest
Statistical test to use.
|
ALGORITHM_ID
Constructor and Description |
---|
HiCS(int m,
double alpha,
OutlierAlgorithm outlierAlgorithm,
GoodnessOfFitTest statTest,
int cutoff,
RandomFactory rnd)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
private java.util.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,
java.util.ArrayList<ArrayDBIDs> subspaceIndex,
java.util.Random random)
Calculates the actual contrast of a given subspace.
|
private java.util.Set<HiCS.HiCSSubspace> |
calculateSubspaces(Relation<? extends NumberVector> relation,
java.util.ArrayList<ArrayDBIDs> subspaceIndex,
java.util.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.
|
run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private 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 java.util.ArrayList<ArrayDBIDs> buildOneDimIndexes(Relation<? extends NumberVector> relation)
relation
- Relation to indexprivate java.util.Set<HiCS.HiCSSubspace> calculateSubspaces(Relation<? extends NumberVector> relation, java.util.ArrayList<ArrayDBIDs> subspaceIndex, java.util.Random random)
relation
- the relation the HiCS should be evaluated forsubspaceIndex
- Subspace indexesprivate void calculateContrast(Relation<? extends NumberVector> relation, HiCS.HiCSSubspace subspace, java.util.ArrayList<ArrayDBIDs> subspaceIndex, java.util.Random random)
relation
- Relation to processsubspace
- SubspacesubspaceIndex
- Subspace indexespublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<OutlierResult>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<OutlierResult>
Copyright © 2019 ELKI Development Team. License information.