https://github.com/jedrazb/python-neural-network
Simple implementation of MLP neural network in NumPy with supporting examples
https://github.com/jedrazb/python-neural-network
iris iris-dataset machine-learning mlp mlp-classifier mlp-network neural-network neural-networks python
Last synced: 3 months ago
JSON representation
Simple implementation of MLP neural network in NumPy with supporting examples
- Host: GitHub
- URL: https://github.com/jedrazb/python-neural-network
- Owner: jedrazb
- Created: 2019-04-29T02:55:50.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-11-21T17:35:55.000Z (almost 5 years ago)
- Last Synced: 2025-06-09T11:09:33.206Z (4 months ago)
- Topics: iris, iris-dataset, machine-learning, mlp, mlp-classifier, mlp-network, neural-network, neural-networks, python
- Language: Python
- Homepage:
- Size: 10.8 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MLP neural network library implemented using numpy
## General
This a fully functional feedforward neural network library. The implemented features are:
- loss functions: cross entropy, mean squared error
- layers: linear, sigmoid, ReLU
- network with forward and backpropagation
- function to one hot encode labels
- confussion matrix visualiserThere are two demos to demonstrate capabilities of the library:
- iris dataset classifier
- handwritten digits (mnist) classifierThere are lots of comments in the code explaining the details
## Rquirements
- python 3.x
- numpy
- matplotlib## Installation
To install required dependencies: `make install`.
## Demo (iris dataset)
To run the demo: `python3 iris_demo.py`.
The demo is based on the [iris dataset](https://en.wikipedia.org/wiki/Iris_flower_data_set), the dataset can be found in `dataset/iris/`. It consists of 150 entries.
The accuracy obtained on the validation set is: 98.7%.
In the demo data is shuffled split into train and validation datasets, the netowork is trained and the performance is displayed as a confusion matrix:
## Demo (handwritten digits mnist dataset)
To run the demo: `python3 digits_mnist_demo.py`.
This demo is based on [mnist digits dataset](http://yann.lecun.com/exdb/mnist/), the dataset can be found in `dataset/digits_mnist/`. It consists of 60000 train images and 10000 test images.
The accuracy obtained on the test set is: 97.8%.
Example network architecture:
Example confusion matrix: