This is an implementation of single layer perceptron algorithm in Python.
Currently the accuracy of the algorithm is bad. I had abandoned working on it for about two years. Going to resume!
A perceptron is a supervised learning algorithm used for classification which inputs a vector of numbers, applies weights to the inputs and uses an activation function to generate the result.
It was later developed into multi layer perceptrons or artificial neural networks
It is a simplified model of a biological neuron.
I used Connectionist Bench (Sonar, Mines vs. Rocks) Data Set (also called Sonar dataset) of UCI Machine Learning repository.
I used sonar.all-data (CSV) file as input data.
Link: https://archive.ics.uci.edu/ml/datasets/Connectionist+Bench+%28Sonar%2C+Mines+vs.+Rocks%29
(This program was implemented in a Jupyter notebook)
- Python 3
- Jupyter
- Numpy (Version 1.16.4 on my system)
- Pandas (Version 0.24.2 on my system)
It is recommended to install Anaconda platform as it comes with all essential libraries required for data science.
- http://homepages.gold.ac.uk/nikolaev/311perc.htm
- http://www.cs.stir.ac.uk/courses/ITNP4B/lectures/kms/2-Perceptrons.pdf
- https://en.wikipedia.org/wiki/Perceptron
You can read about McCulloch-Pitts Neurons here: