Closes #114 (closed)
After doing some experiments on SOD
, it turns out (as expected) that more than 95% of the extra time complexity is purely because of snn()
function in SOD
and more specifically the numpy function isin() used in snn()
.
However, this function cannot be used under numba
since it is not supported yet.
I implemented a workaround to make it work under numba
.
The results show noticeable improvement in time complexity and even faster than Fast ABOD
algorithm.
Although SOD
achieves a pretty good precision in high-dimensional spaces, nevertheless, please note that SOD
is well-known to have relatively poor time complexity as many papers and blogs show (example).
Experiment Settings:
#Samples | #Features | #Neighbors |
---|---|---|
10K | 10 | 50 |
Results
Model | Time(sec) |
---|---|
SOD (old) | 130 |
SOD (new) | 58 |
Fast ABOD | 87 |