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.
|
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 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()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<OutlierResult>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<OutlierResult>Copyright © 2019 ELKI Development Team. License information.