Closed zuoxiang95 closed 1 year ago
You classpath is incomplete. Hence it cannot load the class.
Make sure to have all the elki modules in the classpath, in particular elki-core-dbids-int
.
(Hence, the error is not in above code, this is a class load time error.)
@kno10 ,thanks for your reply, add the module elki-core-dbids-int
, it runs successful. Another question is how do i use index to acceleration the detection.
val indexfactory = new ELKIBuilder[RStarTreeFactory[_ <: NumberVector]](classOf[RStarTreeFactory[_ <: NumberVector]])
.`with`(AbstractPageFileFactory.Par.PAGE_SIZE_ID, 512)
.`with`(RStarTreeFactory.Par.BULK_SPLIT_ID, classOf[SortTileRecursiveBulkSplit]).build
but it cannot find BULK_SPLIT_ID
in RStarTreeFactory.Par
ELKI 0.8.0 should automatically add a suitable index; it will prefer the VP tree which usually is faster; the R*-tree was designed for on-disk operation when main memory was much more scarce than today.
RStarTreeFactory.Par.BULK_SPLIT_ID
is supposedly fine, but it is inherited from the abstract class.
Maybe Scala does not resolve these constants then?
https://github.com/elki-project/elki/search?q=BULK_SPLIT_ID
You can fall back to passing the string, too.
@kno10 Thanks for your kind reply. When I use the algorithm elki.outlier.lof.LOF
, and set param k=5
. When my dataset has 5 same points, the cluster density will be infinity, and the other point's score will be infinity. Do you have any suggestions?
There are only four other points (in this implementation, the parameter is defined to not include the point itself) and hence all the reachability distances are infinite (or undefined, but infinite is more useful if you have truncated neighbors).
At the same time, it makes little sense to use a local outlier detection method on such tiny data!
hello, i am using LOF implementation to detect outlier. My program language is scala. when i use computeScores(), the system prompts an error:
here is my code:
I would be very grateful if you could help me out.