htm-community / nab Goto Github PK
View Code? Open in Web Editor NEWThis project forked from numenta/nab
The Numenta Anomaly Benchmark
License: GNU Affero General Public License v3.0
This project forked from numenta/nab
The Numenta Anomaly Benchmark
License: GNU Affero General Public License v3.0
Would be useful for #6
Would this be feasible?
I have noticed, that htmcore_detector.py use random seed (=0).
In fact, it is just about the RDSE encoder, there is the seed param not supplied. I can add this param with PR.
I am not sure how optimalization exactly works here in NAB (the one with docker?), but in my opinion for optimalization process, the detector should be deterministic. (i am imagining itself as optimizer and i am trying to find better params, but each call the result is different with no dependency of what params i have changed.) This potentially could help @steinroe.
For example, for art_daily_flatmiddle i get these scores each call: -0.787,-0.567,-0.677....
What you think about this @breznak ?
compute err metric from predicted values, such as RMSE, SSE, R2,..
as the numenta/NAB does.
A possible bug, the self.inputMin, inputMax
is provided by the NAB API.
57: Results have been written to /mnt/store/devel/HTM/NAB/results/htmcore/realTweets/htmcore_Twitter_volume_UPS.csv
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/lib/python3.6/multiprocessing/pool.py", line 119, in worker
result = (True, func(*args, **kwds))
File "/usr/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar
return list(map(*args))
File "/mnt/store/devel/HTM/NAB/nab/detectors/base.py", line 147, in detectDataSet
detectorInstance.initialize()
File "/mnt/store/devel/HTM/NAB/nab/detectors/htmcore/htmcore_detector.py", line 284, in initialize
assert self.inputMin < self.inputMax, "FAILED "+str(self.inputMin)+" "+str(self.inputMax)
AssertionError: FAILED 45.0 45.0
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "run.py", line 247, in
main(args)
File "run.py", line 96, in main
runner.detect(detectorConstructors)
File "/mnt/store/devel/HTM/NAB/nab/runner.py", line 134, in detect
self.pool.map_async(detectDataSet, args).get(99999999)
File "/usr/lib/python3.6/multiprocessing/pool.py", line 644, in get
raise self._value
AssertionError: FAILED 45.0 45.0
our c++ ScalarEncoder
has a check that min < max
0
for some internal sizes.I don't know if the problem is a bug in how this NAB implementation computes/deals with setting the min.max,
or if we have to workaround that in c++ ScalarEncoder?
I was installing NAB in Win7 environment, the error came after running python setup.py install
Using e:\python37\lib\site-packages
Finished processing dependencies for nab==1.0
The system cannot find the path specified.
python: can't open file 'nab/detectors/htmcore/setup.py': [Errno 2] No such file or directory
I had nab-1.0 in site-package folder and pip list
can detect nab. How would it affect usage? (My guess is that I couldn't use htmcore as a detector)
By the way, I commented out long_description=read("README.md")
in setup.py due to encoding issue(I got unicode value error and couldn't install it even I particularly chcp 65001
). I don't know if it was related.
If it's not already provided(?)
htmcore
detector results on (some) datasetsThe current scores are not really good!
Running score normalization step
Final score for 'htmcore' detector on 'standard' profile = 50.83
Final score for 'htmcore' detector on 'reward_low_FP_rate' profile = 49.95
Final score for 'htmcore' detector on 'reward_low_FN_rate' profile = 52.64
Final scores have been written to /mnt/store/devel/HTM/NAB/results/final_results.json.
LSTM is currently state of the art for time-series, see how it compares with HTM
I am wondering how/if we would merge with upstream NAB from Numenta, which is now Python3 too.
This codebase has been converted a long time before that by @ctrl-z-9000-times , and a bunch of other work has been done atop of that.
What do you think? Attempt merging, start anew on theirs master and add our changes, or keep this as diverged fork?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.