graph LR
FrechetMean["FrechetMean"]
ExpectationMaximization["ExpectationMaximization"]
GeodesicRegression["GeodesicRegression"]
KMeans["KMeans"]
PCA["PCA"]
RiemannianMeanShift["RiemannianMeanShift"]
SklearnWrapper["SklearnWrapper"]
RadialKernelFunctions["RadialKernelFunctions"]
Geometry_Core["Geometry Core"]
Backend_Abstraction_Layer["Backend Abstraction Layer"]
FrechetMean -- "utilizes" --> Geometry_Core
FrechetMean -- "rely on" --> Backend_Abstraction_Layer
ExpectationMaximization -- "utilizes" --> Geometry_Core
ExpectationMaximization -- "rely on" --> Backend_Abstraction_Layer
GeodesicRegression -- "utilizes" --> Geometry_Core
GeodesicRegression -- "rely on" --> Backend_Abstraction_Layer
KMeans -- "utilizes" --> Geometry_Core
KMeans -- "rely on" --> Backend_Abstraction_Layer
PCA -- "utilizes" --> Geometry_Core
PCA -- "rely on" --> Backend_Abstraction_Layer
RiemannianMeanShift -- "utilizes" --> Geometry_Core
RiemannianMeanShift -- "rely on" --> Backend_Abstraction_Layer
SklearnWrapper -- "wraps" --> FrechetMean
SklearnWrapper -- "wraps" --> ExpectationMaximization
SklearnWrapper -- "wraps" --> GeodesicRegression
SklearnWrapper -- "wraps" --> KMeans
SklearnWrapper -- "wraps" --> PCA
SklearnWrapper -- "wraps" --> RiemannianMeanShift
click Geometry_Core href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/geomstats/Geometry_Core.md" "Details"
click Backend_Abstraction_Layer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/geomstats/Backend_Abstraction_Layer.md" "Details"
The geomstats.learning subsystem provides a suite of machine learning algorithms specifically designed for data residing on geometric manifolds. These algorithms, such as FrechetMean, ExpectationMaximization, GeodesicRegression, KMeans, PCA, and RiemannianMeanShift, fundamentally utilize the mathematical definitions and operations provided by the Geometry Core (the geomstats.geometry package). For all numerical computations, these learning components rely on the Backend Abstraction Layer (the geomstats._backend package), which enables seamless execution across different numerical backends like NumPy or PyTorch. Additionally, the SklearnWrapper component acts as an adapter, wrapping various geomstats learning estimators to provide a scikit-learn compatible interface, thereby facilitating integration into standard machine learning pipelines. The RadialKernelFunctions component offers specialized kernel implementations that can be leveraged by kernel-based learning methods within this subsystem.
Implements the computation of the Fréchet mean, a generalization of the arithmetic mean to metric spaces, crucial for statistical analysis on manifolds.
Related Classes/Methods:
Provides an EM algorithm tailored for Gaussian Mixture Models on manifolds, enabling probabilistic clustering and density estimation.
Related Classes/Methods:
Focuses on fitting regression models where the response variable lies on a manifold, utilizing geodesic paths.
Related Classes/Methods:
Offers a k-means clustering algorithm adapted for geometric spaces, partitioning data points into clusters based on geodesic distances.
Related Classes/Methods:
Enables dimensionality reduction for data on manifolds, preserving variance in a geometric context.
Related Classes/Methods:
Performs non-parametric clustering by iteratively shifting points towards density peaks on Riemannian manifolds.
Related Classes/Methods:
Provides a scikit-learn compatible interface for geomstats estimators by adapting input/output transformations and ensuring backend compatibility.
Related Classes/Methods:
Offers implementations of various radial kernel functions, essential for kernel-based learning methods in geometric spaces.
Related Classes/Methods:
Geometry Core [Expand]
Provides the fundamental mathematical structures for geometric learning, including definitions of manifolds, metrics, and geodesic computations. This forms the mathematical foundation for all geometric algorithms.
Related Classes/Methods:
Backend Abstraction Layer [Expand]
Offers an abstraction layer for numerical computation, allowing geomstats to run on different backends (e.g., NumPy, Autograd, PyTorch). It ensures that geometric operations are performed efficiently and consistently across various computational environments.
Related Classes/Methods: