teagum / chainsaddiction Goto Github PK
View Code? Open in Web Editor NEWDiscrete-time, finite state space, stationary Hidden Markov Model for Python3.
License: BSD 3-Clause "New" or "Revised" License
Discrete-time, finite state space, stationary Hidden Markov Model for Python3.
License: BSD 3-Clause "New" or "Revised" License
PoisHmm_Delete
does not check the input for NULL pointer, which may lead to seg fault.
Currently, the Forward/Backward algorithm fails if a state-dependent mean is initialized to a value between 0 and 1. The current workaround introduced in d81e375 is to simply restrict the initialization range to [1, +inf].
chainsaddiction/src/vmath/vmath.c
Line 410 in 772888a
chainsaddiction/src/vmath/vmath.c
Line 431 in 772888a
Some of the functions in vmath are not tested. Here is a list:
poisson_pmf
poisson_logpmf
v_poisson_logpmf
Fix these error messages:
chainsaddiction/src/vmath/vmath.c
Line 333 in b57995e
chainsaddiction/src/vmath/vmath.c
Line 410 in b57995e
chainsaddiction/src/vmath/vmath.c
Line 431 in b57995e
The functions ca_ph_NewParams
and ca_ph_NewProbs
can potentially cause a memory leak. Each function features three consecutive calls the MA_SCALAR_ZEROS
. In case, the second or third of these calls fails due to an allocation error the memory successfully allocated by the previous calls is not correctly deallocated.
This is because MA_SCALAR_ZEROS
checks for allocation failures internally. A possible fix is, hence, to directly use malloc
.
The random function in PoisHmm_InitRandom
generates random samples as expected. For later comparability, however, the variates should be in increasing order.
The HMM has to have a convenient setter, which allows to set/reset the parameters in an PoisParam
object.
Should these setters live in the big PoisHmm namespace or should it better have it's own PoisParams namespace, like:
PoisHmm_SetXXX
or PoisParams_SetXXX
?
The second approach seems more versatile since it would allow to change init and training params. The fist approch would have to be hard coded to set either init or training params.
If the number of states does not match the size of the remaining parameters, the error message is misleading. It reports, that the next header could not be read, which is technically true, but does nevertheless point the user in the wrong direction. Since the actual cause of the problem is the wrong number of states.
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.