Case study: Classification of shapes¶
This notebook explains how to use
giotto-tda to be able to classify
topologically different high-dimensional spaces.
If you are looking at a static version of this notebook and would like to run its contents, head over to GitHub and download the source.
The first step consists in importing relevant
and other useful libraries or modules.
# Importing libraries from gtda.homology import VietorisRipsPersistence from gtda.diagrams import PersistenceEntropy import numpy as np from gtda.pipeline import Pipeline from sklearn.linear_model import LogisticRegression # Plotting functions from gtda.plotting import plot_diagram, plot_point_cloud, plot_heatmap
Sampling orientable surfaces¶
We are going to consider three classical topological spaces: the circle, the 2-torus and the 2-sphere. The purpose of this tutorial is to go through the most famous topological spaces and compute their homology groups.
Each of the topological spaces we are going to encounter will be sampled. The resulting point cloud will be the input of the persistent homology pipeline. The first step is to apply the Vietoris–Rips technique to the point cloud. Finally, the persistent homology groups will be computed.
# Representing the circle in 3d with parametric equations. circle = np.asarray([[np.sin(t), np.cos(t), 0] for t in range(400)]) plot_point_cloud(circle)