Fed-MVKM: Federated Multi-View K-Means Clustering with Rectified Gaussian Kernel
Overview
This package implements a combination of two advanced clustering algorithms:
- Federated Multi-View K-Means Clustering (Fed-MVKM)
- Rectified Gaussian Kernel Multi-View K-Means Clustering (MVKM-ED)
The implementation provides a privacy-preserving distributed learning framework for multi-view clustering while leveraging the enhanced discriminative power of rectified Gaussian kernels.
Key Features
- Privacy-preserving federated learning for multi-view data
- Automatic view importance weight learning
- Rectified Gaussian kernel for enhanced distance computation
- Efficient distributed computation
- Scalable implementation for IoT and edge devices
- Automatic parameter adaptation
- GPU acceleration support
Requirements
- Python 3.7+
- NumPy >= 1.19.0
- SciPy >= 1.6.0
- scikit-learn >= 0.24.0
Installation
pip install mvkm-ed
Usage
import numpy as np
from mvkm_ed import MVKMED, MVKMEDParams
# Create sample data
X1 = np.random.randn(100, 10) # First view
X2 = np.random.randn(100, 15) # Second view
X = [X1, X2]
# Set parameters
params = MVKMEDParams(
cluster_num=3,
points_view=2,
alpha=2.0,
beta=0.1,
max_iterations=100,
convergence_threshold=1e-4
)
# Create and fit model
model = MVKMED(params)
model.fit(X)
# Get cluster assignments
cluster_labels = model.index
Parameters
cluster_num: Number of clusterspoints_view: Number of data viewsalpha: Exponent parameter to control view weightsbeta: Distance control parametermax_iterations: Maximum number of iterationsconvergence_threshold: Convergence criterion threshold
Citation
If you use this code in your research, please cite our papers:
@ARTICLE{10810504,
author={Yang, Miin-Shen and Sinaga, Kristina P.},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
title={Federated Multi-View K-Means Clustering},
year={2025},
volume={47},
number={4},
pages={2446-2459},
doi={10.1109/TPAMI.2024.3520708}
}
@article{sinaga2024rectified,
title={Rectified Gaussian Kernel Multi-View K-Means Clustering},
author={Sinaga, Kristina P. and others},
journal={arXiv},
year={2024}
}
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contact
- Kristina P. Sinaga
- Email: kristinasinaga41@gmail.com
Acknowledgments
This work was supported by the National Science and Technology Council, Taiwan (Grant Number: NSTC 112-2118-M-033-004)
Metadata
Release files for mvkm-ed 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mvkm_ed-1.1.0.tar.gz | 14.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mvkm_ed-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.4 kB
Release files / mvkm_ed-1.1.0.tar.gz
| Download URL | mvkm_ed-1.1.0.tar.gz |
|---|---|
| Size | 14.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eef639c84d573fa7540b16182a7722a7caca9bb4e25a253f2941661924c4afe9
|
|
BLAKE2b-256 checksum How to use checksums |
5a9fc04410dfb6c44eae0cffcd19984d7ac6fcb6bbd03aeb0b8697c4807a26f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|
Release files / mvkm_ed-1.1.0-py3-none-any.whl
| Download URL | mvkm_ed-1.1.0-py3-none-any.whl |
|---|---|
| Size | 16.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1bfe6d87a33d904d407533d788d458dad9a6eacd794c333280cae7d6e1afa9e1
|
|
BLAKE2b-256 checksum How to use checksums |
5be7d2eae956ca1baa9d2dc6b54f7a4285dd271378b7f590e9728c0c41c08724
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|