https://github.com/dpfens/highp
Fast implementations of various clustering algorithms, trajectory processing, and binary similarity metrics with Python SWIG bindings for select algorithms.
https://github.com/dpfens/highp
clustering dbscan fuzzy kmeans kmedian kmode trajectory
Last synced: 5 months ago
JSON representation
Fast implementations of various clustering algorithms, trajectory processing, and binary similarity metrics with Python SWIG bindings for select algorithms.
- Host: GitHub
- URL: https://github.com/dpfens/highp
- Owner: dpfens
- Created: 2019-09-10T05:35:59.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-06-28T03:47:45.000Z (about 1 year ago)
- Last Synced: 2025-06-28T04:29:37.885Z (about 1 year ago)
- Topics: clustering, dbscan, fuzzy, kmeans, kmedian, kmode, trajectory
- Language: HTML
- Homepage:
- Size: 436 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HighP
C/C++ implementations of various clustering algorithms, trajectory processing, and binary similarity metrics with Python SWIG/WebAssembly bindings to select algorithms.
## Usage
### C++
C++ has broader access to more algorithmd including implementations for:
* Dozens of Binary attribute similarity metrics
* Trajectories
* Convoy identification
* Trajectory Stop detection
* Maximum Subarray
* KDTree
* etc.
The examples of C++ usage can be found in `src/cpp/test.cpp`
#### Test
To build the C++ implementations and execute the unit tests, use the `make test` command:
```bash
make test
```
### Python
The Python bindings open a subset of the algorithms implemented in C++. The best examples for using the `python` binding are through the `test.py` module.
#### Dependencies
Install `swig` to build the Python bindings locally:
```bash
sudo apt install swig
make python_build # build in-place
make python_install # install library and bindings
```
### WebAssembly
The Python bindings open a subset of the algorithms implemented in C++. The best examples for using the WebAssembly are through the `webassembly.html` file. To build and install the webAssembly bindings, use the `make wasm_prod` command:
```bash
make wasm_prod
```
Then open the `webassembly.html` file to see the output from the `wasm` module.