├── .ipynb_checkpoints ├── Adalin_regression-checkpoint.ipynb ├── boston_AdalineRegressor-checkpoint.ipynb ├── classification-checkpoint.ipynb ├── iris_Knn&confusion-checkpoint.ipynb └── iris_classifier-checkpoint.ipynb ├── Adalin_regression.ipynb ├── Persepron ├── .ipynb_checkpoints │ └── perceptron-classification_class-checkpoint.ipynb ├── linear_data_test.csv ├── linear_data_train.csv ├── perceptron-classification.py ├── perceptron-classification_class.ipynb └── perceptron-classification_class.py ├── Titanic.ipynb ├── WeatherHistory ├── .ipynb_checkpoints │ └── Weather-checkpoint.ipynb ├── W.npy ├── Weather.ipynb ├── b.npy └── weatherHistory.csv ├── boston_AdalineRegressor.ipynb ├── classification.ipynb ├── iris_Knn&confusion.ipynb └── iris_classifier.ipynb /.ipynb_checkpoints/classification-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 24, 6 | "id": "4d3e23f7", 7 | "metadata": {}, 8 | "outputs": [], 9 | "source": [ 10 | "import numpy as np\n", 11 | "import matplotlib.pyplot as plt\n", 12 | "from numpy.linalg import inv" 13 | ] 14 | }, 15 | { 16 | "cell_type": "code", 17 | "execution_count": 9, 18 | "id": "9706111e", 19 | "metadata": {}, 20 | "outputs": [], 21 | "source": [ 22 | "def generate_data(n):\n", 23 | " hair_length_female = np.random.normal(40,7,n)\n", 24 | " hair_length_man=np.random.normal(10,3,n)\n", 25 | " \n", 26 | " label_female=np.zeros(n,dtype='int')\n", 27 | " label_man=np.ones(n,dtype='int')\n", 28 | " \n", 29 | " hair_length=np.concatenate((hair_length_female,hair_length_man))\n", 30 | " gender=np.concatenate((label_female,label_man))\n", 31 | " return hair_length,gender" 32 | ] 33 | }, 34 | { 35 | "cell_type": "code", 36 | "execution_count": 10, 37 | "id": "91c456e2", 38 | "metadata": {}, 39 | "outputs": [], 40 | "source": [ 41 | "n=100\n", 42 | "X,Y=generate_data(n)\n", 43 | "X=X.reshape(-1,1)\n", 44 | "Y=Y.reshape(-1,1)\n" 45 | ] 46 | }, 47 | { 48 | "cell_type": "code", 49 | "execution_count": 13, 50 | "id": "2e9aa9c6", 51 | "metadata": {}, 52 | "outputs": [ 53 | { 54 | "data": { 55 | "text/plain": [ 56 | "" 57 | ] 58 | }, 59 | "execution_count": 13, 60 | "metadata": {}, 61 | "output_type": "execute_result" 62 | }, 63 | { 64 | "data": { 65 | "image/png": "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\n", 66 | "text/plain": [ 67 | "
" 68 | ] 69 | }, 70 | "metadata": { 71 | "needs_background": "light" 72 | }, 73 | "output_type": "display_data" 74 | } 75 | ], 76 | "source": [ 77 | "plt.scatter(X[:n],Y[:n],label='famale')\n", 78 | "plt.scatter(X[n:],Y[n:],label='man')\n", 79 | "plt.xlabel(\"Hair Length\")\n", 80 | "plt.ylabel('Gender')\n", 81 | "plt.legend()" 82 | ] 83 | }, 84 | { 85 | "cell_type": "code", 86 | "execution_count": 22, 87 | "id": "916ee0e7", 88 | "metadata": {}, 89 | "outputs": [ 90 | { 91 | "data": { 92 | "image/png": "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\n", 93 | "text/plain": [ 94 | "
" 95 | ] 96 | }, 97 | "metadata": { 98 | "needs_background": "light" 99 | }, 100 | "output_type": "display_data" 101 | } 102 | ], 103 | "source": [ 104 | "#plt random slope\n", 105 | "plt.scatter(X[:n],Y[:n],label='famale')\n", 106 | "plt.scatter(X[n:],Y[n:],label='man')\n", 107 | "plt.xlabel(\"Hair Length\")\n", 108 | "plt.ylabel('Gender')\n", 109 | "plt.legend()\n", 110 | "\n", 111 | "for m in range(3):\n", 112 | " y_pred =np.matmul(X,[m])\n", 113 | " plt.plot(X,y_pred,c='red')" 114 | ] 115 | }, 116 | { 117 | "cell_type": "code", 118 | "execution_count": 26, 119 | "id": "5985a6a1", 120 | "metadata": {}, 121 | "outputs": [ 122 | { 123 | "data": { 124 | "text/plain": [ 125 | "" 126 | ] 127 | }, 128 | "execution_count": 26, 129 | "metadata": {}, 130 | "output_type": "execute_result" 131 | }, 132 | { 133 | "data": { 134 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAiFElEQVR4nO3deZhU1bnv8e/bTQONIh0FjQxKe2xlCALSMkgGDBrRJ87ROOSJ5CYSZ3OSq9cpHoLPzTFHrzk4xZhoiF6iojEEEyNxSm5MZGhknhQVpXEAQRCkgQbe+8eqhuqmq6u6unZXV+/f53n66d679l717upd69219qq1zN0REZH4Ksp3ACIikl9KBCIiMadEICISc0oEIiIxp0QgIhJzHfIdQHN1797d+/btm+8wREQKyrx58z529x6NPVZwiaBv375UVVXlOwwRkYJiZu+mekxNQyIiMadEICISc0oEIiIxV3D3CEREAGpra6murmb79u35DqVN6dy5M71796akpCTjfZQIRKQgVVdX07VrV/r27YuZ5TucNsHd2bBhA9XV1ZSXl2e8X2SJwMweAb4OrHP3LzTyuAGTgdOBbcB4d389kmAWTYOXJsHmaujWG8beBsddkPuyFk2Dv/wvqNkYlq0YfHdujqEtqPwufP3u7PdP9drl8v8jsbF9+3YlgQbMjEMOOYT169c3a78oPxFMAe4DHk3x+GlAReJnBPCLxO/cWjQNnr0WamvC8uY1YRmaX9k0VRbA9CthT+2+5faUBACqHg6/s0kGqV6792bBwt/l5v8jsaMksL9sXpPIbha7+/8DNjaxyVnAox7MAsrM7PCcB/LSpH2VTJ3amrA+l2W9NKl+Emiv5k3Jbr9Ur928Kbn7/4hIVvLZa6gXsCZpuTqxbj9mNsHMqsysqrkfedhc3bz12ZaVTXmFKNtPOalen1TlxeX1lIJ3zz330L9/fy655JJIyp84cSJ33XVXJGXXKYjuo+7+kLtXuntljx6NfkM6tW69m7c+27KyKa8QWXF2+6V6fVKVF5fXUwreAw88wAsvvMDUqVPzHUrW8pkI1gJ9kpZ7J9bl1tjboKS0/rqS0rA+l2WNvQ2KMu+uVbCGjc9uv1Sv3bDxufv/iDRh+vy1jL7jZcpv/DOj73iZ6fNbXt1cfvnlvP3225x22mn87Gc/Y9SoUQwdOpQTTzyRlStXAjBlyhTOPvtsTjnlFPr27ct9993H3XffzdChQxk5ciQbN4YW9F/96leccMIJDB48mPPOO49t27bt93xvvfUW48aNY9iwYXzpS19ixYoVLT4GyG8imAF824KRwGZ3/yDnz3LcBXDGPdCtD2Dh9xn3ZHcjsqmyjrsAzn4ASg/et322V89tVUt6DaV67b5+d+7+PyIpTJ+/lpueWczaTTU4sHZTDTc9s7jFyeDBBx+kZ8+evPLKK1xxxRX84x//YP78+UyaNImbb75573ZLlizhmWeeYe7cudxyyy106dKF+fPnM2rUKB59NPSnOffcc5k7dy4LFy6kf//+PPzww/s934QJE7j33nuZN28ed911F1deeWWL4q8TZffRx4ExQHczqwb+AygBcPcHgecIXUdXEbqPfieqWPZW1FGXlcvnaY9SvT563SRid85cSU1t/ftRNbW7uXPmSs4e2uityWbbvHkzl156KW+++SZmRm3tvs4jJ510El27dqVr165069aNM844A4BBgwaxaNEiICSLW2+9lU2bNrF161ZOPfXUeuVv3bqVf/3rX5x//vl71+3YsSMnsUeWCNz9ojSPO3BVVM8vIlLn/U01zVqfjR//+MecdNJJ/OEPf2D16tWMGTNm72OdOnXa+3dRUdHe5aKiInbt2gXA+PHjmT59OoMHD2bKlCn87W9/q1f+nj17KCsrY8GCBTmLeW9MOS9RRKSN6VlW2qz12di8eTO9eoVPF1OmTGn2/lu2bOHwww+ntra20RvPBx10EOXl5Tz11FNA+BbxwoULWxRzHSUCEWn3rj/1WEpL6t+zKy0p5vpTj83Zc9xwww3cdNNNDB06dO9VfnPcfvvtjBgxgtGjR9OvX79Gt5k6dSoPP/wwgwcPZuDAgfzxj39sadgAWGihKRyVlZWuiWlEZPny5fTv3z/j7afPX8udM1fy/qYaepaVcv2px+bs/kBb09hrY2bz3L2yse016JyIxMLZQ3u124q/pdQ0JCISc0oEIiIxp0QgIhJzSgQiIjGnRCAiEnNKBCIiMadEICISc0oEIhIPi6bBz78AE8vC70XTWlzk6tWr6devH+PHj+eYY47hkksu4cUXX2T06NFUVFQwZ84c5syZk3J46nPPPZdx48ZRUVHBDTfc0OJ4sqVEICLtX92c2ZvXAL5vbuwcJINVq1bxox/9iBUrVrBi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\n", 135 | "text/plain": [ 136 | "
" 137 | ] 138 | }, 139 | "metadata": { 140 | "needs_background": "light" 141 | }, 142 | "output_type": "display_data" 143 | } 144 | ], 145 | "source": [ 146 | "# Adaline \n", 147 | "\n", 148 | "m=np.matmul(inv(np.matmul(X.T,X)),np.matmul(X.T,Y))\n", 149 | "y_pred=np.matmul(X,m)\n", 150 | "\n", 151 | "plt.scatter(X[:n],Y[:n],label='famale')\n", 152 | "plt.scatter(X[n:],Y[n:],label='man')\n", 153 | "plt.plot(X,y_pred,c='red',lw=3)\n", 154 | "plt.xlabel('Hair Length')\n", 155 | "plt.ylabel('Gender')\n", 156 | "plt.legend()" 157 | ] 158 | }, 159 | { 160 | "cell_type": "code", 161 | "execution_count": null, 162 | "id": "cb608d7d", 163 | "metadata": {}, 164 | "outputs": [], 165 | "source": [] 166 | } 167 | ], 168 | "metadata": { 169 | "kernelspec": { 170 | "display_name": "Python 3 (ipykernel)", 171 | "language": "python", 172 | "name": "python3" 173 | }, 174 | "language_info": { 175 | "codemirror_mode": { 176 | "name": "ipython", 177 | "version": 3 178 | }, 179 | "file_extension": ".py", 180 | "mimetype": "text/x-python", 181 | "name": "python", 182 | "nbconvert_exporter": "python", 183 | "pygments_lexer": "ipython3", 184 | "version": "3.7.10" 185 | } 186 | }, 187 | "nbformat": 4, 188 | "nbformat_minor": 5 189 | } 190 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/iris_classifier-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 98, 6 | "id": "121a4f69", 7 | "metadata": {}, 8 | "outputs": [], 9 | "source": [ 10 | "import numpy as np\n", 11 | "from sklearn.datasets import load_iris\n", 12 | "from sklearn.model_selection import train_test_split\n", 13 | "from numpy.linalg import inv" 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": 99, 19 | "id": "8a32a739", 20 | "metadata": {}, 21 | "outputs": [ 22 | { 23 | "data": { 24 | "text/plain": [ 25 | "{'data': array([[5.1, 3.5, 1.4, 0.2],\n", 26 | " [4.9, 3. , 1.4, 0.2],\n", 27 | " [4.7, 3.2, 1.3, 0.2],\n", 28 | " [4.6, 3.1, 1.5, 0.2],\n", 29 | " [5. , 3.6, 1.4, 0.2],\n", 30 | " [5.4, 3.9, 1.7, 0.4],\n", 31 | " [4.6, 3.4, 1.4, 0.3],\n", 32 | " [5. , 3.4, 1.5, 0.2],\n", 33 | " [4.4, 2.9, 1.4, 0.2],\n", 34 | " [4.9, 3.1, 1.5, 0.1],\n", 35 | " [5.4, 3.7, 1.5, 0.2],\n", 36 | " [4.8, 3.4, 1.6, 0.2],\n", 37 | " [4.8, 3. , 1.4, 0.1],\n", 38 | " [4.3, 3. , 1.1, 0.1],\n", 39 | " [5.8, 4. , 1.2, 0.2],\n", 40 | " [5.7, 4.4, 1.5, 0.4],\n", 41 | " [5.4, 3.9, 1.3, 0.4],\n", 42 | " [5.1, 3.5, 1.4, 0.3],\n", 43 | " [5.7, 3.8, 1.7, 0.3],\n", 44 | " [5.1, 3.8, 1.5, 0.3],\n", 45 | " [5.4, 3.4, 1.7, 0.2],\n", 46 | " [5.1, 3.7, 1.5, 0.4],\n", 47 | " [4.6, 3.6, 1. , 0.2],\n", 48 | " [5.1, 3.3, 1.7, 0.5],\n", 49 | " [4.8, 3.4, 1.9, 0.2],\n", 50 | " [5. , 3. , 1.6, 0.2],\n", 51 | " [5. , 3.4, 1.6, 0.4],\n", 52 | " [5.2, 3.5, 1.5, 0.2],\n", 53 | " [5.2, 3.4, 1.4, 0.2],\n", 54 | " [4.7, 3.2, 1.6, 0.2],\n", 55 | " [4.8, 3.1, 1.6, 0.2],\n", 56 | " [5.4, 3.4, 1.5, 0.4],\n", 57 | " [5.2, 4.1, 1.5, 0.1],\n", 58 | " [5.5, 4.2, 1.4, 0.2],\n", 59 | " [4.9, 3.1, 1.5, 0.2],\n", 60 | " [5. , 3.2, 1.2, 0.2],\n", 61 | " [5.5, 3.5, 1.3, 0.2],\n", 62 | " [4.9, 3.6, 1.4, 0.1],\n", 63 | " [4.4, 3. , 1.3, 0.2],\n", 64 | " [5.1, 3.4, 1.5, 0.2],\n", 65 | " [5. , 3.5, 1.3, 0.3],\n", 66 | " [4.5, 2.3, 1.3, 0.3],\n", 67 | " [4.4, 3.2, 1.3, 0.2],\n", 68 | " [5. , 3.5, 1.6, 0.6],\n", 69 | " [5.1, 3.8, 1.9, 0.4],\n", 70 | " [4.8, 3. , 1.4, 0.3],\n", 71 | " [5.1, 3.8, 1.6, 0.2],\n", 72 | " [4.6, 3.2, 1.4, 0.2],\n", 73 | " [5.3, 3.7, 1.5, 0.2],\n", 74 | " [5. , 3.3, 1.4, 0.2],\n", 75 | " [7. , 3.2, 4.7, 1.4],\n", 76 | " [6.4, 3.2, 4.5, 1.5],\n", 77 | " [6.9, 3.1, 4.9, 1.5],\n", 78 | " [5.5, 2.3, 4. , 1.3],\n", 79 | " [6.5, 2.8, 4.6, 1.5],\n", 80 | " [5.7, 2.8, 4.5, 1.3],\n", 81 | " [6.3, 3.3, 4.7, 1.6],\n", 82 | " [4.9, 2.4, 3.3, 1. ],\n", 83 | " [6.6, 2.9, 4.6, 1.3],\n", 84 | " [5.2, 2.7, 3.9, 1.4],\n", 85 | " [5. , 2. , 3.5, 1. ],\n", 86 | " [5.9, 3. , 4.2, 1.5],\n", 87 | " [6. , 2.2, 4. , 1. ],\n", 88 | " [6.1, 2.9, 4.7, 1.4],\n", 89 | " [5.6, 2.9, 3.6, 1.3],\n", 90 | " [6.7, 3.1, 4.4, 1.4],\n", 91 | " [5.6, 3. , 4.5, 1.5],\n", 92 | " [5.8, 2.7, 4.1, 1. ],\n", 93 | " [6.2, 2.2, 4.5, 1.5],\n", 94 | " [5.6, 2.5, 3.9, 1.1],\n", 95 | " [5.9, 3.2, 4.8, 1.8],\n", 96 | " [6.1, 2.8, 4. , 1.3],\n", 97 | " [6.3, 2.5, 4.9, 1.5],\n", 98 | " [6.1, 2.8, 4.7, 1.2],\n", 99 | " [6.4, 2.9, 4.3, 1.3],\n", 100 | " [6.6, 3. , 4.4, 1.4],\n", 101 | " [6.8, 2.8, 4.8, 1.4],\n", 102 | " [6.7, 3. , 5. , 1.7],\n", 103 | " [6. , 2.9, 4.5, 1.5],\n", 104 | " [5.7, 2.6, 3.5, 1. ],\n", 105 | " [5.5, 2.4, 3.8, 1.1],\n", 106 | " [5.5, 2.4, 3.7, 1. ],\n", 107 | " [5.8, 2.7, 3.9, 1.2],\n", 108 | " [6. , 2.7, 5.1, 1.6],\n", 109 | " [5.4, 3. , 4.5, 1.5],\n", 110 | " [6. , 3.4, 4.5, 1.6],\n", 111 | " [6.7, 3.1, 4.7, 1.5],\n", 112 | " [6.3, 2.3, 4.4, 1.3],\n", 113 | " [5.6, 3. , 4.1, 1.3],\n", 114 | " [5.5, 2.5, 4. , 1.3],\n", 115 | " [5.5, 2.6, 4.4, 1.2],\n", 116 | " [6.1, 3. , 4.6, 1.4],\n", 117 | " [5.8, 2.6, 4. , 1.2],\n", 118 | " [5. , 2.3, 3.3, 1. ],\n", 119 | " [5.6, 2.7, 4.2, 1.3],\n", 120 | " [5.7, 3. , 4.2, 1.2],\n", 121 | " [5.7, 2.9, 4.2, 1.3],\n", 122 | " [6.2, 2.9, 4.3, 1.3],\n", 123 | " [5.1, 2.5, 3. , 1.1],\n", 124 | " [5.7, 2.8, 4.1, 1.3],\n", 125 | " [6.3, 3.3, 6. , 2.5],\n", 126 | " [5.8, 2.7, 5.1, 1.9],\n", 127 | " [7.1, 3. , 5.9, 2.1],\n", 128 | " [6.3, 2.9, 5.6, 1.8],\n", 129 | " [6.5, 3. , 5.8, 2.2],\n", 130 | " [7.6, 3. , 6.6, 2.1],\n", 131 | " [4.9, 2.5, 4.5, 1.7],\n", 132 | " [7.3, 2.9, 6.3, 1.8],\n", 133 | " [6.7, 2.5, 5.8, 1.8],\n", 134 | " [7.2, 3.6, 6.1, 2.5],\n", 135 | " [6.5, 3.2, 5.1, 2. ],\n", 136 | " [6.4, 2.7, 5.3, 1.9],\n", 137 | " [6.8, 3. , 5.5, 2.1],\n", 138 | " [5.7, 2.5, 5. , 2. ],\n", 139 | " [5.8, 2.8, 5.1, 2.4],\n", 140 | " [6.4, 3.2, 5.3, 2.3],\n", 141 | " [6.5, 3. , 5.5, 1.8],\n", 142 | " [7.7, 3.8, 6.7, 2.2],\n", 143 | " [7.7, 2.6, 6.9, 2.3],\n", 144 | " [6. , 2.2, 5. , 1.5],\n", 145 | " [6.9, 3.2, 5.7, 2.3],\n", 146 | " [5.6, 2.8, 4.9, 2. ],\n", 147 | " [7.7, 2.8, 6.7, 2. ],\n", 148 | " [6.3, 2.7, 4.9, 1.8],\n", 149 | " [6.7, 3.3, 5.7, 2.1],\n", 150 | " [7.2, 3.2, 6. , 1.8],\n", 151 | " [6.2, 2.8, 4.8, 1.8],\n", 152 | " [6.1, 3. , 4.9, 1.8],\n", 153 | " [6.4, 2.8, 5.6, 2.1],\n", 154 | " [7.2, 3. , 5.8, 1.6],\n", 155 | " [7.4, 2.8, 6.1, 1.9],\n", 156 | " [7.9, 3.8, 6.4, 2. ],\n", 157 | " [6.4, 2.8, 5.6, 2.2],\n", 158 | " [6.3, 2.8, 5.1, 1.5],\n", 159 | " [6.1, 2.6, 5.6, 1.4],\n", 160 | " [7.7, 3. , 6.1, 2.3],\n", 161 | " [6.3, 3.4, 5.6, 2.4],\n", 162 | " [6.4, 3.1, 5.5, 1.8],\n", 163 | " [6. , 3. , 4.8, 1.8],\n", 164 | " [6.9, 3.1, 5.4, 2.1],\n", 165 | " [6.7, 3.1, 5.6, 2.4],\n", 166 | " [6.9, 3.1, 5.1, 2.3],\n", 167 | " [5.8, 2.7, 5.1, 1.9],\n", 168 | " [6.8, 3.2, 5.9, 2.3],\n", 169 | " [6.7, 3.3, 5.7, 2.5],\n", 170 | " [6.7, 3. , 5.2, 2.3],\n", 171 | " [6.3, 2.5, 5. , 1.9],\n", 172 | " [6.5, 3. , 5.2, 2. ],\n", 173 | " [6.2, 3.4, 5.4, 2.3],\n", 174 | " [5.9, 3. , 5.1, 1.8]]),\n", 175 | " 'target': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", 176 | " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", 177 | " 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", 178 | " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", 179 | " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", 180 | " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", 181 | " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]),\n", 182 | " 'frame': None,\n", 183 | " 'target_names': array(['setosa', 'versicolor', 'virginica'], dtype='= 2)] = 2\n", 238 | " loss = np.mean(np.abs(np.subtract(y_test, y_pred)))\n", 239 | " return loss \n", 240 | "# if np.min(y_test)==0\n", 241 | " " 242 | ] 243 | }, 244 | { 245 | "cell_type": "code", 246 | "execution_count": 176, 247 | "id": "d5b7e556", 248 | "metadata": {}, 249 | "outputs": [ 250 | { 251 | "name": "stdout", 252 | "output_type": "stream", 253 | "text": [ 254 | "m [-0.01087176 -0.34079226 0.288308 0.67914941]\n" 255 | ] 256 | } 257 | ], 258 | "source": [ 259 | "x_train,x_test,y_train,y_test = train_test_split(X,Y,test_size=0.5)\n", 260 | "model=AdalineClassifier()\n", 261 | "model.fit(x_train,y_train)\n", 262 | "print('m',model.m)\n", 263 | "y_pred=model.predict(x_test)\n", 264 | "loss = model.evaluate(x_test, y_test)" 265 | ] 266 | }, 267 | { 268 | "cell_type": "code", 269 | "execution_count": 181, 270 | "id": "5a16c6b1", 271 | "metadata": {}, 272 | "outputs": [ 273 | { 274 | "name": "stdout", 275 | "output_type": "stream", 276 | "text": [ 277 | "loss: 0.15998411915144156\n" 278 | ] 279 | } 280 | ], 281 | "source": [ 282 | "print('loss:',loss)" 283 | ] 284 | }, 285 | { 286 | "cell_type": "code", 287 | "execution_count": 178, 288 | "id": "292aedaa", 289 | "metadata": {}, 290 | "outputs": [], 291 | "source": [ 292 | "class KNearestNeighbors:\n", 293 | " def __init__(self,k):\n", 294 | " self.k=k\n", 295 | " def fit(self,x_train,y_train):\n", 296 | " self.x_train=x_train\n", 297 | " self.y_train=y_train\n", 298 | " self.number_classes=len(np.unique(y_train))\n", 299 | " def NearNeighbors(self,x_test):\n", 300 | " distance=np.sum(np.subtract(x_test,self.x_train)**2, axis=1)\n", 301 | " near_neighbors=np.argsort(distance)[:self.k]\n", 302 | " return near_neighbors\n", 303 | " def predict(self,x_test):\n", 304 | " near_neighbors=self.NearNeighbors(x_test)\n", 305 | " y=np.argmax(np.bincount(self.y_train[near_neighbors]))\n", 306 | " return y\n", 307 | " def evaluate(self,x_test,y_test):\n", 308 | " self.x_test=x_test\n", 309 | " self.y_test=y_test\n", 310 | " y_predict=np.zeros(len(self.x_test))\n", 311 | " \n", 312 | " for i,test in enumerate(self.x_test):\n", 313 | " y_predict[i]=self.predict(test)\n", 314 | " evaluatation=(y_predict==self.y_test).sum()/len(self.y_test)\n", 315 | " return evaluatation" 316 | ] 317 | }, 318 | { 319 | "cell_type": "code", 320 | "execution_count": 182, 321 | "id": "6b1514ca", 322 | "metadata": {}, 323 | "outputs": [ 324 | { 325 | "name": "stdout", 326 | "output_type": "stream", 327 | "text": [ 328 | "acc: 0.94\n" 329 | ] 330 | } 331 | ], 332 | "source": [ 333 | "knn=KNearestNeighbors(k=5)\n", 334 | "knn.fit(x_train,y_train)\n", 335 | "\n", 336 | "y_pred=knn.predict(x_test)\n", 337 | "acc=knn.evaluate(x_test,y_test)\n", 338 | "print('acc: ',acc)" 339 | ] 340 | }, 341 | { 342 | "cell_type": "code", 343 | "execution_count": null, 344 | "id": "f4d9e968", 345 | "metadata": {}, 346 | "outputs": [], 347 | "source": [] 348 | } 349 | ], 350 | "metadata": { 351 | "kernelspec": { 352 | "display_name": "Python 3 (ipykernel)", 353 | "language": "python", 354 | "name": "python3" 355 | }, 356 | "language_info": { 357 | "codemirror_mode": { 358 | "name": "ipython", 359 | "version": 3 360 | }, 361 | "file_extension": ".py", 362 | "mimetype": "text/x-python", 363 | "name": "python", 364 | "nbconvert_exporter": "python", 365 | "pygments_lexer": "ipython3", 366 | "version": "3.6.12" 367 | } 368 | }, 369 | "nbformat": 4, 370 | "nbformat_minor": 5 371 | } 372 | -------------------------------------------------------------------------------- /Adalin_regression.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "id": "372cf13d", 7 | "metadata": {}, 8 | "outputs": [], 9 | "source": [ 10 | "import numpy as np\n", 11 | "import matplotlib.pyplot as plt\n", 12 | "from numpy.linalg import inv" 13 | ] 14 | }, 15 | { 16 | "cell_type": "code", 17 | "execution_count": 2, 18 | "id": "b3488187", 19 | "metadata": {}, 20 | "outputs": [], 21 | "source": [ 22 | "def generate_data(n):\n", 23 | " height=np.random.randint(50,220,n)\n", 24 | " slope=np.random.uniform(0.2,0.4,n)\n", 25 | " b=np.random.uniform(4,1,n)\n", 26 | " weight=height*slope +b\n", 27 | " return height,weight" 28 | ] 29 | }, 30 | { 31 | "cell_type": "code", 32 | "execution_count": 3, 33 | "id": "11b92d51", 34 | "metadata": {}, 35 | "outputs": [ 36 | { 37 | "name": "stdout", 38 | "output_type": "stream", 39 | "text": [ 40 | "[109 75 112 210 62 193 98 134 209 164 102 53 93 146 151 122 89 156\n", 41 | " 180 131 125 186 176 188 164 165 88 91 208 58 79 116 160 78 156 96\n", 42 | " 90 90 218 84 67 115 112 139 125 169 175 116 173 147 134 68 104 89\n", 43 | " 181 90 216 176 53 195 140 55 211 180 202 187 213 105 89 189 172 176\n", 44 | " 75 158 94 164 141 93 120 71 143 124 65 59 80 142 91 76 182 111\n", 45 | " 174 150 53 68 75 87 213 90 68 126] [36.3977915 31.54686663 40.51379964 45.37390566 15.47114049 59.43099519\n", 46 | " 41.56068986 51.13252228 64.67333642 47.49706703 38.99071841 16.28730129\n", 47 | " 31.6721524 38.66862487 41.61483221 39.97304113 25.24729156 59.80797077\n", 48 | " 42.0554569 36.96016043 31.30334308 46.8253739 45.50485639 54.18757285\n", 49 | " 47.51342866 37.02129223 25.34485204 34.71408016 82.02859921 16.24574291\n", 50 | " 19.60901712 29.63715189 60.20475079 26.42834559 62.76904348 23.7724737\n", 51 | " 27.05557581 32.3053621 61.19868254 31.67924341 18.74377753 28.21144289\n", 52 | " 37.02295539 41.8019504 36.12166755 53.28901213 68.70599677 31.32528922\n", 53 | " 47.18372852 51.42296949 35.34912087 20.25637485 33.1682802 22.9732632\n", 54 | " 49.4066249 20.30240921 79.34776585 51.43355884 12.3818858 76.87887857\n", 55 | " 54.98045532 20.79937134 44.91789657 48.36297634 79.38434838 73.96484785\n", 56 | " 68.47675089 25.75556149 36.41515799 53.97169744 57.28708513 48.18365596\n", 57 | " 17.71297386 38.11052636 34.73144675 48.41576002 56.15605186 25.84484126\n", 58 | " 47.00836033 22.96800062 54.96928881 39.43958413 17.18177709 15.07005758\n", 59 | " 25.77528741 47.10466407 29.02265372 17.48129141 65.62663679 36.27506304\n", 60 | " 54.14906716 61.65806469 19.34408494 25.90738236 33.80775739 22.66501397\n", 61 | " 65.31191352 25.95990476 26.21953401 31.05527433]\n" 62 | ] 63 | } 64 | ], 65 | "source": [ 66 | "height,weight=generate_data(n=100)\n", 67 | "print(height,weight)" 68 | ] 69 | }, 70 | { 71 | "cell_type": "code", 72 | "execution_count": 4, 73 | "id": "6f55a0b0", 74 | "metadata": {}, 75 | "outputs": [ 76 | { 77 | "name": "stdout", 78 | "output_type": "stream", 79 | "text": [ 80 | "(100, 1)\n", 81 | "(100, 1)\n" 82 | ] 83 | } 84 | ], 85 | "source": [ 86 | "X=height.reshape(-1,1)\n", 87 | "Y=weight.reshape(-1,1)\n", 88 | "print(X.shape)\n", 89 | "print(Y.shape)\n" 90 | ] 91 | }, 92 | { 93 | "cell_type": "code", 94 | "execution_count": 5, 95 | "id": "c2ffba6b", 96 | "metadata": {}, 97 | "outputs": [ 98 | { 99 | "data": { 100 | "text/plain": [ 101 | "Text(0, 0.5, 'Weight')" 102 | ] 103 | }, 104 | "execution_count": 5, 105 | "metadata": {}, 106 | "output_type": "execute_result" 107 | }, 108 | { 109 | "data": { 110 | "image/png": "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\n", 111 | "text/plain": [ 112 | "
" 113 | ] 114 | }, 115 | "metadata": { 116 | "needs_background": "light" 117 | }, 118 | "output_type": "display_data" 119 | } 120 | ], 121 | "source": [ 122 | "# plt random slope\n", 123 | "\n", 124 | "for m in range(1,4):\n", 125 | " Y_pred=np.matmul(X,[m])\n", 126 | " plt.plot(X,Y_pred,c='red')\n", 127 | " \n", 128 | "\n", 129 | "plt.scatter(X,Y)\n", 130 | "plt.xlabel('Height')\n", 131 | "plt.ylabel('Weight')" 132 | ] 133 | }, 134 | { 135 | "cell_type": "code", 136 | "execution_count": 6, 137 | "id": "7f0e94ec", 138 | "metadata": {}, 139 | "outputs": [ 140 | { 141 | "data": { 142 | "text/plain": [ 143 | "[]" 144 | ] 145 | }, 146 | "execution_count": 6, 147 | "metadata": {}, 148 | "output_type": "execute_result" 149 | }, 150 | { 151 | "data": { 152 | "image/png": "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\n", 153 | "text/plain": [ 154 | "
" 155 | ] 156 | }, 157 | "metadata": { 158 | "needs_background": "light" 159 | }, 160 | "output_type": "display_data" 161 | } 162 | ], 163 | "source": [ 164 | "#plt slope Adaline\n", 165 | "m=np.matmul(inv(np.matmul(X.T,X)),np.matmul(X.T,Y))\n", 166 | "y_pred=np.matmul(X,m)\n", 167 | "plt.scatter(X,Y)\n", 168 | "plt.plot(X,y_pred,c='red')\n" 169 | ] 170 | }, 171 | { 172 | "cell_type": "code", 173 | "execution_count": 10, 174 | "id": "d3d63e6f", 175 | "metadata": {}, 176 | "outputs": [ 177 | { 178 | "name": "stdout", 179 | "output_type": "stream", 180 | "text": [ 181 | "0.30758292198692483\n" 182 | ] 183 | }, 184 | { 185 | "data": { 186 | "text/plain": [ 187 | "Text(0, 0.5, 'Weight')" 188 | ] 189 | }, 190 | "execution_count": 10, 191 | "metadata": {}, 192 | "output_type": "execute_result" 193 | }, 194 | { 195 | "data": { 196 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEGCAYAAABhMDI9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAnqklEQVR4nO3de5RcZZnv8e+TTgMNiM0lYugYO0gmXCZKYotgnBmuAsolg4oyjuLInJzxzKgcJJNkZo6EWZxJOPGIupylJ7O8xCNyEbCJUQxMAs4xs0ASAgQIEYRE08QkMmlkTBs6yXP+2LuSquq9q+uyd+1d1b/PWr26etftrUplP/W+7/M+r7k7IiIiBeOyboCIiOSLAoOIiJRQYBARkRIKDCIiUkKBQURESozPugHVOO6447y3tzfrZoiItJR169b9xt0n1Hq/lggMvb29rF27NutmiIi0FDPbUs/9NJQkIiIlFBhERKSEAoOIiJRQYBARkRIKDCIiUqIlspJERFpB//oBlqzcxEuDQ5zQ3cXcC6cxe0ZP1s2qmQKDiEgC+tcPsOCeDQwN7wNgYHCIBfdsAGi54KChJBGRBCxZuelAUCgYGt7HkpWbMmpR/RQYREQS8NLgUE3H80yBQUQkASd0d9V0PM8UGEREEjD3wml0dXaUHOvq7GDuhdMyalH9Ug0MZvbfzexpM3vKzG4zs8PMbIqZPWJmz5vZHWZ2SJptEBFphtkzelh0xXR6urswoKe7i0VXTG+5iWcAS2vPZzPrAX4KnOruQ2Z2J/Aj4L3APe5+u5l9DXjC3b9a6bH6+vpcRfRERGpjZuvcva/W+6Wdrjoe6DKzYeBwYBtwLvBn4fXLgIVAxcAgIpKVZq1NyNMaiNQCg7sPmNnngV8CQ8D9wDpg0N33hjfbCkS+cjObA8wBmDx5clrNFBGJ1ay1CXlbA5HaHIOZHQ1cDkwBTgCOAC6q9v7uvtTd+9y9b8KEmveZEBFpWLPWJuRtDUSak8/nAy+6+053HwbuAWYB3WZW6KlMAgZSbIOISN2atTYhb2sg0gwMvwTONLPDzcyA84BngAeBD4S3uRq4N8U2iIjUrVlrE/K2BiK1wODujwB3AY8BG8LnWgrMA64zs+eBY4Gvp9UGEZFGNGttQt7WQKSaleTuNwA3lB1+ATgjzecVEUlCYeI37WyhZj1PtVJbx5AkrWMQkSTkKSW0GfK6jkFEJBfylhKaZ6qVJCJjQt5SQvNMgUFExoS8pYTmmQKDiIwJeUsJzTMFBhEZE/KWEppnmnwWkTEhbymheabAICJjxuwZPQoEVVBgEJGWMtbWImRBgUFEWobWIjSHJp9FpGVoLUJzKDCISMvQWoTmUGAQkZahtQjNocAgIi1DaxGaQ5PPItIytBahORQYRKSlaC1C+jSUJCIiJRQYRESkhAKDiIiUSC0wmNk0M3u86Oe3ZnatmR1jZg+Y2XPh76PTaoOIiNQutcDg7pvc/XR3Px14O7Ab+D4wH1jl7lOBVeHfIiKSE80aSjoP+IW7bwEuB5aFx5cBs5vUBhERqUKzAsOHgdvCy8e7+7bw8q+B46PuYGZzzGytma3duXNnM9ooIiI0YR2DmR0CXAYsKL/O3d3MPOp+7r4UWArQ19cXeRsRyS+Vx25dzVjgdjHwmLtvD//ebmYT3X2bmU0EdjShDSLSRCqPHa8VAmYzhpKu4uAwEsBy4Orw8tXAvU1og4g0kcpjRysEzIHBIZyDAbN//UDWTSuRamAwsyOAC4B7ig4vBi4ws+eA88O/RaSNqDx2tFYJmKkOJbn774Bjy469TJClJCJt6oTuLgYigsBYL49dU8Dcuxeefx5OPjnlVo2klc8ikjiVx45W1X4Su3fDOedAZyeccgrsaP40rAKDiCRu9oweFl0xnZ7uLgzo6e5i0RXTczfJ2mwVA+amTWAGRxwBDz0UXPmxj8Eb3tD0dqrstoikQuWxR4raT+LmY1/m3TMnld7w05+GW26Bcdl8d1dgEBFpogMBc9ky+PjHS6/s7oZdu7JoVgkFBhHJjVbI8W+Y2chj558PDzzQ/LbE0ByDiORCq+T4181sRFC4811X0P/Y1lwFBVCPQURyolKOf0v3GiJ6CE+/4UTe9xdfBqArhyvC1WMQkVxop0Vx9/7sxcgewu2z3k/vvBUHggLkc4GbAoOI5EJVOf559/zzYMbl7zyx5PDi8/8L/Y9tZcG7/yLybnkLfgoMIpILLb0o7tZbg97B1Kklh//rn/4dvfNW8LW3X86SlZtaJvhpjkFEciEqxz/3WUkf/CDcddeIw+f+5dd44djStQkvDQ5xy4dOL6k6C/kMfgoMIpIbLbMoLirlFGBoiFlf/PfYOlGtEvwUGETayJhYB5CluIDgB/cSm3vhtIq9glYIfgoMIm1Cm+OkqIqAUNAqvYJKFBhE2kTbrgPIUg0BoVgr9AoqUWAQyblqh4faaR1A5uoMCO1CgUEkx2oZHtLmOA363e/gyCOjr2tyQMh6rkjrGERyrJatIFt6HUCW1q8PegjlQeGii4KAkEFQyLpmlAKDSI7VMjykzXFqdMstQUCYObP0+De/GQSD++7LpFl52BdaQ0kiOVbr8FClSc+shydyY/p0eOqpkcd//vMRK5ezkIe5olR7DGbWbWZ3mdmzZrbRzM4ys2PM7AEzey78fXSabRBpZbUOD/WvH2DW4tVMmf9DZi1efWD4IQ/DE5krFLUrDwp79gQ9hBwEBchHzai0h5K+BPzY3U8G3gZsBOYDq9x9KrAq/FtEItQyPFTp5J+H4Yks9K8fiKxyChycPzjkkOY3rII8zBWZpzSxYmavBx4HTvSiJzGzTcDZ7r7NzCYCD7l7xVfc19fna9euTaWdIu1i1uLVkcNOPd1dvBQGi3IGvLj4fam3LRMxKaf9j23N/RBaUsN+ZrbO3ftqvV+acwxTgJ3AN83sbcA64DPA8e6+LbzNr4Hjo+5sZnOAOQCTJ09OsZki7aHS2PSYSmWNCQi981YA0NMCC/6yXiCX5lDSeGAm8FV3nwH8jrJho7AnEdllcfel7t7n7n0TJkxIsZki7aHS2HQehidS5R47ZNQ7b8WBoABa8FeNNAPDVmCruz8S/n0XQaDYHg4hEf7ekWIbRMaMSif/tk1lffnlIBiMG3kqm7VoVUlAKGjLXlLCUhtKcvdfm9mvzGyau28CzgOeCX+uBhaHv+9Nqw0iY8loxduyHp5I1L33wuzZI4/PnAnr1gEwt2zVOLRZLylFaa9j+BRwq5kdArwA/AVBL+VOM7sG2AJcmXIbRMaMrE7+TVsjcfHF8OMfjzy+ZAlcf33JoXaocpqV1LKSkqSsJJH8Kq/nBME380SHquKK2j35ZLBgTSLVm5Wkkhgi0pBU10jErUF47bVgwllBIRUqiSEiDUmlhMMYL3udNQUGkRSNhfpEia6RUEDIBQ0liaRkrNQnSmSNxGhlK6SpFBhEUjJW6hPVvUaiwqI0BYRsaShJJCVRwyuF41Pm/7CthpZqSpPdvBmmTIm+TsEgF9RjEElB//oBYkbLAdp6aCnWV74S9A6igoJ6CLmiHoNICpas3BRdBKxMYWipHXoNBeUT7quWfIjD/uM3I294443wuc8l9jzt0vvKAwUGkRTUkqrZTkXdihe7bb75kugbPfMMnHJKYs8DQe/r2jse58YfPM0Nl56mANEgBQaRFMSlcMbdtl0sWbmJjTddHH3l3r3Q0RF9XR3PUz6xD7Br9zAL7tkAoODQAAUGkRTMvXDaiDIRneMMDIb3HRxkarWibhWHb8xYE3Gf3nkrgg2BEgoKULmX1Y7Dc82mwCCSgrgCblHHWuUEFjV8s+CeDcyeOSny9sUlr5PuFY3WI2un4bksKDCIpCQuhbNVAkG58uGbuDmEU/7hvtRLXUf1yIq10/BcFhQYRKQqLw0OMW7/Pl5Ycnn0DcJ000VNyBYqPN7C5U8zODRccl2rDc/lkcpui8joNmyAt7418qpZi1axZv65TW7QQUpbjVdv2e2qegxmdrO7zxvtmIjUL5cnuM9+Fr7whcireuetCPZdGOXbedqvq612psuJaoeSLgDKg8DFEcdE2laaJ7i4iV3IaE4ipsrpxk9ez19OvpiXBofoqeI9yN3rkqpUDAxm9kngvwEnmtmTRVe9DiIz00TaUtonuEoF95p6Ao0re/3zn8PUqZxCbf/xc/O6pCaj9Ri+C9wHLALmFx1/1d3/I7VWieRM2ie4VDa7qUVcQNi/P/66KmT+uqQuFYvoufsr7r7Z3a8CtgLDBPW/jjSzyaM9uJltNrMNZva4ma0Njx1jZg+Y2XPh76OTeCEiaUr7BBeXXpl62uVoZa8bCAqQ4euShlRVXdXM/gbYDjwA/DD8WVHxTged4+6nF82MzwdWuftUYBWlPRGRXEr7BJfIZje1aNI+CE1/XZKIaiefrwWmufvLCTzn5cDZ4eVlwENoEltyLmpBVZInuLiV0omPwzd568xqX1cuM7LGsKrWMZjZg8AF7r63pgc3exHYRTD89H/cfamZDbp7d3i9AbsKf5fddw4wB2Dy5Mlv37JlSy1PLZK4lj157dkDhx0WfV0O1jGVT+xDEHSr2gVOKqp3HUPFwGBm14UXTwOmEQwh7Slc7+7RCc4H79/j7gNm9gaCYahPAcuLA4GZ7XL3ivMMWuAmUocHH4RzYxae5SAgFMxavDqy7lFPd1emC+faQVoL3F4X/v5l+HNI+FMVdx8If+8ws+8DZwDbzWyiu28zs4nAjlobLSIVXHAB/Ou/Rl9XISCk1SOq9Lj96wdii+Epcyk7FQODu99Y7wOb2RHAOHd/Nbz8HuAfgeXA1cDi8Pe99T6HiBSJmz+oYqe0tNZpVHpcoORyOWUuZafakhg/gBE7Fb4CrCWYO/h9xN2OB74fTCMwHviuu//YzB4F7jSza4AtwJX1Nl5EiA8IL7wQvb9yhLTWaVR63MLlKMpcyla1WUkvABOA28K/PwS8CvwB8C/AR8vv4O4vAG+LOP4ycF49jRVpVakM0ySYYRQ3nFPtLnQQ/RrrXf+hiedsVRsY3uXu7yj6+wdm9qi7v8PMnk6jYSK1yHPGUOLDNE1OOa1G3GvsPryTXbuHR9y+MEwUN+kc9b7k+d+43VS1wI2ylc7h5SPDP19LvFUiNSiclAYGh3AOnpT61w9k3TRg9OGUqjVpUVo94l6jO7EL3GpZ/Jb3f+N2U21g+CzwUzN70MweAv4fcH04qbwsrcaJVCOxE29KGi6n0YSA0BHTC4k7Xi7utbwyNMyiK6bT092FEfQGCsNEs2f0xF5XLu//xu2mqqEkd/+RmU0FTg4PbSqacP5iGg0TqVbeC7XF7U9cMevm1VfhqKOir0uhd3DVO9/Edx7+ZeTxalR6jZX2S6h2L4W8/xu3m4o9BjM7N/x9BfA+4C3hz3vDYyKZy3uhtprqBd1+e9A7iAoKKQ4Z3TR7On9+5uQDPYQOM/78zMncNHt6Vfev9Br71w8wa/Fqpsz/IbMWr65r+Cfv/8ZxknjtWRitx/AnwGrg0ojrHLgn8RaJ1CjtOkaNqqpe0BvfCNu3Rz9Ak+YPbpo9vepAUC7uNQKJTLzn/d84SitvUqQ9n6UttGzGStwY/j/9EyxY0Ny2pCDJchet9m8c99q7uzp5/Ib3NKUNae/5fDzwT8AJ7n6xmZ0KnOXuX6/1CUXS0HL7/sYFhIEBOOGE5rYlRUnODbTav3HcaxwcGqZ//UCuX0u1WUnfAlYChU/szwlKcYtILUbLMGqjoACtOzeQhEqvMe/ZVNUGhuPc/U5gP0BYfjt6LbuIjJTjNQhpGssb9VR6jXnPpqo2MPzOzI4lrJdkZmcS1EoSkUrGaEAoqGWtQruZPaOHow/vjLwu7z2minMMZnYt8O/A3xJUQT3RzNYQ1E36YOqtE2lVOSxbkZVWmxtI0g2XntZy2VQw+uTzJIIFbCcDzxJstvNvwG3u/pt0mybSYnbsgOOPj75uDAYEaeKWrQmrdmvPQ4A+4F3AWeHPoLufmm7zAkpXlVxbvDg+tVQBQTKUaroq0AUcBbw+/HkJiN9hQ2QsqFBHaNaiVcE3xMWrW+IbYlZabW3CWDHaHMNSgv2eXwUeIZhv+IK772pC2yQn9J+3TFxAWLKE/vOuCsaUw6yTJFe7ttu/QyuvDG53o2UlTQYOBX4NDABbgcGU2yQ5onLHReIyjHbuDIaMrr8+tSqg7fjvoIqp+VUxMLj7RcA7gM+Hhz4LPGpm95tZ3ftBS+vQf15GTzk97rgDh9KqAtqO/w6qmJpfo84xeDA7/ZSZDRKsXXgFuAQ4A7gh1dZJ5pr5nzd3QyV1pJzWVWK7Cu14Ek3rvZLGjVZ2+9NmdruZ/RL4CUFAeBa4Ajimmicwsw4zW29mK8K/p5jZI2b2vJndEWY8SU41q6RBroZKGliUltZK33YsLTGWV0Xn3WhzDL3A94B3uvtb3P2j7v5Vd3/C3fdX+RyfATYW/X0zcIu7nwTsAq6ptdHSPM36z5vkUEndNfATWKWc1krfdjyJjuVV0XmXatltM5tEsPXn/wSuI9jXYSfwRnffa2ZnAQvd/cJKj6N1DNlqxhDPlPk/JOqTaMCLi99X9eOUZ7oAdI4zjjxsPIO7h0e2f/NmmDIl+sFytgYhd0Ntkntpr2Oo1xcJymm8Lvz7WIKFcXvDv7cC+mTnXKWSBkmdrJIab47qeQzvd3btHgYODlFNX/I53nLbN6IfJGcBoWAsl5aQ5kotMJjZJcAOd19nZmfXcf85wByAyZMnJ9s4SUSSeehJ7dA12mTs5psvib8yw4Cg3oDkSbXVVesxC7jMzDYDtwPnAl8Cus2sEJAmEayPGMHdl7p7n7v3TZgwIcVmSr2SnBdIarw5roex+eZLooPCN7+ZeaXTXE28i5Bij8HdFwALAMIew/Xu/hEz+x7wAYJgcTVB1VZpQUmnUCYxVFLe84jrIVxww3IeWBi1lXnzVQqwWi0tWUh7jiHKPOB2M7sJWA9oe9AWlcc89MJJb/bMSZHX985bQVdnB4sur2/T+zSktUZBJSekXmkOJR3g7g+5+yXh5Rfc/Qx3P8ndP+jue5rRBkleLlMozSKDwqxFq5gyb0UuUyLTWqPQjqulpTmy6DFIm0i61nxDwx6jrFJe08y21Cipifdy9fZENPwkCgzSkKRSKOsa9nCHcTGd3gYmk5s9BJPWZi71DPVp+ElAgaHt5fHbX3mbzjl5Arc98iv2lZ3MYydgn3oKpsfMESSQXZTmZHCcNNYo1NMTyeK1S/4oMLSxPH77i2rTdx7+ZeztS4Y9rrkGvlH/orRqg2S7FKyrpyfSLq9dGqPA0Mby+O0vqk2VnNDdFT9/8OY3ByUtqlBLkMxjtlW9au2JtNNrl/o1JStJspHHb3+1PPfmmy9hzYLzRl6xfHnQQ6gyKEBtGTpx2VbnnDyhvuJ8LSSXmWbSdOoxtLFavv01ay4irk3FYstW/P73cOihdT1vLUEyagjmnJMncPe6gVwNy6UhrYlwaS2pVldNiqqr1iey0miHccQh43ll6GClUSBykjKNfP+oNhXEBoQEPqOzFq+ODEg93V2smX9u6vcXyUJeq6tKhsq//XUf3sl//n4vg0OllUYP6xzXtLmIqG+kkcNFkGj9okbXCuRxWE4kLQoMGWrG8E3x5OOsxasPlJ8uGBreFzsZnNZJ70Cb6tg6s5HnhPqHSDQpK2OJAkNGskglrfVEn8pJb/9+6OiIvi7lYc1G1gqktTpZJI+UlZSRLOrYxJ3ou7s6E8tEid1W89FHgx5CVFDIuOx1NbQNpYwl6jFkJIsx67hvvQsvOw1oPBMlqhd0xFVXwqZ/j75DzoNBOe2gJmOFAkNGmj1mXZjPGBreR4cZ+9zpKQsAjZ70intBsRlG73kPrFzZ0POISLoUGDLSzDHr8m/y+9wPPFeS34BfGhyKDwhr1sC73pXYc4lIehQYMpLEQqJqs5pGm89IJDPKjBcjDp84914mHnMkaxQURFqGAkOLqiWrKW7eonCfhjKjYlJOe+etAJLrBSWR2pvHSrMieaSspIw0ugF8LVlNcfMWHWb1Z0aZRQaF/se2MmvRqkQzdxp9r+Ie49o7HmfGP97fljWPRBqhHkNGGq18WktWU9x8Rl0L20ZZlDab5NdhJFElNq6q667dw21Z80ikEeoxZKTRdNVa9gmOy8HvqfYxhodjewjNWIOQRGpvpdtqH2SRUqn1GMzsMODfgEPD57nL3W8wsynA7cCxwDrgo+7+WlrtyKtG01VrzWqKy8Gv+BirV8N56dcxGk0Sqb2jVXVVzSORg9LsMewBznX3twGnAxeZ2ZnAzcAt7n4SsAu4JsU25Fajde+TWIkb+xiffH/QO4gKChmsUp574TQ6O0p7K50dVtOkdtT7XUw1j0QOSq3H4EE97/8M/+wMfxw4F/iz8PgyYCHw1bTakVdJpKsmsRK35DHMYEHEjT72MVi2rKHnaVh5LKoxNhVe48LlTx+oLlugmkcipVLdj8HMOgiGi04C/hlYAjwc9hYwszcB97n7H0bcdw4wB2Dy5Mlv37JlS2rtHEsiUzZnToq+8RNPwFvf2twGRkh6LwSlrcpYkcv9GNx9H3C6mXUD3wdOruG+S4GlEGzUk0oDx5jytQ9rFpwX3UPYvz8++ygDSdeVUs0jkcqakq7q7oNm9iBwFtBtZuPdfS8wCVASeZMUUjbT3Cktaf3rBxgX1nYqp3kBkXSkNvlsZhPCngJm1gVcAGwEHgQ+EN7sauDetNogpdYsOC8yKEyZtyK3QWHBPRsig4LmBUTSk2aPYSKwLJxnGAfc6e4rzOwZ4HYzuwlYD3w9xTYIjFq2Im49Q9biFqV1mGkvBJEUpZmV9CQwI+L4C8AZaT2vhPbsgcMOi7yqEBAg39+84+YQ9rsrKIikSCUx2s2jj8IZ0XG3OCAAHH14JzdcelpuT7LaZ1kkGyqJkTOxW2OO5lOfCoaMyoPCjBnMWrRqRFAAOPyQ8bkNCtD4IkARqY96DAlJqix0zWWw49JKv/Md+MhHAHhp/g8jb5L3MhBJLAIUkdqlusAtKX19fb527dqsmxGrf/0Ac+96guF9B9/Lzg5jyQfeVtNJLG4hV4cZ+91LT4xxAWH7dnjDG0oOnX7j/SNW+wJ0d3Wy8LLTUjnxahGZSPbqXeCmoaQE3PiDp0uCAsDwPufGHzxd0+PEfYPf535gD4HZMydVrnJaFBT61w8w4x+jg0LQxv0N73MQJYn9E0QkOwoMCdi1O/rEG3c8TqVJ1c03XxK9MC2mqF2hF1OpDb97bV/9G/VUUMsmQiKSPwoMORI12VprQChYsnLTiF5MtRqde0i6hIWINJcmnxPQ3dUZO4Zfi+LJ1jULovdB6J23IigeN8pjjXYS7urs4NDx4yLb3Wg6qNJMRVqbegwJWHjZaXSOK9svYJyx8LLTanug3buZPXNSZFDonbeC3nkrqk7XrHQSLqwcXnjZaamkgyrNVKS1qceQgIbTKh9+GM46K/Kq/se2smTlJqzGx5174bQRmVIQBKwlHyzNlipvNwQZUo3sExH1uMpKEmkNSlfN0uLFsCCi7vUVV8Dddzf88P3rB7jxB08fmIAupKdWOkGXr6WA4Nu+ahOJtJ5c7scw1sXm8k+aBAMRqZs/+hFcfHFiz1/+zf2IQ0f/566UUaTAIDI2KDCkJGoVc+xOaa+8AkcdlehzL1m5iYHBIYyDu2BWs5JaGUUiosCQkuJv3s3cGKc8IJU/w2jf/pVRJCLKSkrJS4NDda9BaETcHgblbYujjCIRUY8hDWa8GHG42jUIjahmyKfSt39lFImIAkOSRtkprRnfvOOGggqqacPsGT0KBCJj2JgZSqp7n4PR7NkTBISIoND/2FZmLVqFEWyf2YyUz6ihoELLmtUGEWltY2IdQyq5+c8/D1Onjjw+fTo8+WSdLU1GVJosaHhIZKypdx1DaoHBzN4EfBs4niA5Zqm7f8nMjgHuAHqBzcCV7r6r0mM1Ghji9jno6e5izfxza3uwO++ED31oxOFHlizlur1vyeWJV4vWRMamPO7HsBf4rLufCpwJ/LWZnQrMB1a5+1RgVfh3qhLJzf/EJ4LhovKgsHkz/Y9t5eOvvCnR/QeSHPpSGWwRqUVqk8/uvg3YFl5+1cw2Aj3A5cDZ4c2WAQ8B85J+/uLhlHFm7IvoGVWVm9/ZCXv3jjz+2mvBdcCS21Ynulq4ri0+K9CiNRGpRVMmn82sF5gBPAIcHwYNgF8TDDVF3WeOma01s7U7d+6s6fnKdxCLCgqjZucUJpTLg0JhDULnwZLaSZ94k/6GHxcAtWhNRKKkHhjM7EjgbuBad/9t8XUeTHBETnK4+1J373P3vgkTJtT0nHGLvDrMRs8QiskwqrRT2riYNNV6T7xJBxotWhORWqS6jsHMOgmCwq3ufk94eLuZTXT3bWY2EdiR9PPGnUD3u/Pi4vfFNTb6eIXJ+ULPpK4eSQVJl6XQojURqUVqgcHMDPg6sNHdv1B01XLgamBx+PvepJ+7phNrHQGhoFLPpJGMn7kXTovMImrkG74WrYlItdLsMcwCPgpsMLPHw2N/RxAQ7jSza4AtwJVJP/GoJ9bXXoNDDx15x49+FL797aqfp1LPpJqTcP/6ARYuf/rA9ppHH97JDZeepm/4IpKpNLOSfsrBRbflojc0TkjsiXViR3QPYflyuPTSqh47qWyn/vUDzP3eEwzvP3j/XbuHmXvXEwdegwKBiGShbWsllZxYN26EUyP2Qti4EU4+uerHLE8jbWRuYcnKTSVBoWB4n2tTHBHJVNsGBgB+8hM4++yRxwcH4fWvr/nhKs0p7HevacinUoaR1heISJbaNjD0rx9gdnlQ2LcPxo0ruU0t4/h1ZTvFqFQFVesLRCRLbVldtTDkc837/webjptM77wVnPIP99H/xLYRt6mljEWSC8XmXjiNznEj5zs6O0zrC0QkU23ZYygM+aw66Z2sOumdwMgSFdVsel/eozjn5AncvW4gkTTSwnNUykoSEclCWwaGalYOx91mYHDoQK+hvF7R3esGeP/be3jw2Z2JpJEq80hE8qgtA0M1C9wqjfEvuGcDh44fF9mjePDZnbWX6hYRaSFtOcdQTW2gqNsUDA3vOzC8U04ZQyLS7tqyx1DNyuHC5WvveLymx1bGkIi0u7YMDFDd+P3sGT0sWbkpckjp6MM7+f3w/kTrFYmItIK2HEqqRdyw0w2XnsaiK6bT0901eqluEZE20rY9hmqNNuykQCAiY82YDwygtFERkWJtGxhqLXchIiKBtgwM5VVQC+UuQENDIiKjacvJ50rlLkREpLK2DAzVlMQQEZFobRkYkqyCKiIy1rRlYKimJIaIiERry8nnakpiiIhItNQCg5l9A7gE2OHufxgeOwa4A+gFNgNXuvuuNJ5faxNEROqT5lDSt4CLyo7NB1a5+1RgVfi3iIjkSGqBwd3/DfiPssOXA8vCy8uA2Wk9v4iI1KfZk8/Hu3th4+VfA8fH3dDM5pjZWjNbu3Pnzua0TkREsstKcncHvML1S929z937JkyY0MSWiYiMbc0ODNvNbCJA+HtHk59fRERG0ex01eXA1cDi8Pe91dxp3bp1vzGzLVXc9DjgN/U3LzNqd3Op3c2ldjdXcbvfXM8DWDCikzwzuw04m6CR24EbgH7gTmAysIUgXbV8grqR51zr7n1JPV6zqN3NpXY3l9rdXEm0O7Ueg7tfFXPVeWk9p4iINK4tS2KIiEj92i0wLM26AXVSu5tL7W4utbu5Gm53anMMIiLSmtqtxyAiIg1SYBARkRItGxjMbLOZbTCzx81sbXjsGDN7wMyeC38fnXU7i5nZtLC9hZ/fmtm1ZrbQzAaKjr83B239hpntMLOnio5Fvr8W+LKZPW9mT5rZzJy1e4mZPRu27ftm1h0e7zWzoaL3/WtZtTtsT1TbYz8bZrYgfM83mdmF2bQ6tt13FLV5s5k9Hh7PzXtuZm8yswfN7Bkze9rMPhMez/XnvEK7k/ucu3tL/hCU7T6u7Nj/AuaHl+cDN2fdzgrt7yCoF/VmYCFwfdZtKmvfHwMzgadGe3+B9wL3AQacCTySs3a/BxgfXr65qN29xbfL+iem7ZGfDeBU4AngUGAK8AugIy/tLrv+fwOfy9t7DkwEZoaXXwf8PHxfc/05r9DuxD7nLdtjiNFK1VvPA37h7tWs6G46r6067uXAtz3wMNBdKH3SbFHtdvf73X1v+OfDwKSmN6wKMe95nMuB2919j7u/CDwPnJFa4yqo1G4zM+BK4LamNqoK7r7N3R8LL78KbAR6yPnnPK7dSX7OWzkwOHC/ma0zsznhsaqrt+bAhyn9z/I3YRfwG3kbAisS9/72AL8qut3W8FgefYLgW1/BFDNbb2Y/MbM/yqpRo4j6bLTKe/5HwHZ3f67oWO7eczPrBWYAj9BCn/Oydhdr6HPeyoHh3e4+E7gY+Gsz++PiKz3oQ+UyF9fMDgEuA74XHvoq8BbgdGAbQdc71/L8/sYxs78H9gK3hoe2AZPdfQZwHfBdMzsqq/bFaLnPRpmrKP0ClLv33MyOBO4GrnX33xZfl+fPeVy7k/ict2xgcPeB8PcO4PsE3ehWqd56MfCYu28HcPft7r7P3fcD/0JGQwJViHt/B4A3Fd1uUngsN8zs4wRbzX4k/M9OOAzzcnh5HcE4/R9k1sgIFT4brfCejweuINjOF8jfe25mnQQn11vd/Z7wcO4/5zHtTuxz3pKBwcyOMLPXFS4TTLo8xcHqrVBD9dYMlHyLKhun/FOC15JHce/vcuBjYdbGmcArRV3xzJnZRcDfApe5++6i4xPMrCO8fCIwFXghm1ZGq/DZWA582MwONbMpBG3/WbPbN4rzgWfdfWvhQJ7e83D+4+vARnf/QtFVuf6cx7U70c95FrPqjf4AJxJkZDwBPA38fXj8WIK9pJ8D/hU4Juu2RrT9COBl4PVFx/4vsAF4kuDDNzEH7byNoAs6TDCWek3c+0uQpfHPBN9ENgB9OWv38wRjw4+HP18Lb/v+8PPzOPAYcGkO3/PYzwbw9+F7vgm4OE/tDo9/C/irstvm5j0H3k0wTPRk0WfjvXn/nFdod2Kfc5XEEBGREi05lCQiIulRYBARkRIKDCIiUkKBQURESigwiIhICQUGGfPM7D/L/v64mX1llPtcZmbzR7nN2Wa2Iua6a83s8NpbK5I+BQaROrj7cndf3MBDXAsoMEguKTCIVBCuGr3bzB4Nf2aFxw/0KszsLWb2sAX7g9xU1gM50szuCuvk3xqumv00cALwoJk9mMHLEqlofNYNEMmBLgs3kgkdQ7DKGOBLwC3u/lMzmwysBE4pu/+XgC+5+21m9ldl180ATgNeAtYAs9z9y2Z2HXCOu/8m4dci0jAFBhEYcvfTC3+Ehcj6wj/PB04NytMAcFRY1bLYWRys2f9d4PNF1/3Mw1pBYfDpBX6aWMtFUqDAIFLZOOBMd/998cGiQDGaPUWX96H/c9ICNMcgUtn9wKcKf5jZ6RG3eZigUBkEGzBV41WCbRlFckeBQaSyTwN94Q5qzwDlcwgQZBhdZ2ZPAicBr1TxuEuBH2vyWfJI1VVFGhSuRxhydzezDwNXufvlWbdLpF4a7xRp3NuBr4QbqAwS7Lcr0rLUYxARkRKaYxARkRIKDCIiUkKBQURESigwiIhICQUGEREp8f8BoZXhO/t9B4QAAAAASUVORK5CYII=\n", 197 | "text/plain": [ 198 | "
" 199 | ] 200 | }, 201 | "metadata": { 202 | "needs_background": "light" 203 | }, 204 | "output_type": "display_data" 205 | } 206 | ], 207 | "source": [ 208 | "#linregress\n", 209 | "from scipy.stats import linregress\n", 210 | "result=linregress(X[:,0],Y[:,0])\n", 211 | "print(result.slope)\n", 212 | "y_pred=result.intercept + np.matmul(X,np.array([[result.slope]]))\n", 213 | "plt.scatter(X,Y)\n", 214 | "plt.plot(X,y_pred,c='red')\n", 215 | "plt.xlabel('Height')\n", 216 | "plt.ylabel('Weight')" 217 | ] 218 | }, 219 | { 220 | "cell_type": "code", 221 | "execution_count": null, 222 | "id": "7d9e2b78", 223 | "metadata": {}, 224 | "outputs": [], 225 | "source": [] 226 | } 227 | ], 228 | "metadata": { 229 | "kernelspec": { 230 | "display_name": "Python 3 (ipykernel)", 231 | "language": "python", 232 | "name": "python3" 233 | }, 234 | "language_info": { 235 | "codemirror_mode": { 236 | "name": "ipython", 237 | "version": 3 238 | }, 239 | "file_extension": ".py", 240 | "mimetype": "text/x-python", 241 | "name": "python", 242 | "nbconvert_exporter": "python", 243 | "pygments_lexer": "ipython3", 244 | "version": "3.7.10" 245 | } 246 | }, 247 | "nbformat": 4, 248 | "nbformat_minor": 5 249 | } 250 | -------------------------------------------------------------------------------- /Persepron/linear_data_test.csv: -------------------------------------------------------------------------------- 1 | X1, X2, Y 2 | 0.147562141,0.243518271,-1 3 | 0.17986899,0.092253703,-1 4 | 0.754244046,0.523874856,1 5 | 0.248663781,0.175587276,-1 6 | 0.39721749,0.034213495,-1 7 | 0.450981608,0.032885898,-1 8 | 0.335532917,0.16654443,-1 9 | 0.37137205,0.167201755,-1 10 | 0.280985655,0.214982886,-1 11 | 0.313304894,0.005219768,-1 12 | 0.638465839,0.590446627,1 13 | 0.431591143,0.047083073,-1 14 | 0.207774186,0.08197187,-1 15 | 0.741609489,0.484712762,1 16 | 0.953514363,0.63962583,1 17 | 0.642944532,0.561453315,1 18 | 0.226494744,0.054182458,-1 19 | 0.303693007,0.023117489,-1 20 | 0.442909335,0.264587381,-1 21 | 0.689641361,0.441606458,1 22 | 0.808516873,0.460988844,1 23 | 0.265847527,-0.02176123,-1 24 | 0.277512671,-0.03519462,-1 25 | 0.650996505,0.281211164,1 26 | 0.604564151,0.581607218,1 27 | 0.361767991,0.088941627,-1 28 | 0.666911464,0.65838218,1 29 | 0.230633128,-0.018832998,-1 30 | 0.137952214,0.113629399,-1 31 | 0.736452219,0.491761591,1 32 | 0.597108275,0.550563582,1 33 | 0.602609505,0.427255883,1 34 | 0.259748077,0.083086457,-1 35 | 0.6593677,0.398195252,1 36 | 0.684338148,0.243306417,1 37 | 0.855013781,0.552123366,1 38 | 0.960752242,0.589326479,1 39 | 0.218532689,0.149970477,-1 40 | 0.340460188,0.163897052,-1 41 | 0.355834203,0.336747248,-1 42 | 0.692211516,0.577457902,1 43 | 0.66215496,0.570323145,1 44 | 0.372511986,0.08571986,-1 45 | 0.229005358,0.026734503,-1 46 | 0.309531718,0.144331016,-1 47 | 0.263227254,0.127925335,-1 48 | 0.308466277,0.091035136,-1 49 | 0.09307746,0.113987149,-1 50 | 0.622936923,0.456717037,1 51 | 0.706148123,0.490803326,1 52 | 0.758732482,0.456626656,1 53 | 0.694577645,0.622832561,1 54 | 0.369820199,0.055049739,-1 55 | 0.239404253,0.132757785,-1 56 | 0.218428111,-0.219178158,-1 57 | 0.692946435,0.544563975,1 58 | 0.245371539,0.101855417,-1 59 | 0.569134424,0.294387383,1 60 | 0.714809619,0.538163513,1 61 | 0.358067954,0.170445389,-1 62 | 0.320547429,0.251711616,-1 63 | 0.331588068,0.107835654,-1 64 | 0.304030747,0.054775017,-1 65 | 0.321995719,0.005792178,-1 66 | 0.865360179,0.428046918,1 67 | 0.671798232,0.344725092,1 68 | 0.828788452,0.7110072,1 69 | 0.781619319,0.632570614,1 70 | 0.731475533,0.25791493,1 71 | 0.629915797,0.284014988,1 72 | 0.422354336,0.114636655,-1 73 | 0.673380826,0.577899254,1 74 | 0.411902242,-0.032830554,-1 75 | 0.819974435,0.549032983,1 76 | 0.749879049,0.521106457,1 77 | 0.865129108,0.505063149,1 78 | 0.802865061,0.534926888,1 79 | 0.757857478,0.353704732,1 80 | 0.795630162,0.351825596,1 81 | 0.462310718,0.101365623,-1 82 | 0.269750572,-0.149506766,-1 83 | 0.832120799,0.579782803,1 84 | 0.389685945,0.163719795,-1 85 | 0.300495738,0.042052746,-1 86 | 0.301934594,0.083983737,-1 87 | 0.150962587,0.233882916,-1 88 | 0.254529481,0.085979958,-1 89 | 0.758924966,0.514527266,1 90 | 0.688094758,0.451071028,1 91 | 0.308508647,0.124020803,-1 92 | 0.554884403,0.712912974,1 93 | 0.734968535,0.291312226,1 94 | 0.424844829,0.018544219,-1 95 | 0.307133844,-0.028034347,-1 96 | 0.398740975,-0.076759075,-1 97 | 0.273728057,0.251849537,-1 98 | 0.740350012,0.53173353,1 99 | 0.286412336,0.083431046,-1 100 | 0.844565149,0.556675572,1 101 | 0.570621351,0.405651266,1 102 | 0.780228462,0.682045157,1 103 | 0.808610831,0.480559179,1 104 | 0.404736393,0.053446156,-1 105 | 0.018221982,-0.089084263,-1 106 | 0.580213837,0.434088367,1 107 | 0.439028572,-0.008916224,-1 108 | 0.169013027,0.139040747,-1 109 | 0.7218132,0.453310307,1 110 | 0.579448726,0.601098431,1 111 | 0.597577907,0.58234623,1 112 | 0.706844038,0.444478339,1 113 | 0.311812492,-0.024560949,-1 114 | 0.696270344,0.559918987,1 115 | 0.517693836,0.136882581,-1 116 | 0.711330814,0.368148477,1 117 | 0.651106026,0.645855202,1 118 | 0.312846179,0.167410567,-1 119 | 0.245212502,0.078899602,-1 120 | 0.281584873,0.163301177,-1 121 | 0.224177538,0.19872975,-1 122 | 0.213607309,0.065963795,-1 123 | 0.236451259,0.06529366,-1 124 | 0.769116121,0.529177074,1 125 | 0.221575998,0.130222506,-1 126 | 0.624409461,0.379450782,1 127 | 0.547121965,0.273564135,1 128 | 0.175926185,0.160037295,-1 129 | 0.7361217,0.506024281,1 130 | 0.425480844,-0.047929102,-1 131 | 0.618590118,0.562390208,1 132 | 0.534384693,-0.004583157,-1 133 | 0.470829423,0.056717712,-1 134 | 0.375738399,0.10675403,-1 135 | 0.31963532,0.129350314,-1 136 | 0.24334967,0.116546107,-1 137 | 0.343573541,-0.003386661,-1 138 | 0.186259256,0.049140403,-1 139 | 0.646103731,0.476865433,1 140 | 0.74221688,0.390083115,1 141 | 0.839287535,0.550027764,1 142 | 0.800012129,0.466861127,1 143 | 0.216202082,0.176368366,-1 144 | 0.780494992,0.375525772,1 145 | 0.726960941,0.580849893,1 146 | 0.743612641,0.552738237,1 147 | 0.59782727,0.314015372,1 148 | 0.753161899,0.612163368,1 149 | 0.672106155,0.541402426,1 150 | 0.611648648,-0.176614446,-1 151 | 0.643311341,0.539175367,1 152 | 0.652427514,0.386155038,1 153 | 0.301520618,0.007797255,-1 154 | 0.580917034,0.318993261,1 155 | 0.658638759,0.585335317,1 156 | 0.52265547,0.526482285,1 157 | 0.619107709,0.395568496,1 158 | 0.342854386,0.007790579,-1 159 | 0.869997334,0.574001573,1 160 | 0.318543716,0.114391118,-1 161 | 0.228396073,0.010606503,-1 162 | 0.727737131,0.383825537,1 163 | 0.242654358,0.229605566,-1 164 | 0.849147311,0.485542676,1 165 | 0.688785681,0.568723327,1 166 | 0.601072642,0.4729492,1 167 | 0.386597758,-0.046255317,-1 168 | 0.173427736,0.066103221,-1 169 | 0.212619485,0.226220588,-1 170 | 0.676379388,0.478200808,1 171 | 0.814570221,0.343974473,1 172 | 0.385176266,0.032160798,-1 173 | 0.749057204,0.460541975,1 174 | 0.249098134,0.135190024,-1 175 | 0.75561642,0.499437878,1 176 | 0.605289892,0.576382527,1 177 | 0.220124708,0.100802584,-1 178 | 0.611660354,0.582417425,1 179 | 0.638657315,0.567476782,1 180 | 0.70736496,0.5534601,1 181 | 0.750636528,0.41806486,1 182 | 0.258629634,0.205122709,-1 183 | 0.561659197,0.302892925,1 184 | 0.261830597,0.067522521,-1 185 | 0.61430857,0.605958741,1 186 | 0.414439463,0.009654258,-1 187 | 0.25232288,0.050655974,-1 188 | 0.290671271,0.001554054,-1 189 | 0.235453515,0.110972029,-1 190 | 0.732335416,0.448978572,1 191 | 0.810313995,0.495563825,1 192 | 0.421663018,-0.035647715,-1 193 | 0.696456152,0.492043579,1 194 | 0.648005875,0.474735589,1 195 | 0.586856366,0.486846359,1 196 | 0.311153185,0.066713738,-1 197 | 0.238197827,0.32980093,-1 198 | 0.152745736,-0.016922677,-1 199 | 0.383676691,-0.061388829,-1 200 | 0.587949575,0.759074051,1 201 | 0.298771399,0.181005648,-1 202 | -------------------------------------------------------------------------------- /Persepron/linear_data_train.csv: -------------------------------------------------------------------------------- 1 | X1, X2, Y 2 | 0.272702493,0.02019367,-1 3 | 0.867855052,0.597829896,1 4 | 0.686252591,0.425683115,1 5 | 0.186145516,0.041271694,-1 6 | 0.645338926,0.580301642,1 7 | 0.674375675,0.427871763,1 8 | 0.699879938,0.404807703,1 9 | 0.802841564,0.416099191,1 10 | 0.585520611,0.614734443,1 11 | 0.159362691,0.043879185,-1 12 | 0.819060935,0.537459473,1 13 | 0.878940344,0.498259089,1 14 | 0.717795051,0.474461892,1 15 | 0.566033677,0.387396343,1 16 | 0.24742973,0.087999573,-1 17 | 0.431249648,0.508121167,1 18 | 0.445587716,0.495087107,1 19 | 0.760391742,0.444561107,1 20 | 0.760510615,0.515525122,1 21 | 0.275494819,0.140478719,-1 22 | 0.753968842,0.524162772,1 23 | 0.29449774,-0.0503884,-1 24 | 0.804717984,0.398515224,1 25 | 0.300418039,0.351027136,-1 26 | 0.688360546,0.373526723,1 27 | 0.852345401,0.406303936,1 28 | 0.668099899,0.531841348,1 29 | 0.304800741,0.150389929,-1 30 | 0.6193675,0.480216866,1 31 | 0.686703089,0.361979344,1 32 | 0.718589859,0.416212573,1 33 | 0.826085146,0.575286896,1 34 | 0.42044841,-0.054640306,-1 35 | 0.751415321,0.325021724,1 36 | 0.73059241,0.541059118,1 37 | 0.81390484,0.495235613,1 38 | 0.339090629,0.030999138,-1 39 | 0.387754496,0.111295769,-1 40 | 0.338508363,0.183845232,-1 41 | 0.252169642,-0.027792077,-1 42 | 0.192477984,0.248539504,-1 43 | 0.579132816,0.596674753,1 44 | 0.709753564,0.627776265,1 45 | 0.385744506,0.173471897,-1 46 | 0.378661421,0.247146939,-1 47 | 0.646574261,0.322675381,1 48 | 0.609118024,0.647831712,1 49 | 0.75863507,0.597297179,1 50 | 0.112918894,0.039919664,-1 51 | 0.07571968,0.212549149,-1 52 | 0.262526612,0.153510776,-1 53 | 0.400776043,0.011892806,-1 54 | 0.249868973,0.087510966,-1 55 | 0.300843499,-0.125478801,-1 56 | 0.687329592,0.585402381,1 57 | 0.2160495,0.107752456,-1 58 | 0.727973307,0.445424059,1 59 | 0.611661189,0.443567247,1 60 | 0.659200378,0.438264243,1 61 | 0.316661223,0.005127233,-1 62 | 0.335511102,0.022028709,-1 63 | 0.568790247,0.605633121,1 64 | 0.759945347,0.530666204,1 65 | 0.254527444,0.171592939,-1 66 | 0.766837549,0.486441995,1 67 | 0.33289476,-0.011293685,-1 68 | 0.377466774,0.155504538,-1 69 | 0.399326027,0.153662508,-1 70 | 0.836999238,0.564460048,1 71 | 0.171119963,0.12753686,-1 72 | 0.506373282,0.41795237,1 73 | 0.560722898,0.720223842,1 74 | 0.348845476,0.225755863,-1 75 | 0.251503093,-0.043765769,-1 76 | 0.177615609,0.075315489,-1 77 | 0.478794517,0.205951267,-1 78 | 0.829635535,0.272892546,1 79 | 0.837778498,0.453830065,1 80 | 0.314005751,-0.036418264,-1 81 | 0.777874637,0.658965983,1 82 | 0.667422914,0.450202738,1 83 | 0.413187585,-0.038254268,-1 84 | 0.313650896,-0.052069716,-1 85 | 0.337713942,0.142314507,-1 86 | 0.208535456,0.036561098,-1 87 | 0.751917523,0.397763749,1 88 | 0.704285129,0.017352975,-1 89 | 0.660159168,0.686879191,1 90 | 0.239882597,0.039489328,-1 91 | 0.261667488,0.120468314,-1 92 | 0.221322822,-0.014796035,-1 93 | 0.302200895,0.077336751,-1 94 | 0.464646005,0.062440613,-1 95 | 0.723534671,0.561586284,1 96 | 0.779848416,0.403351221,1 97 | 0.296195397,-0.088982598,-1 98 | 0.310118813,-0.047025597,-1 99 | 0.280329284,0.209183926,-1 100 | 0.495449786,0.094389729,-1 101 | 0.323181642,0.214347078,-1 102 | 0.608712387,0.464674598,1 103 | 0.333967006,0.10885881,-1 104 | 0.670725446,0.562078812,1 105 | 0.157682516,0.114425939,-1 106 | 0.263527985,0.077934192,-1 107 | 0.768842729,0.607910862,1 108 | 0.782968217,0.684563066,1 109 | 0.559552053,0.525739247,1 110 | 0.218011674,0.235791501,-1 111 | 0.889413715,0.272981766,1 112 | 0.707683165,0.438581002,1 113 | 0.626040632,0.57345244,1 114 | 0.319897191,0.064477158,-1 115 | 0.414126766,0.299837128,-1 116 | 0.321648042,0.110466635,-1 117 | 0.302937417,0.080064283,-1 118 | 0.229048041,-0.184479428,-1 119 | 0.083852327,0.167658403,-1 120 | 0.191948769,-0.049862439,-1 121 | 0.710093053,0.511290768,1 122 | 0.249260921,0.084829402,-1 123 | 0.344202229,0.031080198,-1 124 | 0.394779069,0.063996793,-1 125 | 0.296291514,0.09405547,-1 126 | 0.812874595,0.469660618,1 127 | 0.31202094,0.338829143,-1 128 | 0.663441005,0.463599189,1 129 | 0.51647155,0.661466566,1 130 | 0.301371309,0.075325597,-1 131 | 0.273261668,0.063309958,-1 132 | 0.191452121,-0.143733307,-1 133 | 0.180617863,0.154215475,-1 134 | 0.229543176,0.163137051,-1 135 | 0.245315234,0.019128303,-1 136 | 0.748493032,0.435325674,1 137 | 0.772508782,0.588852648,1 138 | 0.63647794,0.390966712,1 139 | 0.28508557,-0.005317315,-1 140 | 0.163379626,-0.117361546,-1 141 | 0.468617184,0.207884744,-1 142 | 0.716267376,0.580559952,1 143 | 0.691690404,0.455468189,1 144 | 0.832068211,0.498498174,1 145 | 0.798097754,0.422749114,1 146 | 0.316819265,-0.004756159,-1 147 | 0.827857868,0.631884677,1 148 | 0.82494071,0.451138823,1 149 | 0.749289181,0.53232899,1 150 | 0.624983995,0.351158852,1 151 | 0.24640977,0.150676967,-1 152 | 0.223024354,-0.151750473,-1 153 | 0.762533931,0.586377574,1 154 | 0.256898604,0.043850976,-1 155 | 0.253907298,-0.039504454,-1 156 | 0.73437275,0.663550372,1 157 | 0.814369496,0.468059077,1 158 | 0.458348241,0.245312288,-1 159 | 0.439622581,0.06321598,-1 160 | 0.640924212,0.430795319,1 161 | 0.388509099,0.197161149,-1 162 | 0.18113295,0.126716633,-1 163 | 0.376802676,0.1596273,-1 164 | 0.613992378,0.448724107,1 165 | 0.831026553,0.484913716,1 166 | 0.556045972,0.587379268,1 167 | 0.395878016,0.103231209,-1 168 | 0.591953582,0.417286878,1 169 | 0.467251123,0.520724902,1 170 | 0.346922581,0.094477565,-1 171 | 0.696503871,0.437940147,1 172 | 0.637613214,0.471962377,1 173 | 0.335162982,-0.027939762,-1 174 | 0.143582808,0.167860616,-1 175 | 0.723751518,0.478458347,1 176 | 0.660177641,0.483452537,1 177 | 0.764268006,0.535206233,1 178 | 0.720740792,0.389326271,1 179 | 0.174056769,0.15423859,-1 180 | 0.19878876,0.0068262,-1 181 | 0.910390774,0.566187876,1 182 | 0.776646385,0.568139089,1 183 | 0.587905469,0.436903267,1 184 | 0.66945716,0.614707436,1 185 | 0.81028328,0.545987496,1 186 | 0.344774208,0.088155052,-1 187 | 0.303495334,0.00893834,-1 188 | 0.269511612,0.211219558,-1 189 | 0.299334936,0.10114696,-1 190 | 0.506022528,0.578908198,1 191 | 0.394109802,0.033647605,-1 192 | 0.327404729,0.043100751,-1 193 | 0.365495573,0.048273009,-1 194 | 0.3741303,0.035991392,-1 195 | 0.855269381,0.453325723,1 196 | 0.183413427,0.027202759,-1 197 | 0.733614867,0.526643787,1 198 | 0.318182021,0.103656648,-1 199 | 0.240920266,0.050865777,-1 200 | 0.513047324,0.615283054,1 201 | 0.151334881,0.315431997,-1 202 | 0.394462482,0.101655086,-1 203 | 0.51517078,0.587955119,1 204 | 0.878229025,0.383079544,1 205 | 0.209125275,0.040515509,-1 206 | 0.74107371,0.543223635,1 207 | 0.717691808,0.468865944,1 208 | 0.292397882,-0.233389261,-1 209 | 0.702115243,0.572679676,1 210 | 0.37509487,0.150809692,-1 211 | 0.785725653,0.657917019,1 212 | 0.654858803,0.594007047,1 213 | -0.015536607,0.11847357,-1 214 | 0.82368985,0.517843286,1 215 | 0.737024213,0.516770848,1 216 | 0.547824942,0.542864387,1 217 | 0.003002436,0.066932161,-1 218 | 0.273884393,0.171475706,-1 219 | 0.103536256,0.059867481,-1 220 | 0.773675819,0.453959112,1 221 | 0.578217532,0.436671714,1 222 | 0.232639643,0.240924534,-1 223 | 0.727694558,0.642259843,1 224 | 0.290605671,0.164229335,-1 225 | 0.692293723,0.49693959,1 226 | 0.615593462,0.449406012,1 227 | 0.627821905,0.619436043,1 228 | 0.23832943,0.286376,-1 229 | 0.792581076,0.344853674,1 230 | 0.350738566,0.225582247,-1 231 | 0.319592423,0.086751309,-1 232 | 0.643171035,0.563205997,1 233 | 0.374723362,0.008377007,-1 234 | 0.254324259,0.00144734,-1 235 | 0.578663882,0.529705468,1 236 | 0.882743803,0.561587201,1 237 | 0.815857168,0.527439454,1 238 | 0.726982121,0.492554059,1 239 | 0.552847329,0.577227366,1 240 | 0.637439392,0.515361217,1 241 | 0.835461222,0.350519885,1 242 | 0.652410316,0.509471949,1 243 | 0.488358974,0.00779776,-1 244 | 0.785369846,0.570234703,1 245 | 0.777757686,0.451730707,1 246 | 0.795701598,0.524204837,1 247 | 0.5491691,0.384759753,1 248 | 0.234862683,0.129931624,-1 249 | 0.193303346,0.102307827,-1 250 | 0.742839831,0.682694302,1 251 | 0.743079208,0.437048647,1 252 | 0.195641254,0.142516327,-1 253 | 0.194197686,0.071130349,-1 254 | 0.397289909,0.147242119,-1 255 | 0.280735383,0.274119761,-1 256 | 0.27161631,0.130158034,-1 257 | 0.226743614,0.031337905,-1 258 | 0.323762524,0.23784457,-1 259 | 0.433031581,0.088240437,-1 260 | 0.634980623,0.521478939,1 261 | 0.24883376,0.220434483,-1 262 | 0.631488997,0.507633088,1 263 | 0.581698848,0.51666811,1 264 | 0.615425234,0.350418392,1 265 | 0.195709694,0.053442351,-1 266 | 0.258753404,0.084635387,-1 267 | 0.679225607,0.480197922,1 268 | 0.356454895,0.005996127,-1 269 | 0.157243083,0.001982887,-1 270 | 0.403489012,0.176443486,-1 271 | 0.406157734,0.148474645,-1 272 | 0.557526379,0.469763928,1 273 | 0.409614776,0.12769519,-1 274 | 0.221130958,0.002462516,-1 275 | 0.307149139,0.03511284,-1 276 | 0.880521324,0.437411475,1 277 | 0.20905491,0.36536814,-1 278 | 0.744834054,0.328366131,1 279 | 0.619738988,0.498248349,1 280 | 0.732680163,0.356227528,1 281 | 0.235409738,0.155565968,-1 282 | 0.708282473,0.466522589,1 283 | 0.653624612,0.545726726,1 284 | 0.244974324,0.023331704,-1 285 | 0.687006405,0.537180417,1 286 | 0.270027215,0.145099857,-1 287 | 0.529880648,0.373601704,1 288 | 0.153435201,0.08271426,-1 289 | 0.196907982,0.011033579,-1 290 | 0.183488582,0.178008252,-1 291 | 0.103729267,0.226377009,-1 292 | 0.497275351,0.557524688,1 293 | 0.234936388,0.153641322,-1 294 | 0.638117953,0.502399163,1 295 | 0.265919559,-0.017544407,-1 296 | 0.972739429,0.579478912,1 297 | 0.771707056,0.432483215,1 298 | 0.319847915,-0.018293371,-1 299 | 0.640152219,0.446549485,1 300 | 0.309726419,0.018071172,-1 301 | 0.596342178,0.465539422,1 302 | 0.700837299,0.564599834,1 303 | 0.627143376,0.566889376,1 304 | 0.678457617,0.462068881,1 305 | 0.335575549,0.236793685,-1 306 | 0.552340913,0.454735797,1 307 | 0.775272924,0.57057105,1 308 | 0.389002733,0.084444015,-1 309 | 0.774075575,0.64428697,1 310 | 0.436576259,0.113144386,-1 311 | 0.131806366,0.135492054,-1 312 | 0.86530561,0.39300403,1 313 | 0.383896547,0.136931931,-1 314 | 0.528768511,0.186942062,-1 315 | 0.872037927,0.52429898,1 316 | 0.31939868,0.082050069,-1 317 | 0.306019229,0.171146091,-1 318 | 0.568028897,0.397139632,1 319 | 0.687004258,0.657174774,1 320 | 0.264884893,0.152177916,-1 321 | 0.324477457,0.130638598,-1 322 | 0.680743646,0.618979277,1 323 | 0.621895528,0.573375984,1 324 | 0.712168083,0.535508736,1 325 | 0.619787017,0.609027977,1 326 | 0.365233331,-0.061336224,-1 327 | 0.397735987,0.112311028,-1 328 | 0.606235254,0.400447896,1 329 | 0.321941398,0.213748588,-1 330 | 0.461363309,0.118628065,-1 331 | 0.70108411,0.432315413,1 332 | 0.599379648,0.557589212,1 333 | 0.765671833,0.522974365,1 334 | 0.418904308,0.141407527,-1 335 | 0.092823653,0.208792514,-1 336 | 0.773308592,0.384933544,1 337 | 0.310011149,-0.113025501,-1 338 | 0.330476298,0.056283357,-1 339 | 0.719222957,0.599601234,1 340 | 0.094826811,0.155328008,-1 341 | 0.266557091,0.028139647,-1 342 | 0.645157934,0.50422698,1 343 | 0.962330528,0.452805672,1 344 | 0.729786812,0.567362215,1 345 | 0.428220793,-0.116947049,-1 346 | 0.282920313,0.210396468,-1 347 | 0.818960733,0.471478708,1 348 | 0.301000396,0.275350639,-1 349 | 0.248563052,0.210458573,-1 350 | 0.624567746,0.46336477,1 351 | 0.721131917,0.331701804,1 352 | 0.444882507,0.061202706,-1 353 | 0.638377284,0.445003526,1 354 | 0.696976438,0.360248232,1 355 | 0.332136597,-0.109847077,-1 356 | 0.699361385,0.432264273,1 357 | 0.83199397,0.539947466,1 358 | 0.561925911,0.424648173,1 359 | 0.156189816,0.072905575,-1 360 | 0.693031841,0.405688204,1 361 | 0.284499115,0.169492667,-1 362 | 0.382645621,0.693017458,1 363 | 0.787366045,0.562457487,1 364 | 0.357534849,0.026936192,-1 365 | 0.731630969,0.553183989,1 366 | 0.1962344,-0.183104296,-1 367 | 0.360587443,0.0459158,-1 368 | 0.207579155,0.153368409,-1 369 | 0.779538871,0.31652036,1 370 | 0.60341397,0.565691098,1 371 | 0.703962937,0.515774251,1 372 | 0.262673572,0.065065824,-1 373 | 0.28207933,0.111953207,-1 374 | 0.297324925,-0.039122832,-1 375 | 0.763180071,0.490652822,1 376 | 0.315184964,0.253006255,-1 377 | 0.734171641,0.519167159,1 378 | 0.184180985,0.003931616,-1 379 | 0.223298865,-0.026327092,-1 380 | 0.316478145,0.057503571,-1 381 | 0.378857138,0.220829649,-1 382 | 0.397656834,0.083190442,-1 383 | 0.759538686,0.437127673,1 384 | 0.61666464,0.61739168,1 385 | 0.145722236,0.1080842,-1 386 | 0.212343118,0.150167955,-1 387 | 0.735033094,0.570909233,1 388 | 0.775437103,0.371256938,1 389 | 0.713781264,0.62710455,1 390 | 0.657921395,0.661998316,1 391 | 0.76126467,0.463976868,1 392 | 0.713206276,0.744066074,1 393 | 0.496790565,0.346152052,1 394 | 0.229258132,0.223919223,-1 395 | 0.629957821,0.598895837,1 396 | 0.463104017,0.583455772,1 397 | 0.74019708,0.511804495,1 398 | 0.793007641,0.645624889,1 399 | 0.670301302,0.505798661,1 400 | 0.642616536,0.528714804,1 401 | 0.788762645,0.616529533,1 402 | 0.85746494,0.510314894,1 403 | 0.336846955,-0.142491179,-1 404 | 0.633643111,0.560760075,1 405 | 0.808547386,0.483391731,1 406 | 0.171527188,0.181674626,-1 407 | 0.785541616,0.584142957,1 408 | 0.679314779,0.588366113,1 409 | 0.361113481,0.05357248,-1 410 | 0.397064291,0.214166443,-1 411 | 0.592898508,0.597423108,1 412 | 0.762216938,0.685826996,1 413 | 0.59847089,0.5122326,1 414 | 0.847631109,0.469639452,1 415 | 0.352206405,0.065813032,-1 416 | 0.302196572,0.065740719,-1 417 | 0.635779981,0.528047686,1 418 | 0.578992955,0.514896918,1 419 | 0.212999521,0.054144148,-1 420 | 0.891804459,0.39866566,1 421 | 0.654340337,0.451580502,1 422 | 0.247719578,0.0799734,-1 423 | 0.273897422,0.203501938,-1 424 | 0.567001183,0.597298736,1 425 | 0.46779814,0.229337852,-1 426 | 0.570353133,0.478803833,1 427 | 0.443542502,0.092817096,-1 428 | 0.833742703,0.433885149,1 429 | 0.207152652,0.160692107,-1 430 | 0.596946688,0.504932395,1 431 | 0.237987469,0.111890467,-1 432 | 0.122120423,0.06644436,-1 433 | 0.625397213,0.429400535,1 434 | 0.778207481,0.503531293,1 435 | 0.436212859,0.012286227,-1 436 | 0.625001695,0.549123827,1 437 | 0.136545301,0.126831485,-1 438 | 0.59773158,0.556662445,1 439 | 0.408344126,0.253336636,-1 440 | 0.964226975,0.320675978,1 441 | 0.324997356,0.048644424,-1 442 | 0.652230817,0.531950364,1 443 | 0.038982817,0.137251855,-1 444 | 0.736664215,0.404307514,1 445 | 0.744811761,0.575886916,1 446 | 0.470458605,0.289305227,-1 447 | 0.386235497,0.129688952,-1 448 | 0.287511323,0.128228004,-1 449 | 0.214845705,0.15513268,-1 450 | 0.549283008,0.50296066,1 451 | 0.310174446,0.094148108,-1 452 | 0.195454567,-0.234607608,-1 453 | 0.298249802,0.112851003,-1 454 | 0.690237005,0.378108841,1 455 | 0.189398549,0.089027216,-1 456 | 0.614365823,0.456521991,1 457 | 0.518062634,0.561211029,1 458 | 0.372343421,-0.067379295,-1 459 | 0.605582551,0.719570588,1 460 | 0.558400399,0.553650999,1 461 | 0.619303707,0.525020408,1 462 | 0.416806926,0.127498072,-1 463 | 0.668371871,0.439494297,1 464 | 0.227864006,0.249375945,-1 465 | 0.388964304,0.051211859,-1 466 | 0.523396016,0.079391949,-1 467 | 0.6965027,0.319249569,1 468 | 0.694920878,0.611577831,1 469 | 0.185607223,0.141410362,-1 470 | 0.639350524,0.531104368,1 471 | 0.294566651,0.076481761,-1 472 | 0.725640169,0.493583054,1 473 | 0.877070872,0.391289726,1 474 | 0.587562805,0.729819252,1 475 | 0.340721421,0.168497748,-1 476 | 0.430236481,0.130542182,-1 477 | 0.785999866,0.539671414,1 478 | 0.758827794,0.503597044,1 479 | 0.590143103,0.151490159,-1 480 | 0.57817475,0.267200798,1 481 | 0.657664684,0.410509107,1 482 | 0.839918272,0.427395442,1 483 | 0.39200354,0.236253719,-1 484 | 0.788051288,0.292994345,1 485 | 0.739784992,0.354434077,1 486 | 0.455170463,-0.130902506,-1 487 | 0.24444367,0.200144612,-1 488 | 0.636376133,0.457756387,1 489 | 0.796637839,0.58073782,1 490 | 0.708801577,0.545352361,1 491 | 0.550265645,0.484494062,1 492 | 0.234541465,0.233991673,-1 493 | 0.194670135,0.126177918,-1 494 | 0.766889065,0.466402613,1 495 | 0.800718848,0.404593259,1 496 | 0.381284473,0.176873564,-1 497 | 0.599522552,0.543136173,1 498 | 0.240574345,0.025351393,-1 499 | 0.410017041,-0.010081254,-1 500 | 0.361974435,0.08814345,-1 501 | 0.207727525,-0.036764061,-1 502 | 0.159448925,0.201522378,-1 503 | 0.256651273,-0.132347853,-1 504 | 0.197554559,0.177957295,-1 505 | 0.398728684,0.167280159,-1 506 | 0.360811994,-0.048248666,-1 507 | 0.733941291,0.433150455,1 508 | 0.618828631,0.486055269,1 509 | 0.165115647,0.166373378,-1 510 | 0.329986469,-0.145319876,-1 511 | 0.655945618,0.565458428,1 512 | 0.635921014,0.611493955,1 513 | 0.187670063,0.258563366,-1 514 | 0.349829852,0.084957808,-1 515 | 0.378321216,0.214635757,-1 516 | 0.707728669,0.481147708,1 517 | 0.355190717,0.120052747,-1 518 | 0.466632126,0.034233503,-1 519 | 0.660195421,0.5357922,1 520 | 0.372382588,0.178211757,-1 521 | 0.289559635,0.232916244,-1 522 | 0.275691767,0.104233261,-1 523 | 0.457583347,0.011356806,-1 524 | 0.30207949,0.153308803,-1 525 | 0.342152316,0.223798247,-1 526 | 0.273887321,0.206809481,-1 527 | 0.685612837,0.664078399,1 528 | 0.764881455,0.621398,1 529 | 0.522380209,0.358551794,1 530 | 0.593308566,0.451690106,1 531 | 0.291803725,0.127856814,-1 532 | 0.726693013,0.461352574,1 533 | 0.737229357,0.505908625,1 534 | 0.565792951,0.633270228,1 535 | -0.042991801,0.134210111,-1 536 | 0.831211183,0.526235902,1 537 | 0.650675908,0.513559987,1 538 | 0.696222491,0.557615802,1 539 | 0.650270083,0.432031433,1 540 | 0.211309306,0.185172747,-1 541 | 0.880032898,0.471690943,1 542 | 0.242159522,0.124004648,-1 543 | 0.738575812,0.560734748,1 544 | 0.218745426,-0.028033197,-1 545 | 0.157586196,0.116680322,-1 546 | 0.746213041,0.479935581,1 547 | 0.737379178,0.524749497,1 548 | 0.676603306,0.574394608,1 549 | 0.234500311,0.133431799,-1 550 | 0.7404275,0.342508163,1 551 | 0.746154364,0.611291854,1 552 | 0.13048354,0.270796874,-1 553 | 0.363394338,0.0324432,-1 554 | 0.699695087,0.377325658,1 555 | 0.215982659,0.10027664,-1 556 | 0.322170813,0.028695185,-1 557 | 0.467815313,0.1662577,-1 558 | 0.344496908,-0.078789157,-1 559 | 0.269913803,0.180110737,-1 560 | 0.607093838,0.428992876,1 561 | 0.702841599,0.528984273,1 562 | 0.433699692,0.040123678,-1 563 | 0.642206235,0.166347497,1 564 | 0.280306384,0.051508611,-1 565 | 0.199028976,0.15739628,-1 566 | 0.685560135,0.351734395,1 567 | 0.158536018,0.145683091,-1 568 | 0.160030888,0.172756913,-1 569 | 0.564790817,0.477457505,1 570 | 0.552832873,0.642784727,1 571 | 0.194718232,0.156165825,-1 572 | 0.426026429,0.164696486,-1 573 | 0.597887804,0.594844294,1 574 | 0.295528267,0.07471834,-1 575 | 0.352633667,0.123923521,-1 576 | 0.116067262,0.105276933,-1 577 | 0.189970216,0.131514007,-1 578 | 0.358483581,0.158239696,-1 579 | 0.527275122,0.466595976,1 580 | 0.766176617,0.378363494,1 581 | 0.318242759,0.024772061,-1 582 | 0.349499568,0.068991219,-1 583 | 0.646156331,0.612417041,1 584 | 0.846563762,0.546017215,1 585 | 0.746112883,0.385233322,1 586 | 0.572935439,0.404890793,1 587 | 0.147158625,0.046082534,-1 588 | 0.336616456,0.066909262,-1 589 | 0.310793721,0.271359281,-1 590 | 0.728453224,0.322437669,1 591 | 0.253853548,-0.084252651,-1 592 | 0.709475389,0.52256018,1 593 | 0.800320633,0.480947298,1 594 | 0.455797243,0.055495748,-1 595 | 0.624757344,0.601581398,1 596 | 0.412517797,0.183547428,-1 597 | 0.754312959,0.542308257,1 598 | 0.774425471,0.55964283,1 599 | 0.785912061,0.607153576,1 600 | 0.55064757,0.52125398,1 601 | 0.781194628,0.437515084,1 602 | 0.769721404,0.489638617,1 603 | 0.345851331,-0.083542396,-1 604 | 0.274205453,0.036972956,-1 605 | 0.742730067,0.448510139,1 606 | 0.669008357,0.556092799,1 607 | 0.521279743,0.533259746,1 608 | 0.368961393,0.062056571,-1 609 | 0.41834396,-0.001487664,-1 610 | 0.678772181,0.297239508,1 611 | 0.81691795,0.350846548,1 612 | 0.576715848,0.510633959,1 613 | 0.609197072,0.696525281,1 614 | 0.290185007,0.095099127,-1 615 | 0.220627943,0.172388574,-1 616 | 0.323604069,0.321929879,-1 617 | 0.636452067,0.3786471,1 618 | 0.261772083,0.125482954,-1 619 | 0.199142614,0.248370103,-1 620 | 0.359692273,0.133475455,-1 621 | 0.65692378,0.399015674,1 622 | 0.765466551,0.486622733,1 623 | 0.363038944,0.190146712,-1 624 | 0.573728527,0.708506135,1 625 | 0.227434505,0.132005929,-1 626 | 0.362261102,0.182091406,-1 627 | 0.552767592,0.640231348,1 628 | 0.745008922,0.476138905,1 629 | 0.235016095,0.030821329,-1 630 | 0.569927186,0.533599513,1 631 | 0.540919226,0.445965588,1 632 | 0.537303629,0.442510392,1 633 | 0.614599312,0.293594213,1 634 | 0.606013975,0.544264841,1 635 | 0.45452881,0.499476424,1 636 | 0.737317162,0.455849266,1 637 | 0.226877644,0.077825777,-1 638 | 0.235769091,-0.054114838,-1 639 | 0.629191246,0.412962868,1 640 | 0.288703335,0.050983971,-1 641 | -0.055361045,0.112077098,-1 642 | 0.308572148,0.178866374,-1 643 | 0.280267718,0.168879329,-1 644 | 0.29059518,0.085496432,-1 645 | 0.879795924,0.517910779,1 646 | 0.647119064,0.487188901,1 647 | 0.187124095,0.121866784,-1 648 | 0.422112816,0.209956177,-1 649 | 0.732559071,0.440294558,1 650 | 0.388661232,0.148966053,-1 651 | 0.423245072,0.086738763,-1 652 | 0.282849124,0.148769987,-1 653 | 0.42476834,0.055631781,-1 654 | 0.17412996,0.008071876,-1 655 | 0.501843353,0.133031451,-1 656 | 0.120615735,0.03769336,-1 657 | 0.378693368,-0.043891427,-1 658 | 0.17008104,0.18233515,-1 659 | 0.352413327,0.014439808,-1 660 | 0.729827688,0.593487551,1 661 | 0.378109776,0.289359719,-1 662 | 0.312490135,0.069306008,-1 663 | 0.231522643,0.047844674,-1 664 | 0.399658151,-0.085374281,-1 665 | 0.469529396,0.551583233,1 666 | 0.183216612,0.124901309,-1 667 | 0.500774519,0.103434288,-1 668 | 0.407243067,0.112239607,-1 669 | 0.741062199,0.38653063,1 670 | 0.299881603,0.205125899,-1 671 | 0.548105379,0.463687354,1 672 | 0.349747824,0.076735242,-1 673 | 0.528560887,0.23368114,-1 674 | 0.697685065,0.421634161,1 675 | 0.683603527,0.529769636,1 676 | 0.224155126,0.130060041,-1 677 | 0.842064145,0.389687569,1 678 | 0.349116725,0.093136445,-1 679 | 0.7174258,0.569001564,1 680 | 0.303835389,-0.080860031,-1 681 | 0.385282842,0.176629671,-1 682 | 0.728233195,0.437566562,1 683 | 0.275560823,0.067759535,-1 684 | 0.752526631,0.437676928,1 685 | 0.775945515,0.647335356,1 686 | 0.289443822,0.129655964,-1 687 | 0.457031044,0.110360319,-1 688 | 0.670168642,0.550344589,1 689 | 0.704943163,0.523602746,1 690 | 0.317110572,0.244019106,-1 691 | 0.340153311,0.161452198,-1 692 | 0.677736499,0.52966745,1 693 | 0.263745005,-0.024475376,-1 694 | 0.31649886,-0.060687455,-1 695 | 0.831297688,0.429401654,1 696 | 0.4567053,0.06242385,-1 697 | 0.359645481,0.04486786,-1 698 | 0.685459002,0.484052444,1 699 | 0.318081689,0.005097992,-1 700 | 0.858439428,0.463609515,1 701 | 0.730090558,0.505085751,1 702 | 0.657915724,0.626157951,1 703 | 0.463987854,0.114426246,-1 704 | 0.553660197,0.084271033,-1 705 | 0.460782988,0.297823064,-1 706 | 0.264636372,-0.073322175,-1 707 | 0.318521878,0.156081826,-1 708 | 0.176521557,0.20987995,-1 709 | 0.616728757,0.598782674,1 710 | 0.348737364,0.196038947,-1 711 | 0.584272236,0.558395291,1 712 | 0.49104824,-0.034174891,-1 713 | 0.3632213,0.003114169,-1 714 | 0.29442849,0.074038117,-1 715 | 0.314484068,0.174130968,-1 716 | 0.711674831,0.72222553,1 717 | 0.429497326,-0.003385711,-1 718 | 0.693051453,0.552981854,1 719 | 0.694557977,0.34433532,1 720 | 0.698380455,0.502353059,1 721 | 0.546240528,0.484799738,1 722 | 0.844569998,0.511630529,1 723 | 0.82963165,0.449013521,1 724 | 0.611370787,0.475376481,1 725 | 0.48794442,0.352474619,1 726 | 0.678121429,0.717614502,1 727 | 0.65623898,0.506295704,1 728 | 0.808704356,0.544289437,1 729 | 0.291000786,0.18756243,-1 730 | 0.286008831,0.183256271,-1 731 | 0.778314687,0.551749874,1 732 | 0.348163415,0.052616457,-1 733 | 0.698985646,0.450526988,1 734 | 0.65241927,0.551775767,1 735 | 0.714540613,0.499080189,1 736 | 0.288269544,0.176780433,-1 737 | 0.701376296,0.634380795,1 738 | 0.169854261,0.13018346,-1 739 | 0.665964081,0.497872022,1 740 | 0.659681611,0.440149383,1 741 | 0.295506048,0.193564522,-1 742 | 0.358188324,0.188038263,-1 743 | 0.251838993,0.141931476,-1 744 | 0.25508882,0.136113796,-1 745 | 0.788789907,0.472736976,1 746 | 0.254720083,0.27884195,-1 747 | 0.40009649,0.169806941,-1 748 | 0.389325389,0.042820796,-1 749 | 0.303596644,-0.021135694,-1 750 | 0.598075982,0.716344407,1 751 | 0.846531857,0.630666796,1 752 | 0.63698758,0.523821578,1 753 | 0.704328174,0.464595077,1 754 | 0.333602865,0.196001785,-1 755 | 0.718377688,0.446878867,1 756 | 0.292129462,0.208819776,-1 757 | 0.181418812,0.305065208,-1 758 | 0.297265443,0.049079955,-1 759 | 0.575074707,0.546141853,1 760 | 0.360464793,0.205406106,-1 761 | 0.81907476,0.412413217,1 762 | 0.278193245,0.322133842,-1 763 | 0.234574413,0.226352646,-1 764 | 0.755055765,0.736836426,1 765 | 0.733022751,0.592673411,1 766 | 0.853484904,0.65792942,1 767 | 0.806216184,0.500627924,1 768 | 0.621731433,0.486957145,1 769 | 0.258087814,-0.063557824,-1 770 | 0.814553235,0.437462099,1 771 | 0.231235131,-0.002687331,-1 772 | 0.338905885,0.252978188,-1 773 | 0.277807733,-0.039978546,-1 774 | 0.516568826,0.151487917,-1 775 | 0.642047975,0.43053591,1 776 | 0.783554459,0.437011098,1 777 | 0.404887232,-0.209793611,-1 778 | 0.831418301,0.665979212,1 779 | 0.713385192,0.562375117,1 780 | 0.110918433,0.179360867,-1 781 | 0.817393901,0.570687722,1 782 | 0.362123656,0.133749839,-1 783 | 0.678044743,0.552285481,1 784 | 0.639184966,0.389256202,1 785 | 0.301418047,0.025173911,-1 786 | 0.296389032,0.148132631,-1 787 | 0.641962356,0.492083971,1 788 | 0.350710788,0.272359214,-1 789 | 0.607008203,0.342777977,1 790 | 0.74532921,0.581449828,1 791 | 0.37876657,-0.028604268,-1 792 | 0.319729888,0.096884011,-1 793 | 0.691802673,0.640285256,1 794 | 0.242278151,-0.027544236,-1 795 | 0.332368857,0.107204489,-1 796 | 0.246628887,-0.059848372,-1 797 | 0.68992729,0.643969078,1 798 | 0.167477838,0.22155252,-1 799 | 0.361225831,0.126766742,-1 800 | 0.599910596,0.597604157,1 801 | 0.705296773,0.562224723,1 802 | 0.610859051,0.561555936,1 803 | 0.779042693,0.469742259,1 804 | 0.721953383,0.330504205,1 805 | 0.19917767,-0.054170268,-1 806 | 0.632324878,0.298879555,1 807 | 0.710946606,0.65070983,1 808 | 0.646660609,0.554404572,1 809 | 0.185876611,0.093431835,-1 810 | 0.273094771,0.101234104,-1 811 | 0.670510064,0.524744047,1 812 | 0.330588998,1.98E-05,-1 813 | 0.220551653,0.006774195,-1 814 | 0.509820743,0.04741684,-1 815 | 0.3492158,0.097556417,-1 816 | 0.255324166,0.01421353,-1 817 | 0.207544185,0.225988923,-1 818 | 0.68534092,0.49431947,1 819 | 0.416679571,0.245677237,-1 820 | 0.812975542,0.415628016,1 821 | 0.320471039,0.150145735,-1 822 | 0.829461548,0.493776377,1 823 | 0.680994961,0.4340003,1 824 | 0.259987042,0.114005486,-1 825 | 0.168848686,-0.009547048,-1 826 | 0.635145829,0.513604475,1 827 | 0.42190326,0.180794066,-1 828 | 0.625057332,0.641587132,1 829 | 0.675848274,0.632010072,1 830 | 0.533133257,0.578125659,1 831 | 0.197305182,0.15122651,-1 832 | 0.74653429,0.623643405,1 833 | 0.253651159,0.168892053,-1 834 | 0.765788075,0.454842753,1 835 | 0.666398683,0.60899563,1 836 | 0.635291232,0.376605847,1 837 | 0.578223848,0.57703266,1 838 | 0.265513337,0.035474712,-1 839 | 0.720383365,0.31435452,1 840 | 0.68728923,0.479171747,1 841 | 0.327435188,-0.045703833,-1 842 | 0.512954313,0.605408006,1 843 | 0.57437274,0.464359353,1 844 | 0.519101639,0.567569038,1 845 | 0.623855872,0.483145049,1 846 | 0.599179754,0.521952878,1 847 | 0.423768817,0.088242189,-1 848 | 0.746294608,0.414510923,1 849 | 0.675670405,0.422696071,1 850 | 0.788703159,0.67386104,1 851 | 0.378106708,0.07608791,-1 852 | 0.114270526,0.201381513,-1 853 | 0.747673612,0.573924654,1 854 | 0.566333032,0.743419589,1 855 | 0.239739624,-0.027528303,-1 856 | 0.336807563,0.1183721,-1 857 | 0.399498168,-0.03639116,-1 858 | 0.226185608,-0.095769293,-1 859 | 0.709608754,0.48788692,1 860 | 0.659727666,0.721933813,1 861 | 0.280539014,0.206328173,-1 862 | 0.622483853,0.403868231,1 863 | 0.638215911,0.391402204,1 864 | 0.182465613,0.077579336,-1 865 | 0.165484697,0.187504949,-1 866 | 0.642055731,0.496933987,1 867 | 0.304621778,0.25354875,-1 868 | 0.360320221,0.28382389,-1 869 | 0.64199657,0.507677787,1 870 | 0.780896015,0.530870139,1 871 | 0.705949158,0.594286582,1 872 | 0.684006329,0.418479179,1 873 | 0.710585414,0.571614895,1 874 | 0.30106765,-0.166699009,-1 875 | 0.30520299,0.364626716,-1 876 | 0.164086121,0.131222498,-1 877 | 0.529876888,0.041069331,-1 878 | 0.303736938,0.136527111,-1 879 | 0.285057443,0.137579846,-1 880 | 0.728257087,0.489676167,1 881 | 0.604446479,0.54572991,1 882 | 0.293159603,0.049017874,-1 883 | 0.868714368,0.531447484,1 884 | 0.673797939,0.499687817,1 885 | 0.680067364,0.537958834,1 886 | 0.769445918,0.612545394,1 887 | 0.229587118,0.093205366,-1 888 | 0.756073027,0.519522906,1 889 | 0.172997458,0.011622643,-1 890 | 0.628765292,0.440481162,1 891 | 0.435077817,0.144463845,-1 892 | 0.548409329,0.453305211,1 893 | 0.839867804,0.506971986,1 894 | 0.3307395,0.249754687,-1 895 | 0.749497205,0.410347666,1 896 | 0.092908559,0.215360941,-1 897 | 0.735947051,0.599612238,1 898 | 0.600964709,0.611895798,1 899 | 0.339469243,0.267604029,-1 900 | 0.694002551,0.402460396,1 901 | 0.552501059,0.627440184,1 902 | 0.403538742,0.336157267,-1 903 | 0.462315574,-0.005739013,-1 904 | 0.349231557,0.086163355,-1 905 | 0.391931485,0.175906989,-1 906 | 0.676930575,0.346510128,1 907 | 0.679645828,0.577121149,1 908 | 0.864397242,0.506012222,1 909 | 0.2863496,0.028423478,-1 910 | 0.301056208,0.097104289,-1 911 | 0.700807684,0.496908664,1 912 | 0.703500736,0.415943311,1 913 | 0.635860407,0.662055847,1 914 | 0.596187712,0.520124065,1 915 | 0.150957975,0.046433517,-1 916 | 0.520139167,0.596836499,1 917 | 0.397568771,0.030645485,-1 918 | 0.331845949,0.112529822,-1 919 | 0.746466296,0.576399482,1 920 | 0.271873677,0.333763709,-1 921 | 0.47075741,0.078661208,-1 922 | 0.536172439,0.077745926,-1 923 | 0.303458039,0.205154466,-1 924 | 0.176054167,0.32209136,-1 925 | 0.766857719,0.506915195,1 926 | 0.242532011,0.129756669,-1 927 | 0.250988841,0.093137528,-1 928 | 0.699394327,0.452299419,1 929 | 0.321874034,0.015107458,-1 930 | 0.678111194,0.392634175,1 931 | 0.248833485,0.043204246,-1 932 | 0.694286452,0.602081068,1 933 | 0.753212642,0.485998157,1 934 | 0.721406654,0.430254654,1 935 | 0.518593077,0.456272116,1 936 | 0.192697788,0.116152945,-1 937 | 0.217411883,-0.064564571,-1 938 | 0.149417245,-0.050964453,-1 939 | 0.333200272,0.012682971,-1 940 | 0.33007176,-0.163593018,-1 941 | 0.534877953,0.602286414,1 942 | 0.427137124,-0.002129973,-1 943 | 0.465209008,0.190092842,-1 944 | 0.387820848,0.147036212,-1 945 | 0.677075664,0.393688203,1 946 | 0.340122928,0.19910285,-1 947 | 0.375936598,0.057685752,-1 948 | 0.196804617,0.126825099,-1 949 | 0.345613244,0.111968102,-1 950 | 0.415306271,0.027476534,-1 951 | 0.759206127,0.361066866,1 952 | 0.627329454,0.704703217,1 953 | 0.750035121,0.671914272,1 954 | 0.658400552,0.765364049,1 955 | 0.809852289,0.369827122,1 956 | 0.742155427,0.47519715,1 957 | 0.472977083,0.04145377,-1 958 | 0.456431423,0.026949805,-1 959 | 0.206938238,0.194749956,-1 960 | 0.75706776,0.559505907,1 961 | 0.734348565,0.582643128,1 962 | 0.121993378,0.163177154,-1 963 | 0.35835498,0.14547492,-1 964 | 0.670281008,0.458492128,1 965 | 0.753318178,0.478502396,1 966 | 0.479495385,0.165887541,-1 967 | 0.356497399,0.10719439,-1 968 | 0.22440351,0.029198744,-1 969 | 0.609590263,0.553526933,1 970 | 0.242967024,0.05883623,-1 971 | 0.420545659,0.125156289,-1 972 | 0.228213759,0.143136894,-1 973 | 0.191837686,0.132193945,-1 974 | 0.661831289,0.652660708,1 975 | 0.298577372,0.055264841,-1 976 | 0.730213677,0.582079484,1 977 | 0.20456842,0.03506012,-1 978 | 0.716255357,0.363472187,1 979 | 0.386798314,-0.02766484,-1 980 | 0.342563218,-0.1587015,-1 981 | 0.869206934,0.517271383,1 982 | 0.773020414,0.549650594,1 983 | 0.66730367,0.437695155,1 984 | 0.635920643,0.535376832,1 985 | 0.319719761,0.146917928,-1 986 | 0.818872518,0.47752039,1 987 | 0.583970377,0.566355242,1 988 | 0.373284641,0.101685122,-1 989 | 0.294380886,0.068542853,-1 990 | 0.347644216,0.221266168,-1 991 | 0.685455543,0.500169334,1 992 | 0.612060851,0.413868137,1 993 | 0.266821443,0.099295397,-1 994 | 0.395630463,0.149027012,-1 995 | 0.369444556,0.278277875,-1 996 | 0.719392196,0.46572054,1 997 | 0.680332621,0.534328582,1 998 | 0.179529285,-0.110245948,-1 999 | 0.573306543,0.608713744,1 1000 | 0.50038409,0.579511796,1 1001 | 0.790973981,0.563663507,1 1002 | -------------------------------------------------------------------------------- /Persepron/perceptron-classification.py: -------------------------------------------------------------------------------- 1 | import matplotlib.pyplot as plt 2 | import numpy as np 3 | import pandas as pd 4 | 5 | 6 | train_data=np.array(pd.read_csv('linear_data_train.csv')) 7 | test_data=np.array(pd.read_csv('linear_data_test.csv')) 8 | 9 | X_train =train_data[:, 0:2] 10 | Y_train = train_data[:, 2] 11 | X_test =test_data[:,0:2] 12 | Y_test= test_data[:,2] 13 | 14 | 15 | N=X_train.shape[0] 16 | lr=0.01 17 | epochs=3 18 | 19 | m = np.random.rand(2,1) 20 | b = np.random.rand(1,1) 21 | 22 | fig=plt.figure() 23 | ax=fig.add_subplot(projection='3d') 24 | 25 | x_0_range=np.arange(X_train[:,0].min(),X_train[:,0].max(),0.1) 26 | x_1_range=np.arange(X_train[:,1].min(),X_train[:,1].max(),0.1) 27 | 28 | errors=[] 29 | 30 | for i in range(epochs): 31 | for n in range(N): 32 | 33 | y_pred = np.matmul(X_train[n:n+1],m)+b 34 | e= np.subtract(Y_train[n], y_pred) 35 | 36 | #update 37 | m = m+ lr*X_train[n:n+1,:].T*e 38 | b +=lr*e 39 | 40 | # Error 41 | y_pred=np.matmul(X_train,m)+b 42 | error=np.mean(Y_train - y_pred) 43 | errors.append(error) 44 | print('error',error) 45 | 46 | #plot data 47 | ax.clear() 48 | x_0, x_1 = np.meshgrid(x_0_range, x_1_range) 49 | z = x_0 * m[0] + x_1 * m[1] + b 50 | ax.plot_surface(x_0, x_1, z, rstride=1, cstride=1, alpha = 0.4) 51 | ax.scatter(X_train[Y_train == 1,0], X_train[Y_train == 1,1], Y_train[Y_train == 1], c='r', marker='o') 52 | ax.scatter(X_train[Y_train == -1,0], X_train[Y_train == -1,1], Y_train[Y_train == -1], c='g', marker='o') 53 | ax.set_xlabel('X0') 54 | ax.set_ylabel('X1') 55 | ax.set_zlabel('Y') 56 | plt.pause(0.001) 57 | 58 | -------------------------------------------------------------------------------- /Persepron/perceptron-classification_class.py: -------------------------------------------------------------------------------- 1 | import matplotlib.pyplot as plt 2 | import numpy as np 3 | import pandas as pd 4 | 5 | 6 | train_data = np.array(pd.read_csv('linear_data_train.csv')) 7 | test_data = np.array(pd.read_csv('linear_data_test.csv')) 8 | 9 | X_train = train_data[0:250, 0:2] 10 | Y_train = train_data[:250, 2] 11 | X_test = test_data[:, 0:2] 12 | Y_test = test_data[:, 2] 13 | 14 | # fig=plt.figure() 15 | # ax=fig.add_subplot(projection='3d') 16 | # ax.view_init(20,25) 17 | 18 | 19 | 20 | def fit(X_train,Y_train): 21 | lr = 0.01 22 | epochs = 8 23 | N = X_train.shape[0] 24 | 25 | m = np.random.rand(2, 1) 26 | b = np.random.rand(1, 1) 27 | 28 | x_0_range=np.arange(X_train[:,0].min(),X_train[:,0].max(),0.1) 29 | x_1_range=np.arange(X_train[:,1].min(),X_train[:,1].max(),0.1) 30 | 31 | Error = [] 32 | for i in range(epochs): 33 | errors = [] 34 | 35 | for n in range(N): 36 | 37 | y_pred = np.matmul(X_train[n:n+1],m)+b 38 | e= np.subtract(Y_train[n], y_pred) 39 | 40 | Y_pred = np.matmul(X_train, m) + b 41 | error = np.mean(np.abs(Y_train - Y_pred)) 42 | errors.append(np.abs(e[0,0])) 43 | 44 | #update 45 | m = m + lr*X_train[n:n+1,:].T* e 46 | b = b + lr * e 47 | 48 | # plot data 49 | ax = plt.subplot(1, 2, 1, projection='3d') 50 | 51 | # ax.clear() 52 | x_0, x_1 = np.meshgrid(x_0_range, x_1_range) 53 | z = x_0 * m[0] + x_1 * m[1] + b 54 | ax.plot_surface(x_0, x_1, z, rstride=1, cstride=1, alpha=0.4) 55 | ax.scatter(X_train[Y_train == 1, 0], X_train[Y_train == 1, 1], Y_train[Y_train == 1], c='r', marker='o') 56 | ax.scatter(X_train[Y_train == -1, 0], X_train[Y_train == -1, 1], Y_train[Y_train == -1], c='g', marker='o') 57 | ax.set_xlabel('X0') 58 | ax.set_ylabel('X1') 59 | ax.set_zlabel('Y') 60 | 61 | # Plot Error 62 | Error.append(np.mean(errors)) 63 | ax2 = plt.subplot(1, 2, 2) 64 | ax2.set_title('Loss') 65 | x = np.arange(0, len(Error)) 66 | ax2.plot(x, Error, marker='o') 67 | plt.pause(0.01) 68 | # ax2.show() 69 | return m,b 70 | 71 | def predict(X_test): 72 | y_pred=np.matmul(X_test,m)+b 73 | return y_pred 74 | 75 | def evaluate(X,Y): 76 | y_pred = np.matmul(X, m) + b 77 | y_predic = np.zeros(len(y_pred)) 78 | for i ,test in enumerate(X): 79 | y_predic[i]=predict(test) 80 | y_predic[np.where(y_predic<0)] = -1 81 | y_predic[np.np.where(y_predic>0)] = 1 82 | accuracy = (y_predic == Y).sum() / len(Y) 83 | loss = np.mean(np.abs(np.subtract(Y, y_pred))) 84 | return loss, accuracy 85 | 86 | m,b = fit(X_train,Y_train) 87 | 88 | y_pred=predict(X_test) 89 | loss, accuracy = evaluate(X_test, Y_test) 90 | loss_train, accuracy_train = evaluate(X_train, Y_train) 91 | print('error',loss, 'accuracy',accuracy) -------------------------------------------------------------------------------- /WeatherHistory/W.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zahra-zarrabi/MachineLearning/2c69a5c445d6a11381707d2f87e2f36e47aaa1e4/WeatherHistory/W.npy -------------------------------------------------------------------------------- /WeatherHistory/b.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zahra-zarrabi/MachineLearning/2c69a5c445d6a11381707d2f87e2f36e47aaa1e4/WeatherHistory/b.npy -------------------------------------------------------------------------------- /classification.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 24, 6 | "id": "4d3e23f7", 7 | "metadata": {}, 8 | "outputs": [], 9 | "source": [ 10 | "import numpy as np\n", 11 | "import matplotlib.pyplot as plt\n", 12 | "from numpy.linalg import inv" 13 | ] 14 | }, 15 | { 16 | "cell_type": "code", 17 | "execution_count": 9, 18 | "id": "9706111e", 19 | "metadata": {}, 20 | "outputs": [], 21 | "source": [ 22 | "def generate_data(n):\n", 23 | " hair_length_female = np.random.normal(40,7,n)\n", 24 | " hair_length_man=np.random.normal(10,3,n)\n", 25 | " \n", 26 | " label_female=np.zeros(n,dtype='int')\n", 27 | " label_man=np.ones(n,dtype='int')\n", 28 | " \n", 29 | " hair_length=np.concatenate((hair_length_female,hair_length_man))\n", 30 | " gender=np.concatenate((label_female,label_man))\n", 31 | " return hair_length,gender" 32 | ] 33 | }, 34 | { 35 | "cell_type": "code", 36 | "execution_count": 10, 37 | "id": "91c456e2", 38 | "metadata": {}, 39 | "outputs": [], 40 | "source": [ 41 | "n=100\n", 42 | "X,Y=generate_data(n)\n", 43 | "X=X.reshape(-1,1)\n", 44 | "Y=Y.reshape(-1,1)\n" 45 | ] 46 | }, 47 | { 48 | "cell_type": "code", 49 | "execution_count": 13, 50 | "id": "2e9aa9c6", 51 | "metadata": {}, 52 | "outputs": [ 53 | { 54 | "data": { 55 | "text/plain": [ 56 | "" 57 | ] 58 | }, 59 | "execution_count": 13, 60 | "metadata": {}, 61 | "output_type": "execute_result" 62 | }, 63 | { 64 | "data": { 65 | "image/png": "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\n", 66 | "text/plain": [ 67 | "
" 68 | ] 69 | }, 70 | "metadata": { 71 | "needs_background": "light" 72 | }, 73 | "output_type": "display_data" 74 | } 75 | ], 76 | "source": [ 77 | "plt.scatter(X[:n],Y[:n],label='famale')\n", 78 | "plt.scatter(X[n:],Y[n:],label='man')\n", 79 | "plt.xlabel(\"Hair Length\")\n", 80 | "plt.ylabel('Gender')\n", 81 | "plt.legend()" 82 | ] 83 | }, 84 | { 85 | "cell_type": "code", 86 | "execution_count": 22, 87 | "id": "916ee0e7", 88 | "metadata": {}, 89 | "outputs": [ 90 | { 91 | "data": { 92 | "image/png": "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\n", 93 | "text/plain": [ 94 | "
" 95 | ] 96 | }, 97 | "metadata": { 98 | "needs_background": "light" 99 | }, 100 | "output_type": "display_data" 101 | } 102 | ], 103 | "source": [ 104 | "#plt random slope\n", 105 | "plt.scatter(X[:n],Y[:n],label='famale')\n", 106 | "plt.scatter(X[n:],Y[n:],label='man')\n", 107 | "plt.xlabel(\"Hair Length\")\n", 108 | "plt.ylabel('Gender')\n", 109 | "plt.legend()\n", 110 | "\n", 111 | "for m in range(3):\n", 112 | " y_pred =np.matmul(X,[m])\n", 113 | " plt.plot(X,y_pred,c='red')" 114 | ] 115 | }, 116 | { 117 | "cell_type": "code", 118 | "execution_count": 26, 119 | "id": "5985a6a1", 120 | "metadata": {}, 121 | "outputs": [ 122 | { 123 | "data": { 124 | "text/plain": [ 125 | "" 126 | ] 127 | }, 128 | "execution_count": 26, 129 | "metadata": {}, 130 | "output_type": "execute_result" 131 | }, 132 | { 133 | "data": { 134 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAiFElEQVR4nO3deZhU1bnv8e/bTQONIh0FjQxKe2xlCALSMkgGDBrRJ87ROOSJ5CYSZ3OSq9cpHoLPzTFHrzk4xZhoiF6iojEEEyNxSm5MZGhknhQVpXEAQRCkgQbe+8eqhuqmq6u6unZXV+/f53n66d679l717upd69219qq1zN0REZH4Ksp3ACIikl9KBCIiMadEICISc0oEIiIxp0QgIhJzHfIdQHN1797d+/btm+8wREQKyrx58z529x6NPVZwiaBv375UVVXlOwwRkYJiZu+mekxNQyIiMadEICISc0oEIiIxV3D3CEREAGpra6murmb79u35DqVN6dy5M71796akpCTjfZQIRKQgVVdX07VrV/r27YuZ5TucNsHd2bBhA9XV1ZSXl2e8X2SJwMweAb4OrHP3LzTyuAGTgdOBbcB4d389kmAWTYOXJsHmaujWG8beBsddkPuyFk2Dv/wvqNkYlq0YfHdujqEtqPwufP3u7PdP9drl8v8jsbF9+3YlgQbMjEMOOYT169c3a78oPxFMAe4DHk3x+GlAReJnBPCLxO/cWjQNnr0WamvC8uY1YRmaX9k0VRbA9CthT+2+5faUBACqHg6/s0kGqV6792bBwt/l5v8jsaMksL9sXpPIbha7+/8DNjaxyVnAox7MAsrM7PCcB/LSpH2VTJ3amrA+l2W9NKl+Emiv5k3Jbr9Ur928Kbn7/4hIVvLZa6gXsCZpuTqxbj9mNsHMqsysqrkfedhc3bz12ZaVTXmFKNtPOalen1TlxeX1lIJ3zz330L9/fy655JJIyp84cSJ33XVXJGXXKYjuo+7+kLtXuntljx6NfkM6tW69m7c+27KyKa8QWXF2+6V6fVKVF5fXUwreAw88wAsvvMDUqVPzHUrW8pkI1gJ9kpZ7J9bl1tjboKS0/rqS0rA+l2WNvQ2KMu+uVbCGjc9uv1Sv3bDxufv/iDRh+vy1jL7jZcpv/DOj73iZ6fNbXt1cfvnlvP3225x22mn87Gc/Y9SoUQwdOpQTTzyRlStXAjBlyhTOPvtsTjnlFPr27ct9993H3XffzdChQxk5ciQbN4YW9F/96leccMIJDB48mPPOO49t27bt93xvvfUW48aNY9iwYXzpS19ixYoVLT4GyG8imAF824KRwGZ3/yDnz3LcBXDGPdCtD2Dh9xn3ZHcjsqmyjrsAzn4ASg/et322V89tVUt6DaV67b5+d+7+PyIpTJ+/lpueWczaTTU4sHZTDTc9s7jFyeDBBx+kZ8+evPLKK1xxxRX84x//YP78+UyaNImbb75573ZLlizhmWeeYe7cudxyyy106dKF+fPnM2rUKB59NPSnOffcc5k7dy4LFy6kf//+PPzww/s934QJE7j33nuZN28ed911F1deeWWL4q8TZffRx4ExQHczqwb+AygBcPcHgecIXUdXEbqPfieqWPZW1FGXlcvnaY9SvT563SRid85cSU1t/ftRNbW7uXPmSs4e2uityWbbvHkzl156KW+++SZmRm3tvs4jJ510El27dqVr165069aNM844A4BBgwaxaNEiICSLW2+9lU2bNrF161ZOPfXUeuVv3bqVf/3rX5x//vl71+3YsSMnsUeWCNz9ojSPO3BVVM8vIlLn/U01zVqfjR//+MecdNJJ/OEPf2D16tWMGTNm72OdOnXa+3dRUdHe5aKiInbt2gXA+PHjmT59OoMHD2bKlCn87W9/q1f+nj17KCsrY8GCBTmLeW9MOS9RRKSN6VlW2qz12di8eTO9eoVPF1OmTGn2/lu2bOHwww+ntra20RvPBx10EOXl5Tz11FNA+BbxwoULWxRzHSUCEWn3rj/1WEpL6t+zKy0p5vpTj83Zc9xwww3cdNNNDB06dO9VfnPcfvvtjBgxgtGjR9OvX79Gt5k6dSoPP/wwgwcPZuDAgfzxj39sadgAWGihKRyVlZWuiWlEZPny5fTv3z/j7afPX8udM1fy/qYaepaVcv2px+bs/kBb09hrY2bz3L2yse016JyIxMLZQ3u124q/pdQ0JCISc0oEIiIxp0QgIhJzSgQiIjGnRCAiEnNKBCIiMadEICISc0oEIhIPi6bBz78AE8vC70XTWlzk6tWr6devH+PHj+eYY47hkksu4cUXX2T06NFUVFQwZ84c5syZk3J46nPPPZdx48ZRUVHBDTfc0OJ4sqVEICLtX92c2ZvXAL5vbuwcJINVq1bxox/9iBUrVrBi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\n", 135 | "text/plain": [ 136 | "
" 137 | ] 138 | }, 139 | "metadata": { 140 | "needs_background": "light" 141 | }, 142 | "output_type": "display_data" 143 | } 144 | ], 145 | "source": [ 146 | "# Adaline \n", 147 | "\n", 148 | "m=np.matmul(inv(np.matmul(X.T,X)),np.matmul(X.T,Y))\n", 149 | "y_pred=np.matmul(X,m)\n", 150 | "\n", 151 | "plt.scatter(X[:n],Y[:n],label='famale')\n", 152 | "plt.scatter(X[n:],Y[n:],label='man')\n", 153 | "plt.plot(X,y_pred,c='red',lw=3)\n", 154 | "plt.xlabel('Hair Length')\n", 155 | "plt.ylabel('Gender')\n", 156 | "plt.legend()" 157 | ] 158 | }, 159 | { 160 | "cell_type": "code", 161 | "execution_count": null, 162 | "id": "cb608d7d", 163 | "metadata": {}, 164 | "outputs": [], 165 | "source": [] 166 | } 167 | ], 168 | "metadata": { 169 | "kernelspec": { 170 | "display_name": "Python 3 (ipykernel)", 171 | "language": "python", 172 | "name": "python3" 173 | }, 174 | "language_info": { 175 | "codemirror_mode": { 176 | "name": "ipython", 177 | "version": 3 178 | }, 179 | "file_extension": ".py", 180 | "mimetype": "text/x-python", 181 | "name": "python", 182 | "nbconvert_exporter": "python", 183 | "pygments_lexer": "ipython3", 184 | "version": "3.7.10" 185 | } 186 | }, 187 | "nbformat": 4, 188 | "nbformat_minor": 5 189 | } 190 | -------------------------------------------------------------------------------- /iris_classifier.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 98, 6 | "id": "121a4f69", 7 | "metadata": {}, 8 | "outputs": [], 9 | "source": [ 10 | "import numpy as np\n", 11 | "from sklearn.datasets import load_iris\n", 12 | "from sklearn.model_selection import train_test_split\n", 13 | "from numpy.linalg import inv" 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": 99, 19 | "id": "8a32a739", 20 | "metadata": {}, 21 | "outputs": [ 22 | { 23 | "data": { 24 | "text/plain": [ 25 | "{'data': array([[5.1, 3.5, 1.4, 0.2],\n", 26 | " [4.9, 3. , 1.4, 0.2],\n", 27 | " [4.7, 3.2, 1.3, 0.2],\n", 28 | " [4.6, 3.1, 1.5, 0.2],\n", 29 | " [5. , 3.6, 1.4, 0.2],\n", 30 | " [5.4, 3.9, 1.7, 0.4],\n", 31 | " [4.6, 3.4, 1.4, 0.3],\n", 32 | " [5. , 3.4, 1.5, 0.2],\n", 33 | " [4.4, 2.9, 1.4, 0.2],\n", 34 | " [4.9, 3.1, 1.5, 0.1],\n", 35 | " [5.4, 3.7, 1.5, 0.2],\n", 36 | " [4.8, 3.4, 1.6, 0.2],\n", 37 | " [4.8, 3. , 1.4, 0.1],\n", 38 | " [4.3, 3. , 1.1, 0.1],\n", 39 | " [5.8, 4. , 1.2, 0.2],\n", 40 | " [5.7, 4.4, 1.5, 0.4],\n", 41 | " [5.4, 3.9, 1.3, 0.4],\n", 42 | " [5.1, 3.5, 1.4, 0.3],\n", 43 | " [5.7, 3.8, 1.7, 0.3],\n", 44 | " [5.1, 3.8, 1.5, 0.3],\n", 45 | " [5.4, 3.4, 1.7, 0.2],\n", 46 | " [5.1, 3.7, 1.5, 0.4],\n", 47 | " [4.6, 3.6, 1. , 0.2],\n", 48 | " [5.1, 3.3, 1.7, 0.5],\n", 49 | " [4.8, 3.4, 1.9, 0.2],\n", 50 | " [5. , 3. , 1.6, 0.2],\n", 51 | " [5. , 3.4, 1.6, 0.4],\n", 52 | " [5.2, 3.5, 1.5, 0.2],\n", 53 | " [5.2, 3.4, 1.4, 0.2],\n", 54 | " [4.7, 3.2, 1.6, 0.2],\n", 55 | " [4.8, 3.1, 1.6, 0.2],\n", 56 | " [5.4, 3.4, 1.5, 0.4],\n", 57 | " [5.2, 4.1, 1.5, 0.1],\n", 58 | " [5.5, 4.2, 1.4, 0.2],\n", 59 | " [4.9, 3.1, 1.5, 0.2],\n", 60 | " [5. , 3.2, 1.2, 0.2],\n", 61 | " [5.5, 3.5, 1.3, 0.2],\n", 62 | " [4.9, 3.6, 1.4, 0.1],\n", 63 | " [4.4, 3. , 1.3, 0.2],\n", 64 | " [5.1, 3.4, 1.5, 0.2],\n", 65 | " [5. , 3.5, 1.3, 0.3],\n", 66 | " [4.5, 2.3, 1.3, 0.3],\n", 67 | " [4.4, 3.2, 1.3, 0.2],\n", 68 | " [5. , 3.5, 1.6, 0.6],\n", 69 | " [5.1, 3.8, 1.9, 0.4],\n", 70 | " [4.8, 3. , 1.4, 0.3],\n", 71 | " [5.1, 3.8, 1.6, 0.2],\n", 72 | " [4.6, 3.2, 1.4, 0.2],\n", 73 | " [5.3, 3.7, 1.5, 0.2],\n", 74 | " [5. , 3.3, 1.4, 0.2],\n", 75 | " [7. , 3.2, 4.7, 1.4],\n", 76 | " [6.4, 3.2, 4.5, 1.5],\n", 77 | " [6.9, 3.1, 4.9, 1.5],\n", 78 | " [5.5, 2.3, 4. , 1.3],\n", 79 | " [6.5, 2.8, 4.6, 1.5],\n", 80 | " [5.7, 2.8, 4.5, 1.3],\n", 81 | " [6.3, 3.3, 4.7, 1.6],\n", 82 | " [4.9, 2.4, 3.3, 1. ],\n", 83 | " [6.6, 2.9, 4.6, 1.3],\n", 84 | " [5.2, 2.7, 3.9, 1.4],\n", 85 | " [5. , 2. , 3.5, 1. ],\n", 86 | " [5.9, 3. , 4.2, 1.5],\n", 87 | " [6. , 2.2, 4. , 1. ],\n", 88 | " [6.1, 2.9, 4.7, 1.4],\n", 89 | " [5.6, 2.9, 3.6, 1.3],\n", 90 | " [6.7, 3.1, 4.4, 1.4],\n", 91 | " [5.6, 3. , 4.5, 1.5],\n", 92 | " [5.8, 2.7, 4.1, 1. ],\n", 93 | " [6.2, 2.2, 4.5, 1.5],\n", 94 | " [5.6, 2.5, 3.9, 1.1],\n", 95 | " [5.9, 3.2, 4.8, 1.8],\n", 96 | " [6.1, 2.8, 4. , 1.3],\n", 97 | " [6.3, 2.5, 4.9, 1.5],\n", 98 | " [6.1, 2.8, 4.7, 1.2],\n", 99 | " [6.4, 2.9, 4.3, 1.3],\n", 100 | " [6.6, 3. , 4.4, 1.4],\n", 101 | " [6.8, 2.8, 4.8, 1.4],\n", 102 | " [6.7, 3. , 5. , 1.7],\n", 103 | " [6. , 2.9, 4.5, 1.5],\n", 104 | " [5.7, 2.6, 3.5, 1. ],\n", 105 | " [5.5, 2.4, 3.8, 1.1],\n", 106 | " [5.5, 2.4, 3.7, 1. ],\n", 107 | " [5.8, 2.7, 3.9, 1.2],\n", 108 | " [6. , 2.7, 5.1, 1.6],\n", 109 | " [5.4, 3. , 4.5, 1.5],\n", 110 | " [6. , 3.4, 4.5, 1.6],\n", 111 | " [6.7, 3.1, 4.7, 1.5],\n", 112 | " [6.3, 2.3, 4.4, 1.3],\n", 113 | " [5.6, 3. , 4.1, 1.3],\n", 114 | " [5.5, 2.5, 4. , 1.3],\n", 115 | " [5.5, 2.6, 4.4, 1.2],\n", 116 | " [6.1, 3. , 4.6, 1.4],\n", 117 | " [5.8, 2.6, 4. , 1.2],\n", 118 | " [5. , 2.3, 3.3, 1. ],\n", 119 | " [5.6, 2.7, 4.2, 1.3],\n", 120 | " [5.7, 3. , 4.2, 1.2],\n", 121 | " [5.7, 2.9, 4.2, 1.3],\n", 122 | " [6.2, 2.9, 4.3, 1.3],\n", 123 | " [5.1, 2.5, 3. , 1.1],\n", 124 | " [5.7, 2.8, 4.1, 1.3],\n", 125 | " [6.3, 3.3, 6. , 2.5],\n", 126 | " [5.8, 2.7, 5.1, 1.9],\n", 127 | " [7.1, 3. , 5.9, 2.1],\n", 128 | " [6.3, 2.9, 5.6, 1.8],\n", 129 | " [6.5, 3. , 5.8, 2.2],\n", 130 | " [7.6, 3. , 6.6, 2.1],\n", 131 | " [4.9, 2.5, 4.5, 1.7],\n", 132 | " [7.3, 2.9, 6.3, 1.8],\n", 133 | " [6.7, 2.5, 5.8, 1.8],\n", 134 | " [7.2, 3.6, 6.1, 2.5],\n", 135 | " [6.5, 3.2, 5.1, 2. ],\n", 136 | " [6.4, 2.7, 5.3, 1.9],\n", 137 | " [6.8, 3. , 5.5, 2.1],\n", 138 | " [5.7, 2.5, 5. , 2. ],\n", 139 | " [5.8, 2.8, 5.1, 2.4],\n", 140 | " [6.4, 3.2, 5.3, 2.3],\n", 141 | " [6.5, 3. , 5.5, 1.8],\n", 142 | " [7.7, 3.8, 6.7, 2.2],\n", 143 | " [7.7, 2.6, 6.9, 2.3],\n", 144 | " [6. , 2.2, 5. , 1.5],\n", 145 | " [6.9, 3.2, 5.7, 2.3],\n", 146 | " [5.6, 2.8, 4.9, 2. ],\n", 147 | " [7.7, 2.8, 6.7, 2. ],\n", 148 | " [6.3, 2.7, 4.9, 1.8],\n", 149 | " [6.7, 3.3, 5.7, 2.1],\n", 150 | " [7.2, 3.2, 6. , 1.8],\n", 151 | " [6.2, 2.8, 4.8, 1.8],\n", 152 | " [6.1, 3. , 4.9, 1.8],\n", 153 | " [6.4, 2.8, 5.6, 2.1],\n", 154 | " [7.2, 3. , 5.8, 1.6],\n", 155 | " [7.4, 2.8, 6.1, 1.9],\n", 156 | " [7.9, 3.8, 6.4, 2. ],\n", 157 | " [6.4, 2.8, 5.6, 2.2],\n", 158 | " [6.3, 2.8, 5.1, 1.5],\n", 159 | " [6.1, 2.6, 5.6, 1.4],\n", 160 | " [7.7, 3. , 6.1, 2.3],\n", 161 | " [6.3, 3.4, 5.6, 2.4],\n", 162 | " [6.4, 3.1, 5.5, 1.8],\n", 163 | " [6. , 3. , 4.8, 1.8],\n", 164 | " [6.9, 3.1, 5.4, 2.1],\n", 165 | " [6.7, 3.1, 5.6, 2.4],\n", 166 | " [6.9, 3.1, 5.1, 2.3],\n", 167 | " [5.8, 2.7, 5.1, 1.9],\n", 168 | " [6.8, 3.2, 5.9, 2.3],\n", 169 | " [6.7, 3.3, 5.7, 2.5],\n", 170 | " [6.7, 3. , 5.2, 2.3],\n", 171 | " [6.3, 2.5, 5. , 1.9],\n", 172 | " [6.5, 3. , 5.2, 2. ],\n", 173 | " [6.2, 3.4, 5.4, 2.3],\n", 174 | " [5.9, 3. , 5.1, 1.8]]),\n", 175 | " 'target': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", 176 | " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", 177 | " 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", 178 | " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", 179 | " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", 180 | " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", 181 | " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]),\n", 182 | " 'frame': None,\n", 183 | " 'target_names': array(['setosa', 'versicolor', 'virginica'], dtype='= 2)] = 2\n", 238 | " loss = np.mean(np.abs(np.subtract(y_test, y_pred)))\n", 239 | " return loss \n", 240 | "# if np.min(y_test)==0\n", 241 | " " 242 | ] 243 | }, 244 | { 245 | "cell_type": "code", 246 | "execution_count": 176, 247 | "id": "d5b7e556", 248 | "metadata": {}, 249 | "outputs": [ 250 | { 251 | "name": "stdout", 252 | "output_type": "stream", 253 | "text": [ 254 | "m [-0.01087176 -0.34079226 0.288308 0.67914941]\n" 255 | ] 256 | } 257 | ], 258 | "source": [ 259 | "x_train,x_test,y_train,y_test = train_test_split(X,Y,test_size=0.5)\n", 260 | "model=AdalineClassifier()\n", 261 | "model.fit(x_train,y_train)\n", 262 | "print('m',model.m)\n", 263 | "y_pred=model.predict(x_test)\n", 264 | "loss = model.evaluate(x_test, y_test)" 265 | ] 266 | }, 267 | { 268 | "cell_type": "code", 269 | "execution_count": 181, 270 | "id": "5a16c6b1", 271 | "metadata": {}, 272 | "outputs": [ 273 | { 274 | "name": "stdout", 275 | "output_type": "stream", 276 | "text": [ 277 | "loss: 0.15998411915144156\n" 278 | ] 279 | } 280 | ], 281 | "source": [ 282 | "print('loss:',loss)" 283 | ] 284 | }, 285 | { 286 | "cell_type": "code", 287 | "execution_count": 178, 288 | "id": "292aedaa", 289 | "metadata": {}, 290 | "outputs": [], 291 | "source": [ 292 | "class KNearestNeighbors:\n", 293 | " def __init__(self,k):\n", 294 | " self.k=k\n", 295 | " def fit(self,x_train,y_train):\n", 296 | " self.x_train=x_train\n", 297 | " self.y_train=y_train\n", 298 | " self.number_classes=len(np.unique(y_train))\n", 299 | " def NearNeighbors(self,x_test):\n", 300 | " distance=np.sum(np.subtract(x_test,self.x_train)**2, axis=1)\n", 301 | " near_neighbors=np.argsort(distance)[:self.k]\n", 302 | " return near_neighbors\n", 303 | " def predict(self,x_test):\n", 304 | " near_neighbors=self.NearNeighbors(x_test)\n", 305 | " y=np.argmax(np.bincount(self.y_train[near_neighbors]))\n", 306 | " return y\n", 307 | " def evaluate(self,x_test,y_test):\n", 308 | " self.x_test=x_test\n", 309 | " self.y_test=y_test\n", 310 | " y_predict=np.zeros(len(self.x_test))\n", 311 | " \n", 312 | " for i,test in enumerate(self.x_test):\n", 313 | " y_predict[i]=self.predict(test)\n", 314 | " evaluatation=(y_predict==self.y_test).sum()/len(self.y_test)\n", 315 | " return evaluatation" 316 | ] 317 | }, 318 | { 319 | "cell_type": "code", 320 | "execution_count": 182, 321 | "id": "6b1514ca", 322 | "metadata": {}, 323 | "outputs": [ 324 | { 325 | "name": "stdout", 326 | "output_type": "stream", 327 | "text": [ 328 | "acc: 0.94\n" 329 | ] 330 | } 331 | ], 332 | "source": [ 333 | "knn=KNearestNeighbors(k=5)\n", 334 | "knn.fit(x_train,y_train)\n", 335 | "\n", 336 | "y_pred=knn.predict(x_test)\n", 337 | "acc=knn.evaluate(x_test,y_test)\n", 338 | "print('acc: ',acc)" 339 | ] 340 | }, 341 | { 342 | "cell_type": "code", 343 | "execution_count": null, 344 | "id": "f4d9e968", 345 | "metadata": {}, 346 | "outputs": [], 347 | "source": [] 348 | } 349 | ], 350 | "metadata": { 351 | "kernelspec": { 352 | "display_name": "Python 3 (ipykernel)", 353 | "language": "python", 354 | "name": "python3" 355 | }, 356 | "language_info": { 357 | "codemirror_mode": { 358 | "name": "ipython", 359 | "version": 3 360 | }, 361 | "file_extension": ".py", 362 | "mimetype": "text/x-python", 363 | "name": "python", 364 | "nbconvert_exporter": "python", 365 | "pygments_lexer": "ipython3", 366 | "version": "3.6.12" 367 | } 368 | }, 369 | "nbformat": 4, 370 | "nbformat_minor": 5 371 | } 372 | --------------------------------------------------------------------------------