This Project aim of implements most of Anomaly Detection Algorithms in Java. If you want to contribute source code, please write Email to jeemy145@outlook.com, or you can add my WeChat Number: JeemyJohn
This algorithm is realized in package iforest.
Algorithm Home Page: http://blog.csdn.net/u013709270/article/details/73436588
Source Paper:
http://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/icdm08b.pdf
http://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/tkdd11.pdf
Usage step:
- Create an object of class IForest
IForest iForest = new IForest();
- Get samples and train
double[][] samples = new double[1000][2];
//get samples
...
int[] ans = iForest.train(samples, 100);
We have two declaration of function train, the implementation of them are same to each other. The only difference of them is one have default parameter. As the results of function train ans, if ans[i]==0 means it's an Anomaly(or Isolation) Point, else a Normal Point.
- Predict a new sample
If a sample does not in samples, we can use function predict to judge it a Normal point or not.
double[] sample = ...
int label = iForest.predict(sample);
System.out.println(label);
对机器学习,人工智能感兴趣的小伙伴可以加我微信:JeemyJohn,我拉你进我的机器学习群(群里很多高手哦!),或者扫描二维码!当然你也可以关注我的公众号,点击链接:燕哥带你学算法公众号团队简介