Skip to main content

ProbNet: A Unified Probabilistic Neural Network Framework for Classification and Regression Tasks

GitHub release PyPI version PyPI - Python Version PyPI - Downloads Downloads Tests & Publishes to PyPI Documentation Status Chat DOI License: GPL v3


🌟 Overview

ProbNet is a lightweight and extensible Python library that provides a unified implementation of Probabilistic Neural Network (PNN) and its key variant, the General Regression Neural Network (GRNN). It supports both classification and regression tasks, making it suitable for a wide range of supervised learning applications.


🔧 Features

  • 🧠 Full implementation of PNN for classification
  • 📈 GRNN for regression modeling
  • 🔍 Scikit-learn compatible interface (fit, predict, score)
  • 🔄 Built-in support for many kernels and distance metrics
  • 🧪 Fast prototyping and evaluation
  • 🧩 Easily extendable and readable codebase
  • 📚 Auto-generated documentation with Sphinx
  • Probabilistic models: PnnClassifier, GrnnRegressor

📖 Citation Request

Please include these citations if you plan to use this library:

@software{thieu20250503,
  author       = {Nguyen Van Thieu},
  title        = {ProbNet: A Unified Probabilistic Neural Network Framework for Classification and Regression Tasks},
  month        = may,
  year         = 2025,
  doi         = {10.6084/m9.figshare.28802435},
  url          = {https://github.com/thieu1995/ProbNet}
}

📦 Installation

Install the latest version using pip:

pip install probnet

After installation, check the version to ensure successful installation:

$ python
>>> import probnet
>>> probnet.__version__

🚀 Quick Start

For Classification using PNN:

from probnet import PnnClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

model = PnnClassifier(sigma=0.1)
model.fit(X_train, y_train)
print("Accuracy:", model.score(X_test, y_test))

For Regression using GRNN:

from probnet import GrnnRegressor
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split

X, y = load_diabetes(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

model = GrnnRegressor(sigma=0.5)
model.fit(X_train, y_train)
print("R2 Score:", model.score(X_test, y_test))

📚 Documentation

Documentation is available at: 👉 https://probnet.readthedocs.io

You can build the documentation locally:

cd docs
make html

🧪 Testing

You can run unit tests using:

pytest tests/

🤝 Contributing

We welcome contributions to ProbNet! If you have suggestions, improvements, or bug fixes, feel free to fork the repository, create a pull request, or open an issue.

📄 License

This project is licensed under the GPLv3 License. See the LICENSE file for more details.

📎 Official channels


Developed by: Thieu @ 2025

Metadata

Release files for probnet 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for probnet 0.2.0
File Size Uploaded Provenance Actions
probnet-0.2.0.tar.gz 37.3 kB With provenance Details for probnet-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for probnet 0.2.0
File Interpreter ABI Platform Actions
probnet-0.2.0-py3-none-any.whl Python 3 none any Details for probnet-0.2.0-py3-none-any.whl

Total release size: 73.6 kB

Release files / probnet-0.2.0.tar.gz

Download URL probnet-0.2.0.tar.gz
Size 37.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8d4880307f15f89712fd10b37730a39625d964f27e7df7372f7fac7f490c415a
BLAKE2b-256 checksum
How to use checksums
60f9020e31c04c9a06974d44080ef16bcc5a101d1afeec2a9837d832e443a19a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 5, 2025.

Transparency log

Release files / probnet-0.2.0-py3-none-any.whl

Download URL probnet-0.2.0-py3-none-any.whl
Size 36.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ba4ac73ab78073e383a6c9abac95c96b65e8fe09c3f22683fe2fcccadc737bc2
BLAKE2b-256 checksum
How to use checksums
d6e489d69705f14f666a55d691e7ac8038a72f2e99e2cd4d35f420520a1e1271
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 5, 2025.

Transparency log

Security for probnet 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for probnet-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 5, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page