ak0da project
Go to file
leo 2dfdd86460
go: appease the linters
* also, build the correct pkg in pre-commit
2023-05-14 21:03:45 +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 go,nix: add Isolation Forest outlier detection 2023-05-14 19:55:21 +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

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.