Hi Racket Users,
The last few days I've been working on implementing decision trees in Racket
and I've been following the following guide:
Now I have the following code: https://github.com/ZelphirKaltstahl/racket-ml
I also wrote some tests, I think for every procedure so far.
However, my implementation seems very very slow. It seems each iteration of
`iter-features` takes way too much time.
I've tried to stick to the guide and sometimes "outsourced" some procedure.
I started out with using vectors, as I thought I might gain better performance
than from lists. In the code I introduced an abstraction layer, which provides
things like `data-length`, so that I could in theory change the representation
of data and only change those accessors/getters. In the test cases I sometimes
did not use the abstraction though.
So far I am not having much side effects in the code and I'd like to avoid them
and unsafe operations.
A small `TEST-DATA` set is in the code and another data set I downloaded from
the data set repositories. When running with `TEST-DATA` to calculate the best
split, it only takes a few milliseconds, while it takes minutes with the other
How can I make my code more efficient, without changing the basic logic of it?
Should I not use vectors (what else?)?
Would I gain anything from using typed Racket or flonums?
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.