Overview
A heuristic one dimensional clustering algorithm called DDCAL (Density Distribution Cluster Algorithm) that is based on iterative feature scaling. The algorithm aims as first order to even distribute data into clusters by considering as well as second order to minimize the variance inside each cluster and maximizing the distances between clusters.
The algorithm is designed to be used for visualization, e.g., on choropleth maps.
Basic Usage
pip install -i https://pypi.org/simple/ ddcal
from clustering.ddcal import DDCAL
# load data
frequencies = [0, 1, 1, 1, 5, 5, 5, 30, 88]
# initialize parameters
ddcal = DDCAL(n_clusters=3, feature_boundary_min=0.1, feature_boundary_max=0.49,
num_simulations=20, q_tolerance=0.45, q_tolerance_increase_step=0.5)
# execute DDCAL algorithm
ddcal.fit(frequencies)
# print/use results
print(ddcal.sorted_data)
print(ddcal.labels_sorted_data)
Supplemental Material
Supplemental material for the paper DDCAL: Evenly Distributing Data into High Density Clusters based on Iterative Feature Scaling can be found in the folder:
supplemental
Synthetic Data Sets
The synthetic data sets, which were used in the paper DDCAL: Evenly Distributing Data into High Density Clusters based on Iterative Feature Scaling which includes a description on each data set, can be found in the folder:
tests/data
Acknowledgements
"ICT of the Future" program - an initiative of the Federal Ministry for Climate Protection, Environment, Energy, Mobility, Innovation and Technology (BMK)
SPRINGER NATURE Link/DOI
https://doi.org/10.1007/s00357-022-09428-6
Citation
@article{cite-key,
author = {Lux, Marian and Rinderle-Ma, Stefanie},
journal = {Journal of Classification},
number = {1},
pages = {106--144},
title = {DDCAL: Evenly Distributing Data into Low Variance Clusters Based on Iterative Feature Scaling},
volume = {40},
year = {2023}}
Metadata
Release files for ddcal 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ddcal-1.2.1.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ddcal-1.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.2 kB
Release files / ddcal-1.2.1.tar.gz
| Download URL | ddcal-1.2.1.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6066027be675f500ee3c1529c8f593894e6268cb0b0c7f22ac854069b301fb5e
|
|
BLAKE2b-256 checksum How to use checksums |
23494d80a45245244053ea6c33a54658d14b6d4f566df45266fc4a06d5972ed3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.0
|
Release files / ddcal-1.2.1-py3-none-any.whl
| Download URL | ddcal-1.2.1-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f91d846c5b918ec857d20e2df94a0fb5160ed81327485bc33be2f2751c068aa9
|
|
BLAKE2b-256 checksum How to use checksums |
a0fedd886ef1922fde08293d474d634f487d9f4796691c299275aba3cc9a957d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.0
|