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.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.
|
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, 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 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()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<OutlierResult>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<OutlierResult>