Repository: sktime/sktime

Issue:
[DOC] Fill in missing docstrings
#### Describe the issue linked to the documentation

Our documentation is a bit patchy in some places, filling in the missing information would be a great help! Thanks to @chrisholder for creating the list! 

| File                                                          | Comments                                                                                                                                                             | Github link                                                                                                                                                                                                                                       |
| ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| sktime/benchmarking/data.py                                   | Multiple methods classes <br>undocumented                                                                                                                            | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/data.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/data.py)                                                                |
| sktime/benchmarking/evaluation.py                             | Parameters for constructor and <br>some methods missing                                                                                                              | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/evaluation.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/evaluation.py)                                                    |
| sktime/benchmarking/metrics.py                                | Multiple methods classes <br>undocumented                                                                                                                            | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/metrics.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/metrics.py)                                                          |
| sktime/benchmarking/orchestration.py                          | Multiple methods classes <br>undocumented                                                                                                                            | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/orchestration.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/orchestration.py)                                              |
| sktime/benchmarking/results.py                                | No docstrings                                                                                                                                                        | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/results.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/results.py)                                                          |
| sktime/benchmarking/strategies.py                             | Some docstring exist but couple<br>methods and constructors missing<br>parameter details                                                                             | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/strategies.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/strategies.py)                                                    |
| sktime/classification/base.py                                 | Some docstring exist but couple <br>methods and constructors missing <br>parameter details                                                                           | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/base.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/base.py)                                                            |
| sktime/classification/compose/\_boss.py                       | No docstring for IndividualBOSS                                                                                                                                      | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/dictionary\_based/\_boss.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/dictionary_based/_boss.py)                      |
| sktime/classification/compose/\_tde.py                        | No dcotstring for IndividualTDE                                                                                                                                      | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/dictionary\_based/\_tde.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/dictionary_based/_tde.py)                        |
| sktime/classification/compose/\_weasel.py                     | One or two methods missing <br>docstring                                                                                                                             | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/dictionary\_based/\_weasel.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/dictionary_based/_weasel.py)                  |
| sktime/classification/distance\_based/\_elastice\_ensemble.py | One or two methods missing <br>docstring                                                                                                                             | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/distance\_based/\_elastic\_ensemble.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/distance_based/_elastic_ensemble.py) |
| sktime/classification/distance\_based/\_proximity\_forest.py  | Docstring is not numpy format. <br>Methods have wrong docstring<br>format                                                                                            | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/distance\_based/\_proximity\_forest.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/distance_based/_proximity_forest.py) |
| sktime/classification/interval\_based/\_tsf.py                | Some method missing params <br>docstring                                                                                                                             | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/interval\_based/\_tsf.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/classification/interval_based/_tsf.py)                            |
| sktime/distances/elastic.py                                   | No docstrings                                                                                                                                                        | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/distances/elastic.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/distances/elastic.py)                                                                |
| sktime/distances/elastic\_cython.pyx                          | No docstrings                                                                                                                                                        | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/distances/elastic\_cython.pyx](https://github.com/alan-turing-institute/sktime/blob/master/sktime/distances/elastic_cython.pyx)                                               |
| sktime/forecasting/theta.py                                   | Method update missing docstring                                                                                                                                      | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/theta.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/theta.py)                                                                |
| sktime/forecasting/compose/\_pipeline.py                      | Some docstring but constructor,<br>transform, inver\_transform missing<br>docstring                                                                                  | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/compose/\_pipeline.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/compose/_pipeline.py)                                       |
| sktime/forecasting/compose/\_reduce.py                        | Some docstring but BaseReducer<br>constructor missing docstring                                                                                                      | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/compose/\_reduce.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/compose/_reduce.py)                                           |
| sktime/forecasting/compose/\_stack.py                         | Some docstring but constructor for<br>StackingForecasters missing <br>docstring                                                                                      | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/compose/\_stack.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/compose/_stack.py)                                             |
| sktime/forecasting/model\_selection/\_split.py                | Couple methods and constructors<br>missing docstring                                                                                                                 | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/model\_selection/\_split.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/model_selection/_split.py)                            |
| sktime/forecasting/model\_selection/\_tune.py                 | Some docstring but very limited<br>and many methods missing<br>parameter docstring                                                                                   | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/model\_selection/\_tune.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/forecasting/model_selection/_tune.py)                              |
| sktime/performance\_metrics/forecasting/\_classes.py          | No docstrings                                                                                                                                                        | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/performance\_metrics/forecasting/\_classes.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/performance_metrics/forecasting/_classes.py)                |
| sktime/series\_as\_features/base/estimators/\_ensemble.py     | Some docstring but very limited                                                                                                                                      | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/series\_as\_features/base/estimators/\_ensemble.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/series_as_features/base/estimators/_ensemble.py)       |
| sktime/transformers/panel/compose.py                          | Some docstring but missing a few                                                                                                                                     | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/compose.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/compose.py)                                              |
| sktime/transformers/panel/interpolate.py                      | Missing docstring parameters for<br>constructor                                                                                                                      | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/interpolate.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/interpolate.py)                                      |
| sktime/transformers/panel/matrix\_profile.py                  | Missing docstring parameters for<br>MatrixProfile constructor                                                                                                        | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/matrix\_profile.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/matrix_profile.py)                               |
| sktime/transformers/panel/padder.py                           | Missing docstring parameters for<br>PaddingTransformer constructor                                                                                                   | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/padder.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/padder.py)                                                |
| sktime/transformers/panel/reduce.py                           | Missing docstring parameters for <br>Tabularizer constructor                                                                                                         | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/reduce.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/reduce.py)                                                |
| sktime/transformers/panel/shapelets.py                        | Most of the static methods missing<br>docstring                                                                                                                      | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/shapelets.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/shapelets.py)                                          |
| sktime/transformers/panel/tsfresh.py                          | Docstring complete for methods but<br>all constructors need completing                                                                                               | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/tsfresh.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/tsfresh.py)                                              |
| sktime/transformers/panel/dictionary\_based/\_paa.py          | Docstring for set\_num\_intervals <br>methods needs completing                                                                                                       | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/dictionary\_based/\_paa.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/dictionary_based/_paa.py)                |
| sktime/transformers/panel/dictionary\_based/\_sfa.py          | Docstring for transform method<br>needs doing. Additionally the <br>class methods and static methods<br>need docstrings                                              | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/dictionary\_based/\_sfa.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/dictionary_based/_sfa.py)                |
| sktime/transformers/panel/summarize/\_extract.py              | Docstring for <br>DerivativeSlopeTransformer needs<br>doing                                                                                                          | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/summarize/\_extract.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/panel/summarize/_extract.py)                       |
| sktime/transformers/series/boxcox.py                          | No docstrings                                                                                                                                                        | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/series/boxcox.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/series/boxcox.py)                                              |
| sktime/transformers/series/summarize.py                       | No docstrings                                                                                                                                                        | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/series/summarize.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/transformers/series/summarize.py)                                        |
| sktime/blob/master/sktime/utils/boxcox.py                     | boxcox\_normmax missing docstring                                                                                                                                    | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/utils/boxcox.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/utils/boxcox.py)                                                                          |
| sktime/utils/load\_data.py                                    | load\_from\_arff\_to\_dataframe<br>needs docstring. <br>load\_from\_ucr\_tsv\_to\_dataframe<br>needs docstring.<br>generate\_example\_long\_table<br>needs docstring | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/utils/load\_data.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/utils/load_data.py)                                                                   |
| sktime/utils/validation/forecasting.py                        | check\_step\_length needs<br>docstring. check\_cutoffs<br>needs docstring. check\_scoring<br>needs docstring                                                         | [https://github.com/alan-turing-institute/sktime/blob/master/sktime/utils/validation/forecasting.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/utils/validation/forecasting.py)                                          |


Discussion:
@mloning Hi, I went through the guidelines. I would like to work on this issue. Trying my first PR here. [sktime/benchmarking/data.py](https://github.com/alan-turing-institute/sktime/blob/master/sktime/benchmarking/data.py)

Resolving patch:
diff --git a/sktime/benchmarking/data.py b/sktime/benchmarking/data.py
--- a/sktime/benchmarking/data.py
+++ b/sktime/benchmarking/data.py
@@ -1,19 +1,30 @@
+# -*- coding: utf-8 -*-
 __all__ = ["UEADataset", "RAMDataset", "make_datasets"]
 __author__ = ["Viktor Kazakov", "Markus Löning"]
 
 import os
 
 import pandas as pd
-from sktime.benchmarking.base import BaseDataset
 from sktime.benchmarking.base import HDDBaseDataset
+from sktime.benchmarking.base import BaseDataset
 from sktime.utils.load_data import load_from_tsfile_to_dataframe
 
 
 class UEADataset(HDDBaseDataset):
-
-    def __init__(self, path, name, suffix_train="_TRAIN",
-                 suffix_test="_TEST", fmt=".ts", target_name="target"):
+    """Represent a dataset in UEA/UCR format on the hard-drive"""
+
+    def __init__(
+        self,
+        path,
+        name,
+        suffix_train="_TRAIN",
+        suffix_test="_TEST",
+        fmt=".ts",
+        target_name="target",
+    ):
         super(UEADataset, self).__init__(path, name)
+        # create all the neccesary attributes for UAEDataset object
+        # store a dataset
 
         self._target_name = target_name
         self._suffix_train = suffix_train
@@ -33,44 +44,49 @@ def load(self):
         # load training and test set from separate files
 
         X_train, y_train = load_from_tsfile_to_dataframe(
-            self._train_path,
-            return_separate_X_and_y=True)
+            self._train_path, return_separate_X_and_y=True
+        )
         X_test, y_test = load_from_tsfile_to_dataframe(
-            self._test_path,
-            return_separate_X_and_y=True)
+            self._test_path, return_separate_X_and_y=True
+        )
 
         # combine into single dataframe
         data_train = pd.concat([X_train, pd.Series(y_train)], axis=1)
         data_test = pd.concat([X_test, pd.Series(y_test)], axis=1)
 
         # rename target variable
-        data_train.rename(columns={data_train.columns[-1]: self._target_name},
-                          inplace=True)
-        data_test.rename(columns={data_test.columns[-1]: self._target_name},
-                         inplace=True)
+        data_train.rename(
+            columns={data_train.columns[-1]: self._target_name}, inplace=True
+        )
+        data_test.rename(
+            columns={data_test.columns[-1]: self._target_name}, inplace=True
+        )
 
         # concatenate the two dataframes, keeping training and test split in
         # index, necessary for later optional CV
-        data = pd.concat([data_train, data_test], axis=0,
-                         keys=["train", "test"]).reset_index(level=1,
-                                                             drop=True)
+        data = pd.concat(
+            [data_train, data_test], axis=0, keys=["train", "test"]
+        ).reset_index(level=1, drop=True)
 
         return data
 
 
 class RAMDataset(BaseDataset):
+    """Represent a dataset in RAM"""
 
     def __init__(self, dataset, name):
         """
         Container for storing a dataset in memory
         """
         if not isinstance(dataset, pd.DataFrame):
-            raise ValueError(f"Dataset must be pandas DataFrame, but found: "
-                             f"{type(dataset)}")
+            raise ValueError(
+                f"Dataset must be pandas DataFrame, but found: " f"{type(dataset)}"
+            )
         self._dataset = dataset
         super(RAMDataset, self).__init__(name=name)
 
     def load(self):
+        """Load dataset"""
         return self._dataset
 
 


Test patch: