umappp 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +11 -13
- data/ext/umappp/numo.hpp +957 -833
- data/ext/umappp/umappp.cpp +64 -16
- data/lib/umappp/version.rb +1 -1
- metadata +7 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 715a0cccadbfa68578e1ff6b4998f539313fc31ede7dc1da6c28f51e4396ea91
|
4
|
+
data.tar.gz: '07851a541e04c0da5647b9787a889de05ed8d28605818a657b82eebed1b1ba95'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cee6f62c119793903786a0b983c7861f55d27a15b553846ae88d95fd40a335b01c0666e4cdb87b55d4b91218c5e48c5bda8304502716349b02453e7fdbdf5c04
|
7
|
+
data.tar.gz: 9cc07b731ead37a256335ae4067b95c41a008bd46bd643b7c82cd36158d26e0b65dcc536c017231ad1368a9b87c95fd02f1611fb2951a01886e18b95467319f4
|
data/README.md
CHANGED
@@ -7,12 +7,12 @@
|
|
7
7
|
|
8
8
|

|
9
9
|
|
10
|
-
> Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique that can be used for visualisation similarly to t-SNE, but also for general non-linear dimension reduction.
|
10
|
+
> Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique that can be used for visualisation similarly to t-SNE, but also for general non-linear dimension reduction.
|
11
11
|
> ([original UMAP documentation](https://umap-learn.readthedocs.io/en/latest/index.html))
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
- Ruby Umappp is a wrapper library for [C++ Umappp library](https://github.com/LTLA/umappp) created by Aaron Lun
|
14
|
+
- Compatible with [yaumap](https://github.com/LTLA/yaumap)
|
15
|
+
- Support [Numo::NArray](https://github.com/ruby-numo/numo-narray)
|
16
16
|
|
17
17
|
## Installation
|
18
18
|
|
@@ -20,7 +20,7 @@
|
|
20
20
|
gem install umappp
|
21
21
|
```
|
22
22
|
|
23
|
-
|
23
|
+
- [OpenMP](https://www.openmp.org) is required for multithreading.
|
24
24
|
|
25
25
|
## Usage
|
26
26
|
|
@@ -38,7 +38,7 @@ r = Umappp.run(pixels, num_threads: 8, a: 1.8956, b: 0.8006)
|
|
38
38
|
Available parameters and their default values
|
39
39
|
|
40
40
|
| parameters | default value |
|
41
|
-
|
41
|
+
| -------------------- | ---------------------------------- |
|
42
42
|
| method | :annoy (another option is :vptree) |
|
43
43
|
| ndim | 2 |
|
44
44
|
| local_connectivity | 1.0 |
|
@@ -77,14 +77,13 @@ cd script
|
|
77
77
|
|
78
78
|
### Ruby dependencies
|
79
79
|
|
80
|
-
|
81
|
-
|
80
|
+
- [rice](https://github.com/jasonroelofs/rice) - Ruby Interface for C++ Extensions
|
81
|
+
- [numo.hpp](https://github.com/ankane/numo.hpp) - C++ header for Numo and Rice
|
82
82
|
|
83
83
|
### Umappp dependencies
|
84
84
|
|
85
85
|
This Gem is a wrapper for [Umappp](https://github.com/LTLA/umappp). We store and distribute Umappp and other dependent C++ code in the Vendor directory. Umappp is compiled when the Gem is installed. Umappp's C++ modules have complex dependencies as shown in the figure below. It is not a good idea to manage them manually. Use `script/vendor.sh` to update them automatically. This actually runs cmake and moves the required directories to the vendor directory.
|
86
86
|
|
87
|
-
|
88
87
|
```mermaid
|
89
88
|
graph TD;
|
90
89
|
id1(eigen)-->CppIrlba;
|
@@ -113,7 +112,6 @@ Welcome!
|
|
113
112
|
|
114
113
|
## License
|
115
114
|
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
115
|
+
- As for the code I wrote, it is BSD 2-Clause (or MIT).
|
116
|
+
- The license of Umappp for C++ by Aaron Lun is BSD 2-Clause.
|
117
|
+
- For other codes, please check on your own. (There are many dependencies)
|