OutlierDetectionJL / OutlierDetection.jl

Fast, scalable and flexible Outlier Detection with Julia
https://outlierdetectionjl.github.io/OutlierDetection.jl/dev/
MIT License
80 stars 8 forks source link

[DOC] simple examples in documentation are broken #37

Closed rolling-robot closed 1 year ago

rolling-robot commented 1 year ago

Simple examples on https://outlierdetectionjl.github.io/OutlierDetection.jl/dev/API/detectors/#lofdetector https://juliapackages.com/p/outlierdetection do not seem to work.

How is it possible to fix them?

rolling-robot commented 1 year ago

looks like the culprit is in https://github.com/OutlierDetectionJL/OutlierDetectionInterface.jl/blob/68dce35f06ac4bd769e01da46a4b1e6fb50a42c7/src/base.jl#L72, where outdated interface is coded in

rolling-robot commented 1 year ago

I see that MLJ pipelines do not work for OutlierDetection now: https://github.com/OutlierDetectionJL/OutlierDetection.jl/issues/31, but they are mentioned on the title page https://juliapackages.com/p/outlierdetection (and do not work indeed) in MLJ section.

Is it appropriate to change example on title page to something like https://github.com/OutlierDetectionJL/OutlierDetection.jl/issues/31#issuecomment-1234742601 ?

davnn commented 1 year ago

You are right that pipelines do not currently work since they were changed in MLJ. It would be an option to add learning networks to the README, but maybe its enough to show a simple MLJ-based model in the readme.

Edit: Thank you for your pull request!

davnn commented 1 year ago

@all-contributors add @rolling-robot for docs.

allcontributors[bot] commented 1 year ago

@davnn

I've put up a pull request to add @rolling-robot! :tada:

rolling-robot commented 1 year ago

I think that something like that would fit title page (at least it works) But I can't find the source for it https://juliapackages.com/p/outlierdetection to correct.

using MLJ
using OutlierDetection
using OutlierDetectionData: ODDS

X, y = ODDS.load("annthyroid")

LOF = @iload LOFDetector pkg=OutlierDetectionNeighbors verbosity=0

lof = ProbabilisticDetector(LOF())
cv = StratifiedCV(nfolds=5, shuffle=true, rng=0)
r = range(lof, :(detector.k), values=[1,2,3,4,5:5:100...])

t = TunedModel(model=lof, resampling=cv, tuning=Grid(), range=r, acceleration=CPUThreads())
m = machine(t, X, y) |> fit!
report(m).best_history_entry
b = report(m).best_model
evaluate(b, X, y, resampling=cv)
ŷ=predict(m, X)
rolling-robot commented 1 year ago

Also this warning should be corrected, as current version is 0.3.3, according to github

🚧 Experimental, install from master branch until 0.2 is released and expect breaking changes 🚧
davnn commented 1 year ago

Do you, by any chance, know how to update that page?

rolling-robot commented 1 year ago

Well, I have found where it comes from. The page was statically generated long ago from a readme in this repo. This statically generated page is now at https://github.com/djsegal/JuliaPackages.jl/blob/2862c325ecf0c7e3da10e3cc7a210750a39914bf/data/readme_html/outlierdetection.txt

rolling-robot commented 1 year ago

Looks like title page for every single package on juliapackages.com is a 2 year old readme.

rolling-robot commented 1 year ago

I think this issue can be closed as the main problem for my OP is upstream.