This project folder contains SVM, K-Means, Mean-Shift and Neural Networks Models made from Scratch using Numpy and Python, with a small portion using Pandas and Scikit-Learn's sklearn.preprocessing for Data Cleaning. The purpose of this project folder was to delve deeper into the foundation of Supervised and Unsupervised Learning concepts as well as understand the mathematical and algorithmic complexity of the solutions.
The data consists of 150 rows of Iris flower samples with 50 instances for each category - `Iris setosa`, `Iris versicolor`, and `Iris virginica`. It consists of 5 variables aka 5 columns with `petal-length`, `petal-width`, `sepal-length` and `sepal-width` as features and `class` as the output label.
The data contains 303 instances of patient samples with 13 features determining the presence of a heart diease. Experiments have concentrated on simply attempting to distinguish presence (values 1,2,3,4) from absence (value 0), however due to the usage on a clustering model, only 2 clusters for 0 (absence) and 1(presence) was used.