O
- Object type.@Title(value="ISOS: Intrinsic Stochastic Outlier Selection") @Reference(authors="Erich Schubert, Michael Gertz", title="Intrinsic t-Stochastic Neighbor Embedding for Visualization and Outlier Detection: A Remedy Against the Curse of Dimensionality?", booktitle="Proc. Int. Conf. Similarity Search and Applications, SISAP\'2017", url="https://doi.org/10.1007/978-3-319-68474-1_13", bibkey="DBLP:conf/sisap/SchubertG17") public class ISOS<O> extends AbstractDistanceBasedAlgorithm<O,OutlierResult> implements OutlierAlgorithm
Reference:
Erich Schubert, Michael Gertz
Intrinsic t-Stochastic Neighbor Embedding for Visualization and Outlier
Detection: A Remedy Against the Curse of Dimensionality?
Proc. Int. Conf. Similarity Search and Applications, SISAP'2017
Modifier and Type | Class and Description |
---|---|
static class |
ISOS.Parameterizer<O>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
(package private) IntrinsicDimensionalityEstimator |
estimator
Estimator of intrinsic dimensionality.
|
protected int |
k
Number of neighbors (not including query point).
|
private static Logging |
LOG
Class logger.
|
protected double |
phi
Expected outlier rate.
|
ALGORITHM_ID
DISTANCE_FUNCTION_ID
Constructor and Description |
---|
ISOS(DistanceFunction<? super O> distance,
int k,
IntrinsicDimensionalityEstimator estimator)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected static void |
adjustDistances(DBIDRef ignore,
DoubleDBIDListIter ki,
double max,
double id,
ModifiableDoubleDBIDList dists) |
protected double |
estimateID(DBIDRef ignore,
DoubleDBIDListIter it,
double[] p)
Estimate the local intrinsic dimensionality.
|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
static void |
nominateNeighbors(DBIDIter ignore,
DBIDArrayIter di,
double[] p,
double norm,
WritableDoubleDataStore scores)
Vote for neighbors not being outliers.
|
OutlierResult |
run(Relation<O> relation)
Run the algorithm.
|
static DoubleMinMax |
transformScores(WritableDoubleDataStore scores,
DBIDs ids,
double logPerp,
double phi)
Transform scores
|
getDistanceFunction
run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging LOG
protected int k
IntrinsicDimensionalityEstimator estimator
protected double phi
public ISOS(DistanceFunction<? super O> distance, int k, IntrinsicDimensionalityEstimator estimator)
distance
- Distance functionk
- Number of neighbors to considerestimator
- Estimator of intrinsic dimensionality.public TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<OutlierResult>
public OutlierResult run(Relation<O> relation)
relation
- data relation.protected static void adjustDistances(DBIDRef ignore, DoubleDBIDListIter ki, double max, double id, ModifiableDoubleDBIDList dists)
protected double estimateID(DBIDRef ignore, DoubleDBIDListIter it, double[] p)
ignore
- Object to ignoreit
- Iteratorp
- Scratch arraypublic static void nominateNeighbors(DBIDIter ignore, DBIDArrayIter di, double[] p, double norm, WritableDoubleDataStore scores)
ignore
- Object to ignoredi
- Neighbor object IDs.p
- Probabilitiesnorm
- Normalization factor (1/sum)scores
- Output score storagepublic static DoubleMinMax transformScores(WritableDoubleDataStore scores, DBIDs ids, double logPerp, double phi)
scores
- Scores to transformids
- DBIDs to processlogPerp
- log perplexityphi
- Expected outlier rateprotected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<OutlierResult>
Copyright © 2019 ELKI Development Team. License information.