Open breznak opened 9 years ago
Should we add more dependencies to nupic
?
I think that is the bigger question. The feedback I've gotten from the community so far has been to keep as few dependencies as possible. I'm interested in what others think ( @subutai @scottpurdy @chetan51 @oxtopus ). This might be a question to ask nupic-hackers.
Our metrics are a very light-weight part of the codebase and probably don't warrant an external dependency. Plus using an external library really limits our control over the code.
The KNN classifier is a more logical piece to find an external version of but we needed more control over the implementation so we implemented our own.
I think we will have a hard time integrating with external implementations in a lot of cases just because you lose the flexibility to modify it as needed.
good point with the tweaks to kNN.
I picked Metrics as they are just there (not subclassed by anyone, etc) - so a good candidate for a library. Also it'd give us more (types) of them for free.
Another candidate on my mind is Swarming - a blackbox optimization algorithm (but that's rather radical for now;) )
@breznak - regarding swarming, see here: #1236
From my experiences explaining
HTM/CLA
to people used to "classical" neural networks, NuPIC is a very innovative idea. We should benefit from the work/bug-fixes others have done in OSS :smile:In this issue I'd like to track pieces of code we have in common with classical ML methods, and know about good python (c++ counterpart is a +) libraries for machine learning which we could use.
For example, I have found:
Metrics
: ours: https://github.com/numenta/nupic/blob/master/nupic/frameworks/opf/metrics.py lib: http://scikit-learn.org/stable/modules/classes.html#sklearn-metrics-metrics lib2: https://github.com/benhamner/Metricsk-Nearest Neighbors