public class IsolationTree
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
IsolationTree.FilteredData |
static class |
IsolationTree.Node
IsolationTree Node.
|
Constructor and Description |
---|
IsolationTree(int _heightLimit,
int _extensionLevel) |
Modifier and Type | Method and Description |
---|---|
CompressedIsolationTree |
buildTree(double[][] data,
long seed,
int treeNum)
Implementation of Algorithm 2 (iTree) from paper.
|
static IsolationTree.FilteredData |
extendedIsolationForestSplit(double[][] data,
double[] p,
double[] n)
Compute Extended Isolation Forest split point and filter input data with this split point in the same time.
|
static double[] |
gaussianVector(int n,
int zeroNum,
long seed)
Make a new array initialized to random Gaussian N(0,1) values with the given seed.
|
int |
getDepth() |
int |
getIsolatedPoints() |
int |
getLeaves() |
long |
getNotIsolatedPoints() |
int |
getZeroSplits() |
void |
logNodesHeight(org.apache.log4j.Level level)
Helper method.
|
void |
logNodesNumRows(org.apache.log4j.Level level)
Helper method.
|
public CompressedIsolationTree buildTree(double[][] data, long seed, int treeNum)
public void logNodesNumRows(org.apache.log4j.Level level)
public void logNodesHeight(org.apache.log4j.Level level)
public static IsolationTree.FilteredData extendedIsolationForestSplit(double[][] data, double[] p, double[] n)
See Algorithm 2 (iTree) in the paper.
public static double[] gaussianVector(int n, int zeroNum, long seed)
zeroNum
items zeros (based on extensionLevel value).n
- length of generated vectorzeroNum
- set randomly selected zeroNum
items of vector to zerozeroNum
item values are zeros.public int getIsolatedPoints()
public long getNotIsolatedPoints()
public int getZeroSplits()
public int getLeaves()
public int getDepth()