scikit-fda

Functional Data Analysis Python package

https://github.com/gaa-uam/scikit-fda

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.5%) to scientific vocabulary

Keywords

alignment classification clustering curves dimensionality-reduction functional-data-analysis functions machine-learning python python3 registration regression scikits smoothing statistics visualization
Last synced: 4 months ago · JSON representation ·

Repository

Functional Data Analysis Python package

Basic Info
  • Host: GitHub
  • Owner: GAA-UAM
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: develop
  • Homepage: https://fda.readthedocs.io
  • Size: 12.6 MB
Statistics
  • Stars: 332
  • Watchers: 8
  • Forks: 63
  • Open Issues: 83
  • Releases: 13
Topics
alignment classification clustering curves dimensionality-reduction functional-data-analysis functions machine-learning python python3 registration regression scikits smoothing statistics visualization
Created over 8 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.rst

.. image:: https://raw.githubusercontent.com/GAA-UAM/scikit-fda/develop/docs/logos/title_logo/title_logo.png
	:alt: scikit-fda: Functional Data Analysis in Python

scikit-fda: Functional Data Analysis in Python
==============================================

|build-status| |docs| |Codecov| |repostatus| |versions| |PyPIBadge| |conda| |license| |doi|

Functional Data Analysis, or FDA, is the field of Statistics that analyses
data that depend on a continuous parameter.

This package offers classes, methods and functions to give support to FDA
in Python. Includes a wide range of utils to work with functional data, and its
representation, exploratory analysis, or preprocessing, among other tasks
such as inference, classification, regression or clustering of functional data.
See documentation for further information on the features included in the
package.

Documentation
=============

The documentation is available at
`fda.readthedocs.io/en/stable/ `_, which
includes detailed information of the different modules, classes and methods of
the package, along with several examples_ showing different functionalities.

The documentation of the latest version, corresponding with the develop
version of the package, can be found at
`fda.readthedocs.io/en/latest/ `_.

How do I start?
===============

If you want a quick overview of the package, we recommend you to try the
new :doc:`tutorial `. For articles about specific
topics, feel free to explore the :doc:`examples `. Want
to check the documentation of a particular class or function? Try searching
for it in the :doc:`API list `.

Installation
============

Currently, *scikit-fda* is available in Python versions above 3.8, regardless of the
platform.
The stable version can be installed via PyPI_:

.. code::

    pip install scikit-fda

It is also available from conda-forge_:

.. code::

    conda install -c conda-forge scikit-fda

Installation from source
------------------------

It is possible to install the latest version of the package, available in the
develop branch,  by cloning this repository and doing a manual installation.

.. code:: bash

    git clone https://github.com/GAA-UAM/scikit-fda.git
    pip install ./scikit-fda

Make sure that your default Python version is currently supported, or change
the python and pip commands by specifying a version, such as ``python3.8``:

.. code:: bash

    git clone https://github.com/GAA-UAM/scikit-fda.git
    python3.8 -m pip install ./scikit-fda

Requirements
------------
*scikit-fda* depends on the following packages:

* `fdasrsf `_ - SRSF framework
* `findiff `_ - Finite differences
* `matplotlib `_ - Plotting with Python
* `multimethod `_ - Multiple dispatch
* `numpy `_ - The fundamental package for scientific computing with Python
* `pandas `_ - Powerful Python data analysis toolkit
* `rdata `_ - Reader of R datasets in .rda format in Python
* `scikit-datasets `_ - Scikit-learn compatible datasets
* `scikit-learn `_ - Machine learning in Python
* `scipy `_ - Scientific computation in Python
* `setuptools `_ - Python Packaging

The dependencies are automatically installed.

Citing scikit-fda
=================

Please, if you find this software useful in your work, reference it citing the following paper:

.. code-block::

  @article{ramos-carreno++_2024_scikit-fda,
    author = {Ramos-Carreño, Carlos and Torrecilla, José L. and Carbajo Berrocal, Miguel and Marcos Manchón, Pablo and Suárez, Alberto},
    doi = {10.18637/jss.v109.i02},
    journal = {Journal of Statistical Software},
    month = may,
    number = {2},
    pages = {1--37},
    title = {{scikit-fda: A Python Package for Functional Data Analysis}},
    url = {https://www.jstatsoft.org/article/view/v109i02},
    volume = {109},
    year = {2024}
  }


You can additionally cite the software repository itself using:

.. code-block::

  @misc{ramos-carreno++_2024_scikit-fda-repo,
    author = {The scikit-fda developers},
    doi = {10.5281/zenodo.3468127},
    month = feb,
    title = {scikit-fda: Functional Data Analysis in Python},
    url = {https://github.com/GAA-UAM/scikit-fda},
    year = {2024}
  }

If you want to reference a particular version for reproducibility, check the version-specific DOIs available in Zenodo.

Contributions
=============
All contributions are welcome. You can help this project grow in multiple ways,
from creating an issue, reporting an improvement or a bug, to doing a
repository fork and creating a pull request to the development branch.

The people involved at some point in the development of the package can be
found in the `contributors
file `_.

License
=======

The package is licensed under the BSD 3-Clause License. A copy of the
license_ can be found along with the code.

.. _examples: https://fda.readthedocs.io/en/latest/auto_examples/index.html
.. _PyPI: https://pypi.org/project/scikit-fda/
.. _conda-forge: https://anaconda.org/conda-forge/scikit-fda/

.. |build-status| image:: https://github.com/GAA-UAM/scikit-fda/actions/workflows/tests.yml/badge.svg?event=push
    :alt: Build status
    :target: https://github.com/GAA-UAM/scikit-fda/actions/workflows/tests.yml

.. |docs| image:: https://readthedocs.org/projects/fda/badge/?version=latest
    :alt: Documentation Status
    :target: http://fda.readthedocs.io/en/latest/?badge=latest

.. |Codecov| image:: https://codecov.io/gh/GAA-UAM/scikit-fda/branch/develop/graph/badge.svg
    :alt: Code coverage through Codecov
    :target: https://app.codecov.io/gh/GAA-UAM/scikit-fda

.. |repostatus| image:: https://www.repostatus.org/badges/latest/active.svg
   :alt: Project Status: Active - The project has reached a stable, usable state and is being actively developed.
   :target: https://www.repostatus.org/#active
   
.. |versions| image:: https://img.shields.io/pypi/pyversions/scikit-fda
   :alt: PyPI - Python versions supported

.. |PyPIBadge| image:: https://badge.fury.io/py/scikit-fda.svg
   :alt: Available in Pypi
   :target: https://pypi.org/project/scikit-fda

.. |conda| image:: https://img.shields.io/conda/vn/conda-forge/scikit-fda
    :alt: Available in Conda
    :target: https://anaconda.org/conda-forge/scikit-fda

.. |license| image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg
    :alt: BSD 3-Clause license
    :target: https://github.com/GAA-UAM/scikit-fda/blob/develop/LICENSE.txt

.. |doi| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3468127.svg
    :alt: Available in Zenodo
    :target: https://doi.org/10.5281/zenodo.3468127

Acknowledgements
================

The project has received financial support from projects PID2019-109387GB-I00,
PID2019-106827GB-I00, and PID2022-139856NB-I00, funded by
MCIN/ AEI / 10.13039/501100011033 / FEDER, UE,
project IDEA-CM (TEC-2024/COM-89) from the Autonomous Community of Madrid,
and from the ELLIS Unit Madrid.  The authors acknowledge computational support
from the Centro de Computación Científica-Universidad Autónoma de Madrid
(CCC-UAM).

Owner

  • Name: Grupo de Aprendizaje Automático - Universidad Autónoma de Madrid
  • Login: GAA-UAM
  • Kind: organization
  • Location: Madrid, Spain

Machine Learning Group at Universidad Autónoma de Madrid

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Ramos-Carreño"
    given-names: "Carlos"
    orcid: "https://orcid.org/0000-0003-2566-7058"
    affiliation: "Universidad Autónoma de Madrid"
    email: vnmabus@gmail.com
  - family-names: "Suárez"
    given-names: "Alberto"
    orcid: "https://orcid.org/0000-0003-4534-0909"
    affiliation: "Universidad Autónoma de Madrid"
  - family-names: "Torrecilla"
    given-names: "José Luis"
    orcid: "https://orcid.org/0000-0003-3719-5190"
    affiliation: "Universidad Autónoma de Madrid"
  - family-names: "Carbajo Berrocal"
    given-names: "Miguel"
  - family-names: "Marcos Manchón"
    given-names: "Pablo"
  - family-names: "Pérez Manso"
    given-names: "Pablo"
  - family-names: "Hernando Bernabé"
    given-names: "Amanda"
  - family-names: "García Fernández"
    given-names: "David"
  - family-names: "Hong"
    given-names: "Yujian"
  - family-names: "Rodríguez-Ponga Eyriès"
    given-names: "Pedro Martín"
  - family-names: "Sánchez Romero"
    given-names: "Álvaro"
  - family-names: "Petrunina"
    given-names: "Elena"
  - family-names: "Castillo"
    given-names: "Álvaro"
  - family-names: "Serna"
    given-names: "Diego"
  - family-names: "Hidalgo"
    given-names: "Rafael"
  - family-names: "del Val"
    given-names: "David"
  - family-names: "Sánchez Signorini"
    given-names: "Martín"
  - family-names: "Pinto"
    given-names: "Óscar"
  - family-names: "Cuesta Sierra"
    given-names: "Pablo"
  - family-names: "Soto Martín"
    given-names: "Pablo"
  - family-names: "Terres Caballero"
    given-names: "Eduardo"
title: "GAA-UAM/scikit-fda: Functional Data Analysis in Python"
doi: 10.5281/zenodo.3468127
date-released: 2019-10-01
url: "https://github.com/GAA-UAM/scikit-fda"
license: BSD-3-Clause
keywords:
  - functional data analysis
  - machine learning
  - Python
  - scikit
identifiers:
  - description: "This is the collection of archived snapshots of all versions of scikit-fda"
    type: doi
    value: 10.5281/zenodo.3468127
  - description: "This is the archived snapshot of version 0.3 of scikit-fda"
    type: doi
    value: 10.5281/zenodo.3468128
  - description: "This is the archived snapshot of version 0.4 of scikit-fda"
    type: doi
    value: 10.5281/zenodo.3957915
  - description: "This is the archived snapshot of version 0.5 of scikit-fda"
    type: doi
    value: 10.5281/zenodo.4406983
  - description: "This is the archived snapshot of version 0.6 of scikit-fda"
    type: doi
    value: 10.5281/zenodo.5502108
  - description: "This is the archived snapshot of version 0.7.1 of scikit-fda"
    type: doi
    value: 10.5281/zenodo.5903557
preferred-citation:
  type: article
  title: "scikit-fda: A Python Package for Functional Data Analysis"
  authors:
    - family-names: "Ramos-Carreño"
      given-names: "Carlos"
      orcid: "https://orcid.org/0000-0003-2566-7058"
      affiliation: "Universidad Autónoma de Madrid"
      email: vnmabus@gmail.com
    - family-names: "Torrecilla"
      given-names: "José L."
      orcid: "https://orcid.org/0000-0003-3719-5190"
      affiliation: "Universidad Autónoma de Madrid"
      email: joseluis.torrecilla@uam.es
    - family-names: "Carbajo Berrocal"
      given-names: "Miguel"
    - family-names: "Marcos Manchón"
      given-names: "Pablo"
    - family-names: "Suárez"
      given-names: "Alberto"
      orcid: "https://orcid.org/0000-0003-4534-0909"
      affiliation: "Universidad Autónoma de Madrid"
  date-published: 2024-05-08
  abstract: "The library scikit-fda is a Python package for functional data analysis (FDA). It provides a comprehensive set of tools for representation, preprocessing, and exploratory analysis of functional data. The library is built upon and integrated in Python's scientific ecosystem. In particular, it conforms to the scikit-learn application programming interface so as to take advantage of the functionality for machine learning provided by this package: Pipelines, model selection, and hyperparameter tuning, among others. The scikit-fda package has been released as free and open-source software under a 3-clause BSD license and is open to contributions from the FDA community. The library's extensive documentation includes step-by-step tutorials and detailed examples of use."
  doi: 10.18637/jss.v109.i02
  institution:
    name: "Universidad Autónoma de Madrid"
  issn: "1548-7660"
  issue-date: "2024-05-08"
  journal: "Journal of Statistical Software"
  keywords:
    - "functional data analysis"
    - "computational statistics"
    - "interactive data visualization"
    - "Python"
    - "scikit-learn"
  languages:
    - en
  license: CC-BY-3.0
  publisher:
    name: "Foundation for Open Access Statistics"
  url: "https://www.jstatsoft.org/article/view/v109i02"
  volume: 109
  issue: 2
  start: 1
  end: 37
  

GitHub Events

Total
  • Create event: 20
  • Release event: 2
  • Issues event: 30
  • Watch event: 30
  • Delete event: 23
  • Issue comment event: 113
  • Push event: 183
  • Gollum event: 2
  • Pull request review comment event: 88
  • Pull request review event: 83
  • Pull request event: 73
  • Fork event: 12
Last Year
  • Create event: 20
  • Release event: 2
  • Issues event: 30
  • Watch event: 30
  • Delete event: 23
  • Issue comment event: 113
  • Push event: 183
  • Gollum event: 2
  • Pull request review comment event: 88
  • Pull request review event: 83
  • Pull request event: 73
  • Fork event: 12

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 2,450
  • Total Committers: 32
  • Avg Commits per committer: 76.563
  • Development Distribution Score (DDS): 0.645
Top Committers
Name Email Commits
vnmabus v****s@g****m 869
Yujian Hong y****g@e****s 315
mellamansanchez a****r@g****m 211
pablomm p****m@e****s 146
Alvaro l****a@g****m 127
Ddelval d****1@g****m 101
Pablo Manso 9****o@g****m 88
pedrorponga p****a@u****m 75
David García Fernández d****3@e****s 74
mcarbajo e****o@g****m 65
pedrorponga p****a@g****m 57
ahernando a****o@e****s 56
pablomm p****m@p****m 56
Pablo Manso p****r@b****m 42
Martín Sánchez Signorini m****i@g****m 35
ElenaPetrunina p****7@g****m 34
Clément Lejeune 5****j@u****m 23
Rafael Hidalgo r****a@e****s 20
pedrorponga 3****a@u****m 15
dSerna4 9****4@u****m 11
mellamansanchez 3****z@u****m 6
pedrog99 p****j@g****m 6
hzzhyj h****7@g****m 3
Saumyaranjan s****0@g****m 3
lena123315 3****5@u****m 3
Jorge Duque j****u@g****m 2
J. Derek Tucker j****k@s****v 2
Sean Johnsen s****n@g****m 1
Carlos Ramos Carreño c****a@h****m 1
ElenaPetrunina 6****a@u****m 1
and 2 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 99
  • Total pull requests: 192
  • Average time to close issues: 9 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 39
  • Total pull request authors: 25
  • Average comments per issue: 1.88
  • Average comments per pull request: 1.46
  • Merged pull requests: 138
  • Bot issues: 0
  • Bot pull requests: 18
Past Year
  • Issues: 17
  • Pull requests: 82
  • Average time to close issues: 30 days
  • Average time to close pull requests: 9 days
  • Issue authors: 12
  • Pull request authors: 5
  • Average comments per issue: 1.18
  • Average comments per pull request: 0.67
  • Merged pull requests: 44
  • Bot issues: 0
  • Bot pull requests: 12
Top Authors
Issue Authors
  • vnmabus (43)
  • pcuestas (9)
  • ego-thales (8)
  • fabian-sp (2)
  • qzyu999 (2)
  • aleexarias (1)
  • jack-pan-ai (1)
  • jnahlers (1)
  • Ddelval (1)
  • yanxiuJin (1)
  • pablomm (1)
  • skoopsy (1)
  • aa89113 (1)
  • dani2442 (1)
  • EduardoTerres (1)
Pull Request Authors
  • vnmabus (44)
  • luisheb (40)
  • Ddelval (21)
  • allcontributors[bot] (20)
  • pcuestas (11)
  • m5signorini (10)
  • ElenaPetrunina (8)
  • aleexarias (8)
  • opintosant (6)
  • E105D104U125 (5)
  • psotom (4)
  • ego-thales (3)
  • alvaro-castillo (3)
  • rafa9811 (3)
  • rosignol08 (2)
Top Labels
Issue Labels
enhancement (42) bug (35) good first issue (15) documentation (8) help wanted (5) preprocessing.smoothing (2) pending theory (1) misc.metrics (1) exploratory.visualization (1)
Pull Request Labels
bug (2)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 19,441 last-month
  • Total docker downloads: 77
  • Total dependent packages: 9
    (may contain duplicates)
  • Total dependent repositories: 14
    (may contain duplicates)
  • Total versions: 17
  • Total maintainers: 2
pypi.org: scikit-fda

Functional Data Analysis Python package.

  • Documentation: https://scikit-fda.readthedocs.io/
  • License: BSD 3-Clause License Copyright (c) 2019, Grupo de Aprendizaje Automático - Universidad Autónoma de Madrid All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Latest release: 0.10.1
    published 9 months ago
  • Versions: 16
  • Dependent Packages: 9
  • Dependent Repositories: 14
  • Downloads: 19,434 Last month
  • Docker Downloads: 77
Rankings
Dependent packages count: 1.6%
Downloads: 2.4%
Average: 2.7%
Docker downloads count: 3.0%
Dependent repos count: 3.9%
Maintainers (1)
Last synced: 4 months ago
pypi.org: scikit-fda-sim

Functional Data Analysis Python package.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 7 Last month
Rankings
Stargazers count: 4.7%
Forks count: 6.5%
Dependent packages count: 6.6%
Average: 20.5%
Dependent repos count: 30.6%
Downloads: 53.9%
Maintainers (1)
Last synced: 4 months ago

Dependencies

binder/requirements.txt pypi
  • jupytext *
  • sphinx-gallery <=0.7.0
.github/workflows/mypy.yml actions
  • actions/checkout v2 composite
  • tsuyoshicho/action-mypy v3 composite
.github/workflows/python-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
.github/workflows/style.yml actions
  • actions/checkout v1 composite
  • wemake-services/wemake-python-styleguide master composite
.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v1 composite
pyproject.toml pypi
  • dcor *
  • fdasrsf >=2.2.0
  • findiff *
  • lazy_loader *
  • matplotlib *
  • multimethod >=1.5
  • numpy >=1.16
  • pandas >=1.0
  • rdata *
  • scikit-datasets [cran]>=0.1.24
  • scikit-learn >=0.20
  • scipy >=1.3.0
  • typing-extensions *