
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
UniLVQ: A Unified Learning Vector Quantization Framework for Supervised Learning Tasks
UniLVQ is an open-source Python library that provides a unified, extensible, and user-friendly implementation of Learning Vector Quantization (LVQ) algorithms for supervised learning. It supports both classification and regression tasks, and is designed to work seamlessly with the scikit-learn API.
Built on top of NumPy and PyTorch, UniLVQ combines rule-based and neural-inspired LVQ variants, making it suitable for both research and practical applications.
scikit-learn
Lvq1Classifier
, Lvq2Classifier
, Lvq3Classifier
, OptimizedLvq1Classifier
GlvqClassifier
, GlvqRegressor
, GrlvqClassifier
, GrlvqRegressor
, LgmlvqClassifier
Type | Algorithms | Module |
---|---|---|
Rule-based LVQ | LVQ1, LVQ2.1, LVQ3, Optimized LVQ1 (Classifiers) | classic_lvq.py |
Generalized LVQ | GLVQ (Classifier, Regressor) | glvq.py |
Generalized Relevance LVQ | GRLVQ (Classifier, Regressor) | grlvq.py |
Local Generalized Matrix LVQ | LGMLVQ (Classifier) | lgmlvq.py |
Please include these citations if you plan to use this library:
@software{thieu20250515UniLVQ,
author = {Nguyen Van Thieu},
title = {UniLVQ: A Unified Learning Vector Quantization Framework for Supervised Learning Tasks},
month = June,
year = 2025,
doi = {10.6084/m9.figshare.28802435},
url = {https://github.com/thieu1995/UniLVQ}
}
Install the latest version from PyPI:
pip install unilvq
Verify installation:
$ python
>>> import unilvq
>>> unilvq.__version__
For classification problem using LVQ1 classifier:
from unilvq import Lvq1Classifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# Load data
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
# Train LVQ1 model
model = Lvq1Classifier(n_prototypes_per_class=1, learning_rate=0.1, seed=42)
model.fit(X_train, y_train)
# Evaluate
y_pred = model.predict(X_test)
print("Accuracy:", accuracy_score(y_test, y_pred))
As can be seen, you do it like any model from Scikit-Learn library such as SVC, RF, DT,... Please read the examples folder for more use cases.
Documentation is available at: ๐ https://unilvq.readthedocs.io
You can build the documentation locally:
cd docs
make html
You can run unit tests using:
pytest tests/
We welcome contributions to UniLVQ
! If you have suggestions, improvements, or bug fixes, feel free to fork
the repository, create a pull request, or open an issue.
This project is licensed under the GPLv3 License. See the LICENSE file for more details.
Developed by: Thieu @ 2025
FAQs
UniLVQ: A Unified Learning Vector Quantization Framework for Supervised Learning Tasks
We found that unilvq demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.ย It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.