ak0da project
Go to file
2023-05-14 21:07:58 +02:00
.editorconfig initial commit 2023-05-14 16:47:01 +02:00
.envrc initial commit 2023-05-14 16:47:01 +02:00
.gitattributes initial commit 2023-05-14 16:47:01 +02:00
.gitignore go,nix: add Isolation Forest outlier detection 2023-05-14 19:55:21 +02:00
.golangci.yml initial commit 2023-05-14 16:47:01 +02:00
.pre-commit-config.yaml go: appease the linters 2023-05-14 21:03:45 +02:00
default.nix initial commit 2023-05-14 16:47:01 +02:00
flake.lock initial commit 2023-05-14 16:47:01 +02:00
flake.nix go,nix: add Isolation Forest outlier detection 2023-05-14 19:55:21 +02:00
go.mod go,nix: add Isolation Forest outlier detection 2023-05-14 19:55:21 +02:00
go.sum go,nix: add Isolation Forest outlier detection 2023-05-14 19:55:21 +02:00
main.go go: appease the linters 2023-05-14 21:03:45 +02:00
README.md readme: fix Go instructions 2023-05-14 21:07:58 +02:00
shell.nix initial commit 2023-05-14 16:47:01 +02:00

ak0da

this repo contains code of the compulsory task for AK0DA course.

the topic is anomaly/outlier detection using golearn's Isolation Forest model implementation.

to test the functionality you'd need:

  • Go (v1.20.x+)
  • alternatively, you could use Nix

with Go ready, do:

go install -v git.dotya.ml/wanderer/ak0da@latest
$GOPATH/bin/ak0da

# or to run the code directly:
go run -v git.dotya.ml/wanderer/ak0da@latest

or with (flake-enabled) Nix, do:

nix run git+https://git.dotya.ml/wanderer/ak0da#proj

both of the above should put the ak0da binary in your $GOPATH, from where you can run it.
it then drops a data.csv file in $PWD which is overwritten everytime the program is run.

the last 15 (the amount is hardcoded) values are outliers, which should stand out to the model and be detected as such.

by default there are 10001 "normal" (standard normal distribution or uniform distribution < -1; 1 >) values generated, to array of which the outliers are appended.