Skip to content

Commit

Permalink
Merge branch 'release/0.6.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
vnmabus committed Dec 23, 2021
2 parents 3aedb62 + e5adb5b commit cb4e443
Show file tree
Hide file tree
Showing 94 changed files with 5,401 additions and 2,197 deletions.
47 changes: 47 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
'creators': [
{
'affiliation': 'Universidad Autónoma de Madrid',
'name': 'Ramos-Carreño, Carlos',
'orcid': '0000-0003-2566-7058'
},
{
'affiliation': 'Universidad Autónoma de Madrid',
'name': 'Suárez, Alberto',
'orcid': '0000-0003-4534-0909'
},
{
'affiliation': 'Universidad Autónoma de Madrid',
'name': 'Torrecilla, José Luis',
'orcid': '0000-0003-3719-5190'
},
{
'name': 'Carbajo Berrocal, Miguel'
},
{
'name': 'Marcos Manchón, Pablo'
},
{
'name': 'Pérez Manso, Pablo'
},
{
'name': 'Hernando Bernabé, Amanda'
},
{
'name': 'García Fernández, David'
},
{
'name': 'Hong, Yujian'
},
{
'name': 'Rodríguez-Ponga Eyriès, Pedro Martín'
},
{
'name': 'Sánchez Romero, Álvaro'
},
{
'name': 'Petrunina, Elena'
}
],
'license': 'BSD 3-Clause License',
}
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.6
0.6.1
7 changes: 4 additions & 3 deletions docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,14 @@ clean:
rm -rf modules/autosummary
rm -rf modules/exploratory/visualization/autosummary
rm -rf modules/exploratory/autosummary
rm -rf modules/inference/autosummary
rm -rf modules/math/autosummary
rm -rf modules/preprocessing/autosummary
rm -rf modules/representation/autosummary
rm -rf modules/misc/autosummary
rm -rf modules/ml/autosummary
rm -rf modules/ml/clustering/autosummary
rm -rf modules/inference/autosummary
rm -rf modules/preprocessing/autosummary
rm -rf modules/preprocessing/dim_reduction/autosummary
rm -rf modules/representation/autosummary
rm -rf backreferences

.PHONY: html
Expand Down
8 changes: 8 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import os
import sys
import warnings

import pkg_resources
# -- Extensions to the Napoleon GoogleDocstring class ---------------------
Expand Down Expand Up @@ -274,6 +275,13 @@ def __call__(self, filename: str) -> str:
'within_subsection_order': SkfdaExplicitSubOrder,
}

warnings.filterwarnings(
"ignore",
category=UserWarning,
message='Matplotlib is currently using agg, which is a'
' non-GUI backend, so cannot show the figure.',
)

autosummary_generate = True
autodoc_typehints = "description"
napoleon_use_rtype = True
Expand Down
13 changes: 7 additions & 6 deletions docs/modules/exploratory/outliers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ identify the outliers.
Each of the outlier detection methods in scikit-fda has the same API as the outlier detection methods of
`scikit-learn <https://scikit-learn.org/stable/modules/outlier_detection.html>`_.

Interquartile Range Outlier Detector
------------------------------------
Boxplot Outlier Detector
------------------------

One of the most common ways of outlier detection is given by the functional data boxplot. An observation is marked
as an outlier if it has points :math:`1.5 \cdot IQR` times outside the region containing the deepest 50% of the curves
Expand All @@ -20,19 +20,20 @@ as an outlier if it has points :math:`1.5 \cdot IQR` times outside the region co
.. autosummary::
:toctree: autosummary

skfda.exploratory.outliers.IQROutlierDetector
skfda.exploratory.outliers.BoxplotOutlierDetector


DirectionalOutlierDetector
MSPlotOutlierDetector
--------------------------

Other more novel way of outlier detection takes into account the magnitude and shape of the curves. Curves which have
Other more novel way of outlier detection is the one presented in the Magnitude-Shape plot, or
MS-plot. It takes into account the magnitude and shape of the curves. Curves which have
a very different shape or magnitude are considered outliers.

.. autosummary::
:toctree: autosummary

skfda.exploratory.outliers.DirectionalOutlierDetector
skfda.exploratory.outliers.MSPlotOutlierDetector

For this method, it is necessary to compute the mean and variation of the directional outlyingness, which can be done
with the following function.
Expand Down
1 change: 1 addition & 0 deletions docs/modules/exploratory/stats.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ measure of the location or central tendency of :term:`functional data`.
skfda.exploratory.stats.trim_mean
skfda.exploratory.stats.depth_based_median
skfda.exploratory.stats.geometric_median
skfda.exploratory.stats.fisher_rao_karcher_mean

Dispersion
----------
Expand Down
45 changes: 45 additions & 0 deletions docs/modules/misc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,54 @@ Miscellaneous

Miscellaneous functions and objects.

This module groups classes and functions useful to work with functional data
but which do not belong to other categories.

Mathematical operations
-----------------------

Some math operations between functional data objects are directly available
in this module.
The most important ones are the ones that efficiently compute the inner
product between functions:

.. autosummary::
:toctree: autosummary

skfda.misc.inner_product
skfda.misc.inner_product_matrix

A concept related with the inner product is that of the cosine similarity
between functions:

.. autosummary::
:toctree: autosummary

skfda.misc.cosine_similarity
skfda.misc.cosine_similarity_matrix

Submodules
----------

In addition the following modules provide useful functionality to work with
functional data:

- :doc:`misc/covariances`: Contains covariance functions to use with
and :func:`~skfda.datasets.make_gaussian_process`
- :doc:`misc/metrics`: Contains functional data metrics, suitable to being
used with several metric-based machine-learning tools.
- :doc:`misc/operators`: Contains operators, or functions over functions.
- :doc:`misc/regularization`: Contains regularization functions, usable in
contexts such as
:class:`linear regression <skfda.ml.regression.LinearRegression>`,
:class:`FPCA <skfda.preprocessing.dim_reduction.feature_extraction.FPCA>`,
or :class:`basis smoothing <skfda.preprocessing.smoothing.BasisSmoother>`.


.. toctree::
:maxdepth: 4
:caption: Modules:
:hidden:

misc/covariances
misc/metrics
Expand Down
1 change: 1 addition & 0 deletions docs/modules/misc/covariances.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ processes. These functions can be used as covariances in
skfda.misc.covariances.Gaussian
skfda.misc.covariances.Linear
skfda.misc.covariances.Polynomial
skfda.misc.covariances.Matern
skfda.misc.covariances.WhiteNoise
29 changes: 26 additions & 3 deletions docs/modules/misc/metrics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,18 @@ value of ``p`` must be explicitly passed in each call.

skfda.misc.metrics.lp_norm
skfda.misc.metrics.lp_distance

Angular distance
----------------

The angular distance (using the normalized "angle" between functions given
by the inner product) is also available, and useful in some contexts.

.. autosummary::
:toctree: autosummary

skfda.misc.metrics.angular_distance


Elastic distances
-----------------
Expand All @@ -45,9 +57,8 @@ analysis and registration of functional data.
:toctree: autosummary

skfda.misc.metrics.fisher_rao_distance
skfda.misc.metrics.amplitude_distance
skfda.misc.metrics.phase_distance
skfda.misc.metrics.warping_distance
skfda.misc.metrics.fisher_rao_amplitude_distance
skfda.misc.metrics.fisher_rao_phase_distance


Metric induced by a norm
Expand Down Expand Up @@ -75,3 +86,15 @@ of objets. The following class can compute that efficiently:
:toctree: autosummary

skfda.misc.metrics.PairwiseMetric


Transformation metric
---------------------

Some metrics, such as those based in derivatives, can be expressed as a
transformation followed by another metric:

.. autosummary::
:toctree: autosummary

skfda.misc.metrics.TransformationMetric
3 changes: 2 additions & 1 deletion docs/modules/misc/operators.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ The operators that are linear can also be used in the context of
:toctree: autosummary

skfda.misc.operators.Identity
skfda.misc.operators.LinearDifferentialOperator
skfda.misc.operators.LinearDifferentialOperator
skfda.misc.operators.SRSF
22 changes: 21 additions & 1 deletion docs/modules/ml/classification.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ Classification

Module with classes to perform classification of functional data.


Nearest Neighbors
-----------------

Expand All @@ -21,8 +20,29 @@ it is explained the basic usage of these estimators.

skfda.ml.classification.KNeighborsClassifier
skfda.ml.classification.RadiusNeighborsClassifier

Nearest Centroid
----------------

This module contains `nearest centroid
<https://en.wikipedia.org/wiki/Nearest_centroid_classifier>`_ estimators to
perform classification.

.. autosummary::
:toctree: autosummary

skfda.ml.classification.NearestCentroid
skfda.ml.classification.DTMClassifier


Depth
-----

This module contains depth based estimators to perform classification.

.. autosummary::
:toctree: autosummary

skfda.ml.classification.DDClassifier
skfda.ml.classification.DDGClassifier
skfda.ml.classification.MaximumDepthClassifier
2 changes: 1 addition & 1 deletion docs/modules/ml/clustering.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ clusters given a metric between their elements, in order to cluster together
elements that are close from each other. This is repeated until a desired
number of clusters is obtained. The resulting hierarchy of clusters can be
represented as a tree, called a dendogram. The following hierarchical
clusterings are supported:
clusterings are supported:

.. autosummary::
:toctree: autosummary
Expand Down
21 changes: 11 additions & 10 deletions docs/modules/preprocessing/dim_reduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,24 @@ following:
skfda.preprocessing.dim_reduction.variable_selection.MaximaHunting
skfda.preprocessing.dim_reduction.variable_selection.RecursiveMaximaHunting
skfda.preprocessing.dim_reduction.variable_selection.RKHSVariableSelection

skfda.preprocessing.dim_reduction.variable_selection.MinimumRedundancyMaximumRelevance

.. toctree::
:hidden:
:maxdepth: 4
:caption: Modules:

dim_reduction/recursive_maxima_hunting

Projection
----------
Another way to reduce the dimension is through projection. For example, in
functional principal component analysis, we project the data samples
into a smaller sample of functions that preserve the maximum sample
Feature extraction
------------------
Other dimensionality reduction methods construct new features from
existing ones. For example, in functional principal component
analysis, we project the data samples into a smaller sample of
functions that preserve most of the original
variance.

.. toctree::
:maxdepth: 4
:caption: Modules:
.. autosummary::
:toctree: autosummary

dim_reduction/fpca
skfda.preprocessing.dim_reduction.feature_extraction.FPCA
2 changes: 1 addition & 1 deletion docs/modules/preprocessing/dim_reduction/fpca.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ FPCA for functional data in both representations
.. autosummary::
:toctree: autosummary

skfda.preprocessing.dim_reduction.projection.FPCA
skfda.preprocessing.dim_reduction.feature_extraction.FPCA
22 changes: 5 additions & 17 deletions docs/modules/preprocessing/registration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ is shown the basic usage of this method.
.. autosummary::
:toctree: autosummary

skfda.preprocessing.registration.ShiftRegistration
skfda.preprocessing.registration.LeastSquaresShiftRegistration


Landmark Registration
Expand All @@ -36,7 +36,7 @@ by performing a translation in the time scale. See the
.. autosummary::
:toctree: autosummary

skfda.preprocessing.registration.landmark_shift
skfda.preprocessing.registration.landmark_shift_registration
skfda.preprocessing.registration.landmark_shift_deltas


Expand All @@ -47,8 +47,8 @@ See the :ref:`sphx_glr_auto_examples_plot_landmark_registration.py` example.
.. autosummary::
:toctree: autosummary

skfda.preprocessing.registration.landmark_registration
skfda.preprocessing.registration.landmark_registration_warping
skfda.preprocessing.registration.landmark_elastic_registration
skfda.preprocessing.registration.landmark_elastic_registration_warping


Elastic Registration
Expand All @@ -64,19 +64,7 @@ introduction to this topic along the usage of the corresponding functions.
.. autosummary::
:toctree: autosummary

skfda.preprocessing.registration.ElasticRegistration


The module contains some routines related with the elastic registration, making
a transformation of the sampling, computing different means or distances based
on the elastic framework.

.. autosummary::
:toctree: autosummary

skfda.preprocessing.registration.elastic.elastic_mean
skfda.preprocessing.registration.elastic.warping_mean
skfda.preprocessing.registration.elastic.SRSF
skfda.preprocessing.registration.FisherRaoElasticRegistration


Validation
Expand Down
Loading

0 comments on commit cb4e443

Please sign in to comment.