Skip to content

Commit 75b5788

Browse files
authored
Merge pull request #103 from lucasimi/develop
Develop
2 parents 1eb1d3e + a4d08c9 commit 75b5788

File tree

6 files changed

+611
-35
lines changed

6 files changed

+611
-35
lines changed

README.md

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,28 @@
1111

1212
# tda-mapper
1313

14-
A simple and efficient Python implementation of Mapper algorithm for Topological Data Analysis
14+
A simple and efficient Python implementation of Mapper algorithm for
15+
Topological Data Analysis
1516

1617
* **Installation**: `pip install tda-mapper`
1718

1819
* **Documentation**: https://tda-mapper.readthedocs.io/en/main/
1920

2021
* **Demo App**: https://tda-mapper-app.streamlit.app/
2122

22-
The Mapper algorithm is a well-known technique in the field of topological data analysis that allows data to be represented as a graph.
23-
Mapper is used in various fields such as machine learning, data mining, and social sciences, due to its ability to preserve topological features of the underlying space, providing a visual representation that facilitates exploration and interpretation.
24-
For an in-depth coverage of Mapper you can read [the original paper](https://research.math.osu.edu/tgda/mapperPBG.pdf).
23+
The Mapper algorithm is a well-known technique in the field of topological
24+
data analysis that allows data to be represented as a graph.
25+
Mapper is used in various fields such as machine learning, data mining, and
26+
social sciences, due to its ability to preserve topological features of the
27+
underlying space, providing a visual representation that facilitates
28+
exploration and interpretation. For an in-depth coverage of Mapper you can
29+
read
30+
[the original paper](https://research.math.osu.edu/tgda/mapperPBG.pdf).
31+
32+
This library contains an implementation of Mapper, where the construction
33+
of open covers is based on *vp-trees* for improved performance and scalability.
34+
The details about this methodology are contained in
35+
[our preprint](https://doi.org/10.5281/zenodo.10659652).
2536

2637
| Step 1 | Step 2 | Step 3 | Step 4 |
2738
| ------ | ------ | ------ | ------ |
@@ -30,9 +41,10 @@ For an in-depth coverage of Mapper you can read [the original paper](https://res
3041

3142
## Example
3243

33-
[Here](https://github.com/lucasimi/tda-mapper-python/raw/main/tests/example.py) you can find an example to use to kickstart your analysis.
34-
In this toy-example we use a two-dimensional dataset of two concentric circles.
35-
The Mapper graph is a topological summary of the whole point cloud.
44+
[Here](https://github.com/lucasimi/tda-mapper-python/raw/main/tests/example.py)
45+
you can find an example to use to kickstart your analysis. In this toy-example
46+
we use a two-dimensional dataset of two concentric circles. The Mapper graph
47+
is a topological summary of the whole point cloud.
3648

3749
```python
3850
import numpy as np
@@ -87,27 +99,25 @@ fig_std.show(config={'scrollZoom': True})
8799
| ------- | ---------------------- | ------------------------ |
88100
| ![Dataset](https://github.com/lucasimi/tda-mapper-python/raw/main/resources/circles_dataset.png) | ![Mapper graph (average)](https://github.com/lucasimi/tda-mapper-python/raw/main/resources/circles_mean.png) | ![Mapper graph (standard deviation)](https://github.com/lucasimi/tda-mapper-python/raw/main/resources/circles_std.png) |
89101

90-
More examples can be found in the documentation https://tda-mapper.readthedocs.io/en/main/.
91-
92-
## Citations
102+
More examples can be found in the
103+
[documentation](https://tda-mapper.readthedocs.io/en/main/).
93104

94-
To cite **tda-mapper** in your work you can use the Zenodo archive https://doi.org/10.5281/zenodo.10642381.
105+
### Demo App
95106

96-
In the archive you can find a permanent reference to the exact version you used in your work.
107+
You can also run a demo app locally by running
97108

98-
For example, to cite version `v0.4.0` you can use:
109+
```
110+
pip install -r app/requirements.txt
111+
streamlit run app/streamlit_app.py
112+
```
99113

100-
Simi, L. (2024). tda-mapper (v0.4.0). Zenodo. https://doi.org/10.5281/zenodo.10655755
114+
## Citations
101115

102-
BibTeX entry:
116+
If you want to use **tda-mapper** in your work or research, you can cite the
117+
[archive uploaded on Zenodo](https://doi.org/10.5281/zenodo.10642381),
118+
pointing to the specific version of the software used in your work.
103119

104-
@software{tda-mapper_v0.4.0,
105-
author = {Simi, Luca},
106-
title = {tda-mapper},
107-
month = feb,
108-
year = 2024,
109-
publisher = {Zenodo},
110-
version = {v0.4.0},
111-
doi = {10.5281/zenodo.10655755},
112-
url = {https://doi.org/10.5281/zenodo.10655755}
113-
}
120+
If you want to cite the methodology on which **tda-mapper** is based, you can
121+
use the
122+
[preprint](https://doi.org/10.5281/zenodo.10659651).
123+
``

app/requirements.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
streamlit
2+
numpy
3+
scikit-learn
4+
pandas
5+
tda-mapper

0 commit comments

Comments
 (0)