Metadata-Version: 2.1
Name: hmm-tool
Version: 0.0.2
Summary: A fast Python implementation of HMM.
Home-page: https://github.com/jinzitian/HMM
Author: Chef_J
Author-email: hedge_jzt@hotmail.com
Maintainer: Chef_J
Maintainer-email: hedge_jzt@hotmail.com
License: MIT
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Description-Content-Type: text/markdown
License-File: LICENSE.txt

=================
HMM
=================

A fast Python implementation of HMM

Installation
============
To install:

.. code-block:: bash

    $ pip install hmm-tool

Quickstart
==========

.. code-block:: python

    from hmmtool import HMM
    import numpy as np
    
    ### 3 states, 6 observations:
    ### states values:0/1/2, observations values:0/1/2/3/4/5 
    hmm = HMM(3,6)
	
    #train
    s1 = np.random.randint(6,size = 60)
    s2 = np.random.randint(6,size = 40)
    hmm.add_data([s1,s2])
    hmm.train(maxStep=50,delta=0.001)
	
    #get params
    print(hmm.pi)
    print(hmm.A)
    print(hmm.B)
	
    #predict
    #random data
    s3 = np.random.randint(6,size = 10)
    s4 = np.random.randint(6,size = 10)
	
    #multi inputs:[[o1,o2,o3,...,ot1],[o1,o2,o3,...,ot2]]
    #output: [prob1, prob2]
    print(hmm.estimate_prob([s3,s4]))
    #output: [(prob1, [s1,s2,s3,...,st1]), (prob2, [s1,s2,s3,...,st2])]
    print(hmm.decode([s3,s4]))
	  
    
	


