MCPcopy
hub / github.com/johannfaouzi/pyts

github.com/johannfaouzi/pyts @v0.13.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.13.0 ↗
590 symbols 2,788 edges 154 files 415 documented · 70%
README

Build Status Documentation Status Codecov PyPI - Python Version PyPI version Conda Version CodeQL DOI

pyts: a Python package for time series classification

pyts is a Python package for time series classification. It aims to make time series classification easily accessible by providing preprocessing and utility tools, and implementations of state-of-the-art algorithms. Most of these algorithms transform time series, thus pyts provides several tools to perform these transformations.

Installation

Dependencies

pyts requires:

  • Python (>= 3.8)
  • NumPy (>= 1.22.4)
  • SciPy (>= 1.8.1)
  • Scikit-Learn (>= 1.2.0)
  • Joblib (>= 1.1.1)
  • Numba (>= 0.55.2)

To run the examples Matplotlib (>=2.0.0) is required.

User installation

If you already have a working installation of numpy, scipy, scikit-learn, joblib and numba, you can easily install pyts using pip

pip install pyts

or conda via the conda-forge channel

conda install -c conda-forge pyts

You can also get the latest version of pyts by cloning the repository

git clone https://github.com/johannfaouzi/pyts.git
cd pyts
pip install .

Testing

After installation, you can launch the test suite from outside the source directory using pytest:

pytest pyts

Changelog

See the changelog for a history of notable changes to pyts.

Development

The development of this package is in line with the one of the scikit-learn community. Therefore, you can refer to their Development Guide. A slight difference is the use of Numba instead of Cython for optimization.

Documentation

The section below gives some information about the implemented algorithms in pyts. For more information, please have a look at the HTML documentation available via ReadTheDocs.

Citation

If you use pyts in a scientific publication, we would appreciate citations to the following paper:

Johann Faouzi and Hicham Janati. pyts: A python package for time series classification.
Journal of Machine Learning Research, 21(46):1−6, 2020.

Bibtex entry:

@article{JMLR:v21:19-763,
  author  = {Johann Faouzi and Hicham Janati},
  title   = {pyts: A Python Package for Time Series Classification},
  journal = {Journal of Machine Learning Research},
  year    = {2020},
  volume  = {21},
  number  = {46},
  pages   = {1-6},
  url     = {http://jmlr.org/papers/v21/19-763.html}
}

Implemented features

Note: the content described in this section corresponds to the main branch (i.e., the latest version), and not the latest released version. You may have to install the latest version to use some of these features.

pyts consists of the following modules:

License

The contents of this repository is under a BSD 3-Clause License.

Core symbols most depended-on inside this repo

fit_transform
called by 67
pyts/transformation/boss.py
transform
called by 25
pyts/transformation/boss.py
fit
called by 18
pyts/transformation/boss.py
load_gunpoint
called by 18
pyts/datasets/load.py
_windowed_view
called by 17
pyts/utils/utils.py
fit_transform
called by 13
pyts/approximation/dft.py
accumulated_cost_matrix
called by 12
pyts/metrics/dtw.py
dtw
called by 11
pyts/metrics/dtw.py

Shape

Function 342
Method 190
Class 48
Route 10

Languages

Python100%

Modules by API surface

pyts/metrics/tests/test_dtw.py34 symbols
pyts/metrics/dtw.py31 symbols
pyts/classification/learning_shapelets.py27 symbols
pyts/classification/tests/test_learning_shapelets.py19 symbols
pyts/transformation/shapelet_transform.py16 symbols
pyts/preprocessing/scaler.py16 symbols
pyts/classification/tsbf.py16 symbols
pyts/classification/time_series_forest.py14 symbols
pyts/metrics/tests/test_lower_bounds.py13 symbols
pyts/metrics/lower_bounds.py13 symbols
pyts/approximation/mcb.py13 symbols
pyts/preprocessing/discretizer.py11 symbols

Dependencies from manifests, versioned

joblib0.14 · 1×
numba0.48.0 · 1×
numpy1.17.5 · 1×
scikit-learn0.22.1 · 1×
scipy1.3.3 · 1×

For agents

$ claude mcp add pyts \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact