Skip to content

Commit

Permalink
Merge branch 'main' into tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
kejsitake committed Feb 27, 2022
2 parents 067d789 + 03646a1 commit 389772b
Show file tree
Hide file tree
Showing 79 changed files with 3,836 additions and 1,336 deletions.
13 changes: 12 additions & 1 deletion .all-contributorsrc
Expand Up @@ -1442,6 +1442,7 @@
"avatar_url": "https://avatars.githubusercontent.com/u/7654679?v=4",
"profile": "https://github.com/rakshitha123",
"contributions": [
"code",
"doc"
]
},
Expand Down Expand Up @@ -1487,8 +1488,18 @@
"avatar_url": "https://avatars.githubusercontent.com/u/74055102?v=4",
"profile": "https://github.com/Saransh-cpp",
"contributions": [
"doc"
"doc",
"infra"
]
},
{
"login": "RishiKumarRay",
"name": "Rishi Kumar Ray",
"avatar_url": "https://avatars.githubusercontent.com/u/87641376?v=4",
"profile": "https://github.com/RishiKumarRay",
"contributions": [
"infra"
]
}
],
"projectName": "sktime",
Expand Down
17 changes: 17 additions & 0 deletions .github/release-drafter.yml
@@ -1,5 +1,22 @@
name-template: 'v$NEXT_PATCH_VERSION'
tag-template: 'v$NEXT_PATCH_VERSION'
categories:
- title: '🚀 Features'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: '🧰 Maintenance'
label:
- 'chore'
- 'maintenance'
- 'refactor'
- 'documentation'

template: |
## What's New
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/cancel.yml
@@ -0,0 +1,13 @@
name: Cancel Workflows on Push
on:
workflow_run:
workflows: ["Install and test"]
types:
- requested
jobs:
cancel:
runs-on: ubuntu-latest
steps:
- uses: styfle/cancel-workflow-action@0.9.1
with:
workflow_id: ${{ github.event.workflow.id }}
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Expand Up @@ -87,7 +87,7 @@ jobs:
cp .coveragerc testdir/
cp setup.cfg testdir/
cd testdir/
python -m pytest --showlocals --durations=10 --cov-report=xml --cov=sktime -v --pyargs sktime
python -m pytest --showlocals --durations=10 --cov-report=xml --cov=sktime -v -n 2 --pyargs sktime
- name: Display coverage report
run: ls -l ./testdir/
- name: Publish code coverage
Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
@@ -1,3 +1,3 @@
# Code of Conduct

You can find our Code of Conduct on our [website](https://www.sktime.org/en/latest/code_of_conduct.html).
You can find our Code of Conduct on our [website](https://www.sktime.org/en/latest/get_involved/code_of_conduct.html).
2 changes: 1 addition & 1 deletion MANIFEST.in
Expand Up @@ -4,5 +4,5 @@ include *.md
recursive-include examples *
recursive-include sktime *.py
recursive-include sktime *.c *.h *.pyx *.pxd *.pxi *.tp
recursive-include sktime/datasets *.csv *.csv.gz *.arff *.arff.gz *.txt *.ts *.tsv
recursive-include sktime/datasets *.csv *.csv.gz *.arff *.arff.gz *.txt *.ts *.tsv *.tsf
include LICENSE
2 changes: 1 addition & 1 deletion Makefile
Expand Up @@ -28,7 +28,7 @@ test: ## Run unit tests
mkdir -p ${TEST_DIR}
cp .coveragerc ${TEST_DIR}
cp setup.cfg ${TEST_DIR}
cd ${TEST_DIR}; python -m pytest --cov-report html --cov=sktime --showlocals --durations=20 --pyargs $(PACKAGE)
cd ${TEST_DIR}; python -m pytest --cov-report html --cov=sktime -v -n 2 --showlocals --durations=20 --pyargs $(PACKAGE)

tests: test

Expand Down
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -4,7 +4,7 @@

> A unified interface for machine learning with time series
:rocket: **Version 0.10.0 out now!** [Check out the release notes here](https://www.sktime.org/en/latest/changelog.html).
:rocket: **Version 0.10.1 out now!** [Check out the release notes here](https://www.sktime.org/en/latest/changelog.html).

sktime is a library for time series analysis in Python. It provides a unified interface for multiple time series learning tasks. Currently, this includes time series classification, regression, clustering, annotation and forecasting. It comes with [time series algorithms](https://www.sktime.org/en/stable/estimator_overview.html) and [scikit-learn] compatible tools to build, tune and validate time series models.

Expand Down Expand Up @@ -75,7 +75,7 @@ For **deep learning**, see our companion package: [sktime-dl](https://github.com
| Module | Status | Links |
|---|---|---|
| **[Forecasting]** | stable | [Tutorial](https://www.sktime.org/en/latest/examples/01_forecasting.html) · [API Reference](https://www.sktime.org/en/latest/api_reference.html#sktime-forecasting-time-series-forecasting) · [Extension Template](https://github.com/alan-turing-institute/sktime/blob/main/extension_templates/forecasting.py) |
| **[Time Series Classification]** | stable | [Tutorial](https://github.com/alan-turing-institute/sktime/blob/main/examples/02_classification_univariate.ipynb) · [API Reference](https://www.sktime.org/en/latest/api_reference.html#sktime-classification-time-series-classification) · [Extension Template](https://github.com/alan-turing-institute/sktime/blob/main/extension_templates/classification.py) |
| **[Time Series Classification]** | stable | [Tutorial](https://github.com/alan-turing-institute/sktime/blob/main/examples/02_classification.ipynb) · [API Reference](https://www.sktime.org/en/latest/api_reference.html#sktime-classification-time-series-classification) · [Extension Template](https://github.com/alan-turing-institute/sktime/blob/main/extension_templates/classification.py) |
| **[Time Series Regression]** | stable | [API Reference](https://www.sktime.org/en/latest/api_reference.html#sktime-classification-time-series-regression) |
| **[Transformations]** | maturing | [API Reference](https://www.sktime.org/en/latest/api_reference.html#sktime-transformations-time-series-transformers) · [Extension Template](https://github.com/alan-turing-institute/sktime/blob/main/extension_templates/transformer.py) |
| **[Time Series Clustering]** | experimental | [Extension Template](https://github.com/alan-turing-institute/sktime/blob/main/extension_templates/clustering.py) |
Expand Down
1 change: 1 addition & 0 deletions docs/source/api_reference/forecasting.rst
Expand Up @@ -44,6 +44,7 @@ Trend

TrendForecaster
PolynomialTrendForecaster
STLForecaster

Exponential Smoothing
---------------------
Expand Down
11 changes: 11 additions & 0 deletions docs/source/api_reference/transformations.rst
Expand Up @@ -293,6 +293,17 @@ Datetime feature generation

DateTimeFeatures

Lagged Window Summarizer
~~~~~~~~~~~~~~~~~~~~~~~~

.. currentmodule:: sktime.transformations.series.window_summarizer

.. autosummary::
:toctree: auto_generated/
:template: class.rst

WindowSummarizer

Outlier detection
~~~~~~~~~~~~~~~~~

Expand Down
115 changes: 105 additions & 10 deletions docs/source/changelog.rst
Expand Up @@ -14,28 +14,123 @@ For upcoming changes and next releases, see our `milestones <https://github.com/
For our long-term plan, see our :ref:`roadmap`.


[0.10.1] - 2022-02-20
---------------------

Highlights
~~~~~~~~~~

* This release is mainly a maintenance patch which upper bounds ``scipy<1.8.0`` to prevent bugs due to interface changes in ``scipy``.
* Once ``sktime`` is compatible with ``scipy 1.8.0``, the upper bound will be relaxed
* New forecaster: ``STLForecaster`` (:pr:`1963`) :user:`aiwalter`
* New transformer: lagged window summarizer transformation (:pr:`1924`) :user:`danbartl`
* Loaders for ``.tsf`` data format (:pr:`1934`) :user:`rakshitha123`

Dependency changes
~~~~~~~~~~~~~~~~~~
* Introduction of bound ``scipy<1.8.0``, to prevent bugs due to interface changes in ``scipy``
* Once ``sktime`` is compatible with ``scipy 1.8.0``, the upper bound will be relaxed

Added
~~~~~

Documentation
^^^^^^^^^^^^^

* [DOC] improvements to the forecasting tutorial (:pr:`1834)` :user:`baggiponte`
* [DOC] Fix wrong conda command to install packages (:pr:`1973`) :user:`schettino72``
* [DOC] Removed gitter from README (:pr:`2025`) :user:`aiwalter`
* [DOC] Fix minor documentation issues (:pr:`2035`) :user:`Saransh-cpp`
* [DOC] Fixed link from README to classification notebook (:pr:`2042`) :user:`Rubiel1`
* [DOC] Added merlion as related software (:pr:`2050`) :user:`aiwalter`

Data sets and data loaders
^^^^^^^^^^^^^^^^^^^^^^^^^^

* [ENH] Added loaders for ``.tsf`` data format (:pr:`1934`) :user:`rakshitha123`
* [ENH] Added ``.tsf`` dataset for unit testing (:pr:`1996`) :user:`rakshitha123`

Data types, checks, conversions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* [ENH] ``convert`` store reset/freeze behaviour & fix of bug 1976 (:pr:`1977`) :user:`fkiraly`
* [ENH] new ``Table`` mtypes: ``pd.Series`` based, ``list`` of ``dict`` (as used in bag of words transformers) (:pr:`2076`) :user:`fkiraly``

Forecasting
^^^^^^^^^^^

* [ENH] Added ``STLForecaster`` (:pr:`1963`) :user:`aiwalter`
* [ENH] moving forecaster test params from ``_config`` into classes - all forecasters excluding reduction (:pr:`1902`) :user:`fkiraly`

Transformations
^^^^^^^^^^^^^^^

* [ENH] Lagged window summarizer transformation (:pr:`1924`) :user:`danbartl`

Maintenance
~~~~~~~~~~~

* [MNT] Update wheels CI/CD workflow after dropping C extensions and Cython (:pr:`1972`) :user:`lmmentel`
* [MNT] Rename classification notebooks (:pr:`1980`) :user:`TonyBagnall`
* [MNT] hotfix: scipy upper bound from ``1.8.0`` (:pr:`1995`) :user:`fkiraly`
* [MNT] replace deprecated ``np.str`` and ``np.float`` (:pr:`1997`) :user:`fkiraly`
* [MNT] Remove ``pytest-xdist`` from CI-CD, un-skip `test_multiprocessing_idempotent` (:pr:`2004`) :user:`fkiraly`
* [MNT] Changing function names in datatypes check to lower_snake_case (:pr:`2014`) :user:`chicken-biryani`
* [MNT] verbose output for ``linux`` and ``mac`` tests (:pr:`2045`) :user:`Saransh-cpp`
* [MNT] GitHub Actions: cancel old but running workflows of a PR when pushing again (:pr:`2063`) :user:`RishiKumarRay`

Fixed
~~~~~
* [BUG] remove MrSEQL notebook in docs (:pr:`1974`) :user:`TonyBagnall`
* [BUG] fix import on clustering extension template (:pr:`1978`) :user:`schettino72`
* [BUG] HC2 component bugfixes (:pr:`2020`) :user:`MatthewMiddlehurst`
* [BUG] Fix a bug in ``PeriodIndex`` arithmetic (:pr:`1981`) :user:`khrapovs`
* [BUG] fix conversion of ``nested_univ`` to ``pd-multiindex`` mtype if series have names (:pr:`2000`) :user:`fkiraly`
* [BUG] ``MiniRocket`` to comply with sklearn init specification, fix ``random_state`` modification in ``__init__`` (:pr:`2027`) :user:`fkiraly`
* [BUG] naive forecaster window error (:pr:`2047`) :user:`eenticott-shell`
* [BUG] Fix silent bug in ``ColumnsEnsembleForecaster._predict`` (:pr:`2083`) :user:`aiwalter`

Contributors
~~~~~~~~~~~~

:user:`aiwalter`,
:user:`baggiponte`,
:user:`chicken-biryani`,
:user:`danbartl`,
:user:`eenticott-shell`,
:user:`fkiraly`,
:user:`khrapovs`,
:user:`lmmentel`,
:user:`MatthewMiddlehurst`,
:user:`rakshitha123`,
:user:`RishiKumarRay`,
:user:`Rubiel1`,
:user:`Saransh-cpp`,
:user:`schettino72`,


[0.10.0] - 2022-02-02
---------------------

Highlights
~~~~~~~~~~

* `sktime` now supports python 3.7-3.9. Python 3.6 is no longer supported, due to end of life. Last `sktime` version to support python 3.6 was 0.9.0.
* `sktime` now supports, and requires, `numpy>=1.21.0` and `statsmodels>=0.12.1`
* ``sktime`` now supports python 3.7-3.9. Python 3.6 is no longer supported, due to end of life. Last ``sktime`` version to support python 3.6 was 0.9.0.
* ``sktime`` now supports, and requires, ``numpy>=1.21.0`` and ``statsmodels>=0.12.1``
* overhaul of docs for installation and first-time developers (:pr:`1707`) :user:`amrith-shell`
* all probabilistic forecasters now provide `predict_interval` and `predict_quantiles` interfaces
* all probabilistic forecasters now provide ``predict_interval`` and ``predict_quantiles`` interfaces
(:pr:`1842`, :pr:`1874`, :pr:`1879`, :pr:`1910`, :pr:`1961`) :user:`fkiraly` :user:`k1m190r` :user:`kejsitake`
* new transformation based pipeline classifiers (:pr:`1721`) :user:`MatthewMiddlehurst`
* developer install for `sktime` no longer requires C compilers and `cython` (:pr:`1761`, :pr:`1847`, :pr:`1932`, :pr:`1927`) :user:`TonyBagnall`
* developer install for ``sktime`` no longer requires C compilers and ``cython`` (:pr:`1761`, :pr:`1847`, :pr:`1932`, :pr:`1927`) :user:`TonyBagnall`
* CI/CD moved completely to GitHub actions (:pr:`1620`, :pr:`1920`) :user:`lmmentel`


Dependency changes
~~~~~~~~~~~~~~~~~~
* `sktime` now supports `python` 3.7-3.9 on windows, mac, and unix-based systems
* `sktime` now supports, and requires, `numpy>=1.21.0` and `statsmodels>=0.12.1`
* `sktime` `Prophet` interface now uses `prophet` instead of deprecated `fbprophet`
* developer install for `sktime` no longer requires C compilers and `cython`
* ``sktime`` now supports ``python`` 3.7-3.9 on windows, mac, and unix-based systems
* ``sktime`` now supports, and requires, ``numpy>=1.21.0`` and ``statsmodels>=0.12.1``
* ``sktime`` ``Prophet`` interface now uses ``prophet`` instead of deprecated ``fbprophet``
* developer install for ``sktime`` no longer requires C compilers and ``cython``

Core interface changes
~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -65,8 +160,8 @@ Base interface refactor rolled out to series transformers (:pr:`1790`, :pr:`1795
* ``fit``, ``transform``, ``fit_transform`` now accept both ``Series`` and ``Panel`` as argument
* if ``Panel`` is passed to a series transformer, it is applied to all instances
* all transformers now have signature ``transform(X, y=None)`` and ``inverse_transform(X, y=None)``. This is enforced by the new base interface.
* `Z` (former first argument) aliases `X` until 0.11.0 in series transformers, will then be removed
* `X` (former second argument) was not used in those transformers, was changed to `y`
* ``Z`` (former first argument) aliases ``X`` until 0.11.0 in series transformers, will then be removed
* ``X`` (former second argument) was not used in those transformers, was changed to ``y``
* see transformer base API and transformer extension template

Deprecations and removals
Expand Down
4 changes: 2 additions & 2 deletions docs/source/developer_guide.rst
Expand Up @@ -18,8 +18,8 @@ New developers should:
* install a development version of ``sktime``, see :ref:`installation`
* set up CI tests locally and ensure they know how to check them remotely, see :ref:`continuous_integration`
* get familiar with the git workflow (:ref:`git_workflow`) and coding standards (:ref:`coding_standards`)
* feel free, at any point in time, to post questions on Slack, or ask core developers for help
(see here for a `list of core developers <https://www.sktime.org/en/stable/about/team.html>`_)
* feel free, at any point in time, to post questions on Slack, or ask core developers for help (see here for a `list of core developers <https://www.sktime.org/en/stable/about/team.html>`_)

* feel free to join the collaborative coding sessions for pair programming or getting help on developer set-up

Further special topics are listed below.
Expand Down
2 changes: 1 addition & 1 deletion docs/source/installation.rst
Expand Up @@ -217,7 +217,7 @@ In the ``anaconda prompt`` terminal:
2. :code:`conda install -c conda-forge prophet`
3. :code:`conda install -c conda-forge scipy`

If you fail to satisfy all the requirements see the troubleshooting section.
If you fail to satisfy all the requirements see the `troubleshooting section <https://www.sktime.org/en/stable/installation.html#release-versions-troubleshooting>`_.

5. Build an editable version of sktime :code:`pip install -e .[all_extras,dev]`
6. If everything has worked you should see message "successfully installed sktime"
Expand Down
2 changes: 2 additions & 0 deletions docs/source/related_software.rst
Expand Up @@ -114,6 +114,8 @@ Libraries
- Contains time series preprocessing, transformation as well as classification techniques
* - `ruptures <https://github.com/deepcharles/ruptures>`_
- time series annotation: change point detection, segmentation
* - `salesforce-merlion <https://github.com/salesforce/Merlion/>`_
- Library from salesforce for forecasting, anomaly detection, and change point detection
* - `scikit-fda <https://github.com/GAA-UAM/scikit-fda>`_
- A Python library to perform Functional Data Analysis, compatible with scikit-learn, including representation, preprocessing, exploratory analysis and machine learning methods
* - `scikit-multiflow <https://scikit-multiflow.github.io>`_
Expand Down

0 comments on commit 389772b

Please sign in to comment.