diff --git a/Perceptron From Scratch/perceptron.ipynb b/Perceptron From Scratch/perceptron.ipynb new file mode 100644 index 0000000000..714d8e0180 --- /dev/null +++ b/Perceptron From Scratch/perceptron.ipynb @@ -0,0 +1,156 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

Implementation of Perceptron Network

" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import accuracy_score\n", + "from sklearn import datasets\n", + "\n", + "def step_function(x):\n", + " return np.where(x>0 , 1, 0)\n", + "\n", + "class perceptron:\n", + " def __init__(self , lr = 0.1, n_iter = 1000 ):\n", + " self.lr = lr\n", + " # self.feature_count = X.shape[1]\n", + " # self.input_count = X.shape[0]\n", + " self.n_inter = n_iter\n", + " self.activation_fun = step_function\n", + " self.weight = None\n", + " self.bias = None\n", + "\n", + " def fit(self , X , y):\n", + " feature_count = X.shape[1]\n", + " input_count = X.shape[0]\n", + "\n", + " # intlisize weight and bias\n", + " np.random.seed(0)\n", + " self.weight = np.random.rand(feature_count)\n", + " self.bias = np.random.rand(1)\n", + "\n", + " y = np.where(y>0 , 1, 0)\n", + "\n", + " # update weight an bias\n", + " for _ in range(self.n_inter):\n", + "\n", + " for i in range(input_count):\n", + " y_cap = self.activation_fun((np.dot(X[i] , self.weight) + self.bias))\n", + "\n", + " if y[i] != y_cap:\n", + " update = (self.lr*(y[i] - y_cap))\n", + "\n", + " self.weight += update*X[i]\n", + " self.bias += update\n", + " \n", + " def predict(self , X):\n", + " y_cap = self.activation_fun((np.dot(X , self.weight) + self.bias))\n", + " return y_cap\n", + " \n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy score is : 1.0\n" + ] + } + ], + "source": [ + "# Make and split dataset\n", + "X , y = datasets.make_blobs(n_samples= 200 , n_features= 2 , centers= 2 , random_state= 3)\n", + "X_train, X_test , y_train , y_test = train_test_split(X , y , test_size= 0.2 , random_state= 42)\n", + "\n", + "# appply the perceptron learning\n", + "p = perceptron(lr = 0.01, n_iter= 1000)\n", + "p.fit(X_train , y_train)\n", + "y_pred = p.predict(X_test)\n", + "\n", + "print(\"Accuracy score is : \" , accuracy_score(y_test , y_pred))" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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iQX9R2LsGtpZi027CUtqyW8RERH15IiITCIWTIPmOyDzP3jvD8F7sfhroOZdWFAbdTwREZGKoCJHRGSSMTNIHq5eGxERkQI0XE1ERERERKqKihwREREREakqKnJERERERKSqqMgREREREZGqoiJHRERERESqioocERERERGpKipyRERERESkqqjIERERERGRqqIiR0REREREqoqKHBERERERqSoqckREREREpKqoyBERERERkaqiIkdE9pp7iIetuPdEHUVERESEeNQBRGTycu+Bztvwrjsg3Jo/ljwWq/sQlloYcToRERGZqlTkiMi4uPfi25ZC5gkg3HWi75d43y+g6bNY+pSo4omIiMgUpuFqIjI+nV/ds8ABIAc43vpJPNwWQTARERGZ6lTkiMiYuTve9XX2LHB2l4Xu+8sVSURERGSAihwRGTvvgLBlhEYBnvl9WeKIiIiI7E5FjoiMnSUBG6kRWE050oiIiIgMoiJHRMbMLAXJ44FYkVZZrObt5YokIiIiMkBFjoiMi9VfROE5OTGIvw6Sx5YzkoiIiAigIkdExsmSR2FN1wEJ8kPXYgysSh8/BJv+Fcz0J0ZERETKT/vkiMi4Wfq9kDoeuh/As78HS2Gpt0PyTSpwREREJDIqckRkr1gwHeqWjrgMgYiIiEi56KNWERERERGpKipyRERERESkqqjIERERERGRqqIiR0REREREqoqKHBERERERqSoqckREREREpKqoyBERERERkaqiIkdERERERKqKihwREREREakqKnJERERERKSqxKMOUIy7A9DW1hZxEhERERERidLOmmBnjVBMRRc57e3tAMyaNSviJCIiIiIiUgna29tpamoq2sZ8NKVQRMIwZPPmzTQ0NGBmUceZEtra2pg1axYvvvgijY2NUceRCqHnQobSMyHD0XMhQ+mZkKH25plwd9rb29l///0JguKzbiq6JycIAg444ICoY0xJjY2N+mMke9BzIUPpmZDh6LmQofRMyFDjfSZG6sHZSQsPiIiIiIhIVVGRIyIiIiIiVUVFjgySSqVYvXo1qVQq6ihSQfRcyFB6JmQ4ei5kKD0TMlS5nomKXnhARERERERkrNSTIyIiIiIiVUVFjoiIiIiIVBUVOSIiIiIiUlVU5IiIiIiISFVRkSMiIiIiIlVFRY4U9d3vfpeFCxeSTqeZPn06p5xyStSRpEL09vYyf/58zIwnn3wy6jgSkY0bN7Js2TLmzp1LOp1m3rx5rF69mr6+vqijSZl98YtfZM6cOdTU1LBw4UJ+9atfRR1JInTNNddw1FFH0dDQwL777sspp5zCc889F3UsqSDXXnstZsbKlSsn5PoqcqSg++67j3PPPZelS5fym9/8hkceeYSzzz476lhSIT72sY+x//77Rx1DIvbss88ShiFr167lmWee4frrr+eWW27hE5/4RNTRpIzuueceVq1axerVq3n88cc5/PDDOemkk3j55ZejjiYRefjhh1mxYgWPPvoo69evJ5PJ8I53vIPOzs6oo0kFeOyxx1i7di2HHXbYhN1D++TIsLLZLHPmzOEzn/kMy5YtizqOVJjvf//7rFq1ivvuu49DDz2UJ554gvnz50cdSyrEmjVruPnmm3nhhReijiJlsnDhQo466ihuuukmAMIwZNasWVx66aVcfvnlEaeTStDS0sK+++7Lww8/zFve8pao40iEOjo6OOKII/jSl77EVVddxfz587nhhhtKfh/15MiwHn/8cTZt2kQQBLzxjW/k1a9+Ne985zt5+umno44mEXvppZdYvnw5d9xxB7W1tVHHkQrU2tpKc3Nz1DGkTPr6+vj1r3/NiSeeOHAsCAJOPPFEfvGLX0SYTCpJa2srgP42CCtWrODd7373oL8ZE0FFjgxr5yewV155JZ/61Kf4zne+w/Tp01m0aBHbtm2LOJ1Exd1ZsmQJF110EUceeWTUcaQCbdiwgRtvvJELL7ww6ihSJlu3biWXy7HffvsNOr7ffvuxZcuWiFJJJQnDkJUrV3Lcccfx+te/Puo4EqG7776bxx9/nGuuuWbC76UiZ4q5/PLLMbOiXzvH2AN88pOf5LTTTmPBggXcdtttmBn33ntvxD+FlNpon4sbb7yR9vZ2rrjiiqgjywQb7TOxu02bNnHyySdz+umns3z58oiSi0ilWbFiBU8//TR333131FEkQi+++CKXXXYZ3/jGN6ipqZnw+2lOzhTT0tLCK6+8UrTNQQcdxCOPPMJb3/pWfvrTn3L88ccPnFu4cCEnnngiV1999URHlTIa7XNxxhln8OCDD2JmA8dzuRyxWIxzzjmH22+/faKjSpmM9plIJpMAbN68mUWLFnHMMcfwb//2bwSBPkObKvr6+qitreWb3/zmoBU4zz//fHbs2MG6deuiCyeRu+SSS1i3bh0/+clPmDt3btRxJEIPPPAAp556KrFYbOBYLpfDzAiCgN7e3kHn9la8ZFeSSWHmzJnMnDlzxHYLFiwglUrx3HPPDRQ5mUyGjRs3Mnv27ImOKWU22ufiC1/4AlddddXA95s3b+akk07innvuYeHChRMZUcpstM8E5HtwFi9ePNDjqwJnakkmkyxYsICHHnpooMgJw5CHHnqISy65JNpwEhl359JLL+X+++/nxz/+sQoc4W1vextPPfXUoGNLly7lta99LR//+MdLWuCAihwpoLGxkYsuuojVq1cza9YsZs+ezZo1awA4/fTTI04nUTnwwAMHfV9fXw/AvHnzOOCAA6KIJBHbtGkTixYtYvbs2Vx33XW0tLQMnHvVq14VYTIpp1WrVnH++edz5JFHcvTRR3PDDTfQ2dnJ0qVLo44mEVmxYgV33nkn69ato6GhYWB+VlNTE+l0OuJ0EoWGhoY95mTV1dUxY8aMCZmrpSJHClqzZg3xeJxzzz2X7u5uFi5cyI9+9COmT58edTQRqRDr169nw4YNbNiwYY9CV6Ohp44zzzyTlpYWPv3pT7Nlyxbmz5/PD37wgz0WI5Cp4+abbwZg0aJFg47fdtttLFmypPyBZMrRnBwREREREakqGjgtIiIiIiJVRUWOiIiIiIhUFRU5IiIiIiJSVVTkiIiIiIhIVVGRIyIiIiIiVUVFjoiIiIiIVBUVOSIiIiIiUlVU5IiIiIiISFVRkSMiIiIiIlVFRY6IiIiIiFQVFTkiIiIiIlJV/j+y1vUDGY+9eAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot a graph\n", + "plt.figure(figsize=(10 ,5))\n", + "y_train = np.where(y_train>0 , 1, 0)\n", + "\n", + "plt.scatter(X_train[: , 0] , X_train[: , 1] , c= y_train , marker= 'o')\n", + "\n", + "x0_1 = np.amin(X_train[: , 0])\n", + "x0_2 = np.amax(X_train[: , 0])\n", + "\n", + "x1_1 = (-p.weight[0]*x0_1 - p.bias)/p.weight[1]\n", + "x1_2 = (-p.weight[0]*x0_2 - p.bias)/p.weight[1]\n", + "\n", + "plt.plot([x0_1 , x0_2] , [x1_1 , x1_2] , \"k\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Perceptron From Scratch/readmd.md b/Perceptron From Scratch/readmd.md new file mode 100644 index 0000000000..54572024cb --- /dev/null +++ b/Perceptron From Scratch/readmd.md @@ -0,0 +1,42 @@ +Here is a short README file for your Perceptron implementation: +# Perceptron Implementation + +This repository contains a simple implementation of the Perceptron algorithm for binary classification. The Perceptron is a type of linear classifier that updates its weights and bias based on the errors made on the training data. + +## Requirements + +- numpy +- pandas +- matplotlib +- scikit-learn + +You can install these dependencies using pip: + +```bash +pip install numpy pandas matplotlib scikit-learn +``` + +## Usage + +The `perceptron` class is implemented with methods to fit the model to the training data and make predictions on new data. The dataset used in the example is generated using `make_blobs` from `scikit-learn`. + +## Results + +The accuracy of the model is printed after training and predicting on the test set. Additionally, a plot is generated to visualize the decision boundary learned by the perceptron. + +## How to Use This Repository + +- Clone this repository to your local machine. + +```bash + git clone https://github.com/Niketkumardheeryan/ML-CaPsule/Perceptron From Scratch +``` +- For Python implementations and visualizations: + +1. Ensure you have Jupyter Notebook installed + +```bash + pip install jupyter +``` +2. Navigate to the project directory in your terminal. +3. Open perceptron.ipynb. \ No newline at end of file