Skip to content

Commit

Permalink
Merge branch 'main' into multivariate-compositor
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Walter committed Aug 11, 2021
2 parents e2ec24c + 82172b5 commit e9ac82f
Show file tree
Hide file tree
Showing 135 changed files with 5,275 additions and 3,446 deletions.
50 changes: 47 additions & 3 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -1053,7 +1053,7 @@
"contributions": [
"code",
"bug",
"test",
"test"
]
},
{
Expand All @@ -1071,7 +1071,7 @@
"avatar_url": "https://https://avatars.githubusercontent.com/jambo6",
"profile": "https://github.com/jambo6",
"contributions": [
"code",
"code"
]
},
{
Expand All @@ -1091,7 +1091,7 @@
"contributions": [
"code"
]
}
},
{
"login": "ltoniazzi",
"name": "Lorenzo Toniazzi",
Expand All @@ -1100,6 +1100,50 @@
"contributions": [
"code"
]
},
{
"login": "Riyabelle25",
"name": "Riya Elizabeth John",
"avatar_url": "https://avatars.githubusercontent.com/u/55790848?v=4",
"profile": "https://github.com/Riyabelle25",
"contributions": [
"code",
"test",
"doc"
]
},
{
"login": "chrisholder",
"name": "chrisholder",
"avatar_url": "https://avatars.githubusercontent.com/u/4674372?v=4",
"profile": "https://github.com/chrisholder",
"contributions": [
"code",
"test",
"doc",
"design",
"example"
]
},
{
"login": "moradabaz",
"name": "Morad :)",
"avatar_url": "https://avatars.githubusercontent.com/u/29915156?v=4",
"profile": "https://moradisten.github.io/",
"contributions": [
"code",
"test",
"doc"
]
},
{
"login": "bilal-196",
"name": "Ahmed Bilal",
"avatar_url": "https://avatars.githubusercontent.com/u/74570044?v=4",
"profile": "https://github.com/bilal-196",
"contributions": [
"doc"
]
}
],
"projectName": "sktime",
Expand Down
2 changes: 1 addition & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ environment:
MINICONDA_VERSION: C:\Miniconda36-x64
- PYTHON_VERSION: "3.7"
MINICONDA_VERSION: C:\Miniconda37-x64
- PYTHON_VERSION: "3.8"
- PYTHON_VERSION: "3.8.10"
MINICONDA_VERSION: C:\Miniconda38-x64
# For Python 3.8, we need a different image, check out available pre-installed Python
# and Visual Studio versions: https://www.appveyor.com/docs/linux-images-software/
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
---
name: "\u2728 Feature request"
about: Suggest an idea for this project
title: ''
title: '[ENH]'
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is.
A clear and concise description of what the problem is.

**Describe the solution you'd like**
A clear and concise description of what you want to happen, ideally taking into consideration the existing toolbox design, classes and methods.
A clear and concise description of what you want to happen, ideally taking into consideration the existing toolbox design, classes and methods.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
Expand Down
5 changes: 4 additions & 1 deletion CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,16 @@
sktime/classification/dictionary_based/ @patrickzib @MatthewMiddlehurst @TonyBagnall
sktime/classification/dictionary_based/tests/ @patrickzib @MatthewMiddlehurst
sktime/classification/distance_based/ @jasonlines @goaster @TonyBagnall
sktime/classification/feature_based/ @MatthewMiddlehurst @TonyBagnall
sktime/classification/feature_based/tests/ @MatthewMiddlehurst
sktime/classification/feature_based/_signature_classifier.py @jambo6
sktime/classification/hybrid/ @MatthewMiddlehurst @TonyBagnall
sktime/classification/hybrid/tests/ @MatthewMiddlehurst
sktime/classification/interval_based/ @MatthewMiddlehurst @TonyBagnall
sktime/classification/interval_based/tests/ @MatthewMiddlehurst
sktime/classification/kernel_based/ @MatthewMiddlehurst @TonyBagnall
sktime/classification/kernel_based/tests/ @MatthewMiddlehurst
sktime/classification/shapelet_based/ @jasonlines @ABostrom @TonyBagnall
sktime/classification/signature_based/ @jambo6

sktime/transformations/panel/dictionary_based/ @patrickzib @MatthewMiddlehurst
sktime/transformations/panel/shapelets/ @jasonlines @ABostrom @TonyBagnall
Expand Down
47 changes: 28 additions & 19 deletions CONTRIBUTORS.md

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,13 +103,25 @@ Using pip, sktime releases are available as source packages and binary wheels. Y
pip install sktime
```

or, with maximum dependencies,

```bash
pip install sktime[all_extras]
```

### conda
You can also install sktime from `conda` via the `conda-forge` channel. For the feedstock including the build recipe and configuration, check out [this repository](https://github.com/conda-forge/sktime-feedstock).

```bash
conda install -c conda-forge sktime
```

or, with maximum dependencies,

```bash
conda install -c conda-forge sktime-all-extras
```

## :zap: Quickstart

### Forecasting
Expand Down
19 changes: 12 additions & 7 deletions build_tools/azure/check_soft_dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,32 @@
# -*- coding: utf-8 -*-
# copyright: sktime developers, BSD-3-Clause License (see LICENSE file)

# sktime supports a number of soft dependencies which are necessary for using
# a certain module but otherwise not necessary. Here we check if soft
# dependencies have been properly isolated and are not required to run other
# modules.
"""
sktime checks for soft dependencies.
sktime supports a number of soft dependencies which are necessary for using
a certain module but otherwise not necessary. Here we check if soft
dependencies have been properly isolated and are not required to run other
modules.
"""

import pkgutil
import re
from importlib import import_module

SOFT_DEPENDENCIES = {
"sktime.benchmarking.evaluation": ["matplotlib"],
"sktime.benchmarking.experiments": ["tsfresh", "esig"],
"sktime.forecasting.all": ["pmdarima", "fbprophet", "tbats"],
"sktime.forecasting.arima": ["pmdarima"],
"sktime.forecasting.hcrystalball": ["hcrystalball"],
"sktime.forecasting.tbats": ["tbats"],
"sktime.forecasting.bats": ["tbats"],
"sktime.forecasting.fbprophet": ["fbprophet"],
"sktime.classification.all": ["tsfresh"],
"sktime.regression.all": ["tsfresh"],
"sktime.classification.feature_based": ["tsfresh", "esig"],
"sktime.classification.signature_based": ["esig"],
"sktime.transformations.panel.tsfresh": ["tsfresh"],
"sktime.transformations.series.matrix_profile": ["stumpy"],
"sktime.classification.signature_based": ["esig"],
"sktime.transformations.panel.signature_based": ["esig"],
"sktime.clustering.evaluation._plot_clustering": ["matplotlib"],
}
Expand Down
1 change: 1 addition & 0 deletions docs/source/api_reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ This is the class and function reference for ``sktime``.
.. include:: api_reference/regression.rst
.. include:: api_reference/series_as_features.rst
.. include:: api_reference/forecasting.rst
.. include:: api_reference/annotation.rst
.. include:: api_reference/transformations.rst
.. include:: api_reference/performance_metrics.rst
.. include:: api_reference/datasets.rst
Expand Down
21 changes: 21 additions & 0 deletions docs/source/api_reference/annotation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
.. _annotation_ref:

sktime.annotation: Time series annotation
=========================================

The :mod:`sktime.annotation` module contains algorithms and composition tools
for time series annotation (for example, anomaly or outlier detection).

.. automodule:: sktime.annotation
:no-members:

Adapters
--------

.. currentmodule:: sktime.annotation.adapters

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

PyODAnnotator
9 changes: 7 additions & 2 deletions docs/source/api_reference/classification.rst
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ Interval-based
TimeSeriesForestClassifier
RandomIntervalSpectralForest
SupervisedTimeSeriesForest
CanonicalIntervalForest
DrCIF

Shapelet-based
--------------
Expand All @@ -99,13 +101,16 @@ Kernel-based
ROCKETClassifier
Arsenal

Signature-based
Feature-based
---------------

.. currentmodule:: sktime.classification.signature_based
.. currentmodule:: sktime.classification.feature_based

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

Catch22Classifier
MatrixProfileClassifier
TSFreshClassifier
SignatureClassifier
2 changes: 1 addition & 1 deletion docs/source/api_reference/utils.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Plotting
Data Processing
---------------

.. currentmodule:: sktime.utils.data_processing
.. currentmodule:: sktime.datatypes._panel._convert

.. autosummary::
:toctree: modules/auto_generated/
Expand Down
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ def find_source():
def _make_estimator_overview(app):
"""Make estimator overview table."""
import pandas as pd
from sktime.utils import all_estimators
from sktime.registry import all_estimators

def _process_author_info(author_info):
"""
Expand Down
4 changes: 2 additions & 2 deletions docs/source/developer_guide/add_dataset.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
.. _developer_guide_forecasting:

Adding Datasets to sktime
===========
=========================
Follow these steps to add a new dataset to sktime:

* Include CSV file or supported other format under :code:`sktime/datasets/data/<dataset-name>`
* Add :code:`load_<dataset-name>(...)` function in file :code:`sktime/datasets/base.py`
* Add :code:`<dataset-name>` to the list :code:`__all__ = [...` in file :code:`sktime/datasets/__init__.py`
* Add :code:`<dataset-name>` as argument to method :code:`included_datasets = (...` in file :code:`sktime/sktime/datasets/setup.py`
* Add import statement :code:`from sktime.datasets.base import load_<dataset-name>(...)` in file :code:`sktime/sktime/datasets/setup.py`
* Add :code:`<dataset-name>` to the list of included problems in file :code:`sktime/sktime/datasets/setup.py`

Thank you for your contribution!
21 changes: 19 additions & 2 deletions docs/source/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,15 @@ They can be installed via ``conda`` using:
This will install ``sktime`` with core dependencies, excluding soft dependencies.

Currently, there is no easy route to install ``sktime`` with maximum dependencies via ``conda``.
To install ``sktime`` with maximum dependencies, including soft dependencies, install with the ``all-extras`` recipe:

Community contributions towards this, e.g., via conda metapackages, would be appreciated.
.. code-block:: bash
conda install -c conda-forge sktime-all-extras
Note: currently this does not include dependencies ``catch-22``, ``pmdarima``, and ``tbats``.
As these packages are not available on ``conda-forge``, they must be installed via ``pip`` if desired.
Contributions to remedy this situation are appreciated.


Release versions - troubleshooting
Expand Down Expand Up @@ -277,6 +283,17 @@ Then you need to set the following environment variables:
Finally you can build the package using the standard command.

Troubleshooting - Mac OSX build requirements
""""""""""""""""""""""""""""""""""""""""""""

After installing the release version following the installation steps above and running a ``pytest`` command, some contributors received the error message below:

``E ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject``

A possible solution to the problem is reinstalling your C compiler. If it is gcc, run ``brew reinstall gcc`` and then ``pip install -e .``.
This should be followed by installing the OpenMP library and setting the environment variables using the same commands again as in the section above.

If you found another solution to the problem, please kindly consider contributing to this section.

Unix-like OS
~~~~~~~~~~~~
Expand Down

0 comments on commit e9ac82f

Please sign in to comment.