Name | markovm JSON |
Version |
0.1.0
JSON |
| download |
home_page | |
Summary | Python library for Markov Models. |
upload_time | 2023-06-10 22:39:31 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.7 |
license | MIT |
keywords |
markov model
markov chain
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<p align="center">
<a href="https://github.com/HH-MWB/timerun">
<img src="https://user-images.githubusercontent.com/50187675/244896432-f28357ec-2ced-4095-aef1-fca6a73dd983.png" alt="MarkovM">
</a>
</p>
<p align="center"><strong>MarkovM</strong> - <em>Python library for Markov Models.</em></p>
<p align="center">
<a href="https://github.com/HH-MWB/markovm/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/pypi/l/markovm.svg"></a>
<a href="https://pypi.org/project/markovm/"><img alt="PyPI Latest Release" src="https://img.shields.io/pypi/v/markovm.svg"></a>
<a href="https://pypi.org/project/markovm/"><img alt="Package Status" src="https://img.shields.io/pypi/status/markovm.svg"></a>
<a href="https://github.com/psf/black/"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
<a href="https://pycqa.github.io/isort/"><img alt="Imports: isort" src="https://img.shields.io/badge/%20imports-isort-%231674b1"></a>
</p>
## Installation
Install from [Python Package Index](https://pypi.org/project/markovm/):
```sh
pip install markovm
```
Install from [Source Code](https://github.com/HH-MWB/markovm):
```sh
pip install .
```
## Quickstart
### Create Model
You can use `markovm.create_markov_model` to create a Markov model. Please provide all valid states and an n-by-n matrix describing the probabilities of transitions, where n is the number of states. If two states `i` and `j` do not have a connection in between, set `matrix[i][j]` to `0`. For example,
```python
>>> import markovm
>>> import numpy
>>> m = markovm.create_markov_model(
... states=("A", "B", "C"),
... transitions=numpy.array([
... [0.0, 1.0, 0.0], # A must goto B
... [0.2, 0.0, 0.8], # B can goto A (20%) or C (80%)
... [0.0, 0.5, 0.5], # C can goto B or stay
... ]),
... )
```
### Random Walk
You can use `markovm.random_walk` to randomly walk through a Markov model. By default, it will start with the first state. If you want it to start with another state, please provide the index of the expected starting state to `index` in the function call. You can also set a seed to the function call, and it uses `None` by default. For example,
```python
>>> import itertools
>>> for state in itertools.islice(
... markovm.random_walk(m, seed=0), 5
... ):
... print(state)
...
A
B
C
B
A
```
Raw data
{
"_id": null,
"home_page": "",
"name": "markovm",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "markov model,markov chain",
"author": "",
"author_email": "HH-MWB <h.hong@mail.com>",
"download_url": "https://files.pythonhosted.org/packages/ea/56/b001cc15f98ce15e015cf579ff368411d4e7fe9f247639f7d151e9e328e6/markovm-0.1.0.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <a href=\"https://github.com/HH-MWB/timerun\">\n <img src=\"https://user-images.githubusercontent.com/50187675/244896432-f28357ec-2ced-4095-aef1-fca6a73dd983.png\" alt=\"MarkovM\">\n </a>\n</p>\n\n<p align=\"center\"><strong>MarkovM</strong> - <em>Python library for Markov Models.</em></p>\n\n<p align=\"center\">\n <a href=\"https://github.com/HH-MWB/markovm/blob/main/LICENSE\"><img alt=\"License\" src=\"https://img.shields.io/pypi/l/markovm.svg\"></a>\n <a href=\"https://pypi.org/project/markovm/\"><img alt=\"PyPI Latest Release\" src=\"https://img.shields.io/pypi/v/markovm.svg\"></a>\n <a href=\"https://pypi.org/project/markovm/\"><img alt=\"Package Status\" src=\"https://img.shields.io/pypi/status/markovm.svg\"></a>\n <a href=\"https://github.com/psf/black/\"><img alt=\"Code style: black\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"></a>\n <a href=\"https://pycqa.github.io/isort/\"><img alt=\"Imports: isort\" src=\"https://img.shields.io/badge/%20imports-isort-%231674b1\"></a>\n</p>\n\n## Installation\n\nInstall from [Python Package Index](https://pypi.org/project/markovm/):\n\n```sh\npip install markovm\n```\n\nInstall from [Source Code](https://github.com/HH-MWB/markovm):\n\n```sh\npip install .\n```\n\n## Quickstart\n\n### Create Model\n\nYou can use `markovm.create_markov_model` to create a Markov model. Please provide all valid states and an n-by-n matrix describing the probabilities of transitions, where n is the number of states. If two states `i` and `j` do not have a connection in between, set `matrix[i][j]` to `0`. For example,\n\n```python\n>>> import markovm\n>>> import numpy\n>>> m = markovm.create_markov_model(\n... states=(\"A\", \"B\", \"C\"),\n... transitions=numpy.array([\n... [0.0, 1.0, 0.0], # A must goto B\n... [0.2, 0.0, 0.8], # B can goto A (20%) or C (80%)\n... [0.0, 0.5, 0.5], # C can goto B or stay\n... ]),\n... )\n```\n\n### Random Walk\n\nYou can use `markovm.random_walk` to randomly walk through a Markov model. By default, it will start with the first state. If you want it to start with another state, please provide the index of the expected starting state to `index` in the function call. You can also set a seed to the function call, and it uses `None` by default. For example,\n\n```python\n>>> import itertools\n>>> for state in itertools.islice(\n... markovm.random_walk(m, seed=0), 5\n... ):\n... print(state)\n... \nA\nB\nC\nB\nA\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python library for Markov Models.",
"version": "0.1.0",
"project_urls": {
"Bug Reports": "https://github.com/HH-MWB/markovm/issues",
"Homepage": "https://pypi.org/project/markovm",
"Source": "https://github.com/HH-MWB/markovm"
},
"split_keywords": [
"markov model",
"markov chain"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "567a19213b454b70b872bcaf653432a30bdb2b459a7b4751c6878bbf9207bc77",
"md5": "0bd7294d2576c7f57d16ad530f8536a0",
"sha256": "38fd88e21834138ae2b4cabaa106b067d382aa5e1917e7bdc90ebc1692790e62"
},
"downloads": -1,
"filename": "markovm-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0bd7294d2576c7f57d16ad530f8536a0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 4313,
"upload_time": "2023-06-10T22:39:26",
"upload_time_iso_8601": "2023-06-10T22:39:26.291707Z",
"url": "https://files.pythonhosted.org/packages/56/7a/19213b454b70b872bcaf653432a30bdb2b459a7b4751c6878bbf9207bc77/markovm-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ea56b001cc15f98ce15e015cf579ff368411d4e7fe9f247639f7d151e9e328e6",
"md5": "c19932b96f70192d50cdbec80b2b9a50",
"sha256": "31a1190a11175943a6422454c91ed25f9e86fb470e7de04facf993d66263f4e3"
},
"downloads": -1,
"filename": "markovm-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "c19932b96f70192d50cdbec80b2b9a50",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 4172,
"upload_time": "2023-06-10T22:39:31",
"upload_time_iso_8601": "2023-06-10T22:39:31.589992Z",
"url": "https://files.pythonhosted.org/packages/ea/56/b001cc15f98ce15e015cf579ff368411d4e7fe9f247639f7d151e9e328e6/markovm-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-10 22:39:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "HH-MWB",
"github_project": "markovm",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "markovm"
}