GitHunt
KE

keurfonluu/StochANNPy

StochANNPy (STOCHAstic Artificial Neural Network for PYthon) provides user-friendly routines compatible with Scikit-Learn for stochastic learning.


StochANNPy


StochANNPy (STOCHAstic Artificial Neural Network for PYthon) provides
user-friendly routines compatible with Scikit-Learn for stochastic learning.

:Version: 0.0.1
:Author: Keurfon Luu
:Web site: https://github.com/keurfonluu/stochannpy
:Copyright: This document has been placed in the public domain.
:License: StochANNPy is released under the MIT License.

NOTE: StochANNPy has been implemented in the frame of my Ph. D. thesis. If
you find any error or bug, or if you have any suggestion, please don't hesitate
to contact me.

Features

StochANNPy provides routines compatible with Scikit-Learn for stochastic
learning including:

  • Bayesian neural networks (currently, only classifier) [1]
  • Evolutionary neural networks (currently, only classifier)
  • Monte-Carlo Cross-Validation (currently, only classifier)

NOTE: ENNClassifier, BNNClassifier, MCCVClassifier all passed Scikit-Learn
checks test! ...well almost. Bayesian learning requires more than 5 samples to
explore the weight space, BNNClassifier only pass when increasing the maximum
number of iterations (line 280 of the script).

Installation

The recommended way to install StochANNPy is through pip:

.. code-block:: bash

pip install stochannpy

Otherwise, download and extract the package, then run:

.. code-block:: bash

python setup.py install

Usage

First, import StochANNPy and initialize the classifier:

.. code-block:: python

import numpy as np
from stochannpy import BNNClassifier

clf = BNNClassifier(hidden_layer_sizes = (5,))

Fit the training set:

.. code-block:: python

clf.fit(X_train, y_train)

Predict the test set:

.. code-block:: python

ypred = clf.predict(X_test)

Compute the accuracy:

.. code-block:: python

print(np.mean(ypred == y_test))

Related works

  • StochOPy <https://github.com/keurfonluu/stochopy>__: StochOPy (STOCHastic OPtimization for PYthon) provides user-friendly routines to sample or optimize objective functions with the most popular algorithms.

References

.. [1] N. Radford, Bayesian Learning for Neural Networks, Lecture Notes in
Statistics, Springer, 1996

Languages

Python100.0%

Contributors

MIT License
Created April 24, 2017
Updated April 25, 2025
keurfonluu/StochANNPy | GitHunt