├── Copy_of_Keras_Fashion_MNIST.ipynb ├── Decision Tree_Play_Ramen.ipynb ├── Digit Classification from image.ipynb ├── Ensemble Method I_Voting Classifier_sklearn_Ramen.ipynb ├── Ensemble method_Type II Random forest_Ramen.ipynb ├── Improting Image.ipynb ├── KNN_skLearn_Ramen.ipynb ├── K_means clus_skLearn_Ramen.ipynb ├── LICENSE ├── Logistic Regression (Binary Classification) _Linear_sklearn.ipynb ├── Logistic Regression (Binary) _polynomial_sklearn.ipynb ├── Mahadev.JPG ├── Multivariate Linear Regression_SKLEARN.ipynb ├── Naive Bayes_Iris data.ipynb ├── One variable regression_sklearn_Ramen.ipynb ├── Play_Yes_No.xlsx ├── Support Vector Machine.ipynb ├── Text Classifier_Naive Bayes.ipynb ├── ex1data1.txt ├── ex1data2.txt ├── ex2data1.txt ├── ex2data2.txt └── iris.csv /Copy_of_Keras_Fashion_MNIST.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": { 6 | "id": "view-in-github", 7 | "colab_type": "text" 8 | }, 9 | "source": [ 10 | "\"Open" 11 | ] 12 | }, 13 | { 14 | "cell_type": "markdown", 15 | "metadata": { 16 | "id": "N6ZDpd9XzFeN" 17 | }, 18 | "source": [ 19 | "##### Copyright 2018 The TensorFlow Hub Authors.\n", 20 | "\n", 21 | "Licensed under the Apache License, Version 2.0 (the \"License\");" 22 | ] 23 | }, 24 | { 25 | "cell_type": "code", 26 | "execution_count": null, 27 | "metadata": { 28 | "cellView": "form", 29 | "id": "KUu4vOt5zI9d" 30 | }, 31 | "outputs": [], 32 | "source": [ 33 | "# Copyright 2018 The TensorFlow Hub Authors. All Rights Reserved.\n", 34 | "#\n", 35 | "# Licensed under the Apache License, Version 2.0 (the \"License\");\n", 36 | "# you may not use this file except in compliance with the License.\n", 37 | "# You may obtain a copy of the License at\n", 38 | "#\n", 39 | "# http://www.apache.org/licenses/LICENSE-2.0\n", 40 | "#\n", 41 | "# Unless required by applicable law or agreed to in writing, software\n", 42 | "# distributed under the License is distributed on an \"AS IS\" BASIS,\n", 43 | "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", 44 | "# See the License for the specific language governing permissions and\n", 45 | "# limitations under the License.\n", 46 | "# ==============================================================================" 47 | ] 48 | }, 49 | { 50 | "cell_type": "markdown", 51 | "metadata": { 52 | "id": "edfbxDDh2AEs" 53 | }, 54 | "source": [ 55 | "## Fashion MNIST with Keras and TPUs" 56 | ] 57 | }, 58 | { 59 | "cell_type": "markdown", 60 | "metadata": { 61 | "id": "RNo1Vfghpa8j" 62 | }, 63 | "source": [ 64 | "## Overview\n", 65 | "\n", 66 | "In this example, you can try out using tf.keras and Cloud TPUs to train a model on the fashion MNIST dataset. The model trains for 10 epochs on Cloud TPU and takes approximately 2 minutes to run.\n", 67 | "\n", 68 | "This notebook is hosted on GitHub. To view it in its original repository, after opening the notebook, select **File > View on GitHub**." 69 | ] 70 | }, 71 | { 72 | "cell_type": "markdown", 73 | "metadata": { 74 | "id": "dgAHfQtuhddd" 75 | }, 76 | "source": [ 77 | "## Learning objectives\n", 78 | "\n", 79 | "In this Colab, you will learn how to:\n", 80 | "* Code for a standard conv-net that has 3 layers with drop-out and batch normalization between each layer in Keras.\n", 81 | "* Create and compile the model under a distribution strategy in order ot use TPUs.\n", 82 | "* Run a prediction to see how well the model can predict fashion categories and output the result." 83 | ] 84 | }, 85 | { 86 | "cell_type": "markdown", 87 | "metadata": { 88 | "id": "QrprJD-R-410" 89 | }, 90 | "source": [ 91 | "## Instructions" 92 | ] 93 | }, 94 | { 95 | "cell_type": "markdown", 96 | "metadata": { 97 | "id": "_I0RdnOSkNmi" 98 | }, 99 | "source": [ 100 | "

  Train on TPU  

\n", 101 | "\n", 102 | "1. On the main menu, click Runtime and select **Change runtime type**. Set \"TPU\" as the hardware accelerator.\n", 103 | "1. Click Runtime again and select **Runtime > Run All**. You can also run the cells manually with Shift-ENTER. " 104 | ] 105 | }, 106 | { 107 | "cell_type": "markdown", 108 | "metadata": { 109 | "id": "5eEM-XOvURoU" 110 | }, 111 | "source": [ 112 | "TPUs are located in Google Cloud, for optimal performance, they read data directly from Google Cloud Storage (GCS)" 113 | ] 114 | }, 115 | { 116 | "cell_type": "markdown", 117 | "metadata": { 118 | "id": "Lvo0t7XVIkWZ" 119 | }, 120 | "source": [ 121 | "## Data, model, and training" 122 | ] 123 | }, 124 | { 125 | "cell_type": "markdown", 126 | "metadata": { 127 | "id": "MICrRv8rmXVq" 128 | }, 129 | "source": [ 130 | "Begin by downloading the fashion MNIST dataset using `tf.keras.datasets`, as shown below." 131 | ] 132 | }, 133 | { 134 | "cell_type": "code", 135 | "execution_count": null, 136 | "metadata": { 137 | "id": "Zo-Yk6LFGfSf" 138 | }, 139 | "outputs": [], 140 | "source": [ 141 | "import tensorflow as tf\n", 142 | "import numpy as np\n", 143 | "import os\n", 144 | "\n", 145 | "import distutils\n", 146 | "if distutils.version.LooseVersion(tf.__version__) <= '2.0':\n", 147 | " raise Exception('This notebook is compatible with TensorFlow 1.14 or higher, for TensorFlow 1.13 or lower please use the previous version at https://github.com/tensorflow/tpu/blob/r1.13/tools/colab/fashion_mnist.ipynb')\n", 148 | "\n", 149 | "(x_train, y_train), (x_test, y_test) = tf.keras.datasets.fashion_mnist.load_data()\n", 150 | "\n", 151 | "# add empty color dimension\n", 152 | "x_train = np.expand_dims(x_train, -1)\n", 153 | "x_test = np.expand_dims(x_test, -1)" 154 | ] 155 | }, 156 | { 157 | "cell_type": "markdown", 158 | "metadata": { 159 | "id": "Hgc2FZKVMx15" 160 | }, 161 | "source": [ 162 | "### Define the model\n", 163 | "\n", 164 | "The following example uses a standard conv-net that has 3 layers with drop-out and batch normalization between each layer." 165 | ] 166 | }, 167 | { 168 | "cell_type": "code", 169 | "execution_count": null, 170 | "metadata": { 171 | "id": "W7gMbs70GxA7" 172 | }, 173 | "outputs": [], 174 | "source": [ 175 | "def create_model():\n", 176 | " model = tf.keras.models.Sequential()\n", 177 | " model.add(tf.keras.layers.BatchNormalization(input_shape=x_train.shape[1:]))\n", 178 | " model.add(tf.keras.layers.Conv2D(64, (5, 5), padding='same', activation='elu'))\n", 179 | " model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=(2,2)))\n", 180 | " model.add(tf.keras.layers.Dropout(0.25))\n", 181 | "\n", 182 | " model.add(tf.keras.layers.BatchNormalization(input_shape=x_train.shape[1:]))\n", 183 | " model.add(tf.keras.layers.Conv2D(128, (5, 5), padding='same', activation='elu'))\n", 184 | " model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2)))\n", 185 | " model.add(tf.keras.layers.Dropout(0.25))\n", 186 | "\n", 187 | " model.add(tf.keras.layers.BatchNormalization(input_shape=x_train.shape[1:]))\n", 188 | " model.add(tf.keras.layers.Conv2D(256, (5, 5), padding='same', activation='elu'))\n", 189 | " model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=(2,2)))\n", 190 | " model.add(tf.keras.layers.Dropout(0.25))\n", 191 | "\n", 192 | " model.add(tf.keras.layers.Flatten())\n", 193 | " model.add(tf.keras.layers.Dense(256))\n", 194 | " model.add(tf.keras.layers.Activation('elu'))\n", 195 | " model.add(tf.keras.layers.Dropout(0.5))\n", 196 | " model.add(tf.keras.layers.Dense(10))\n", 197 | " model.add(tf.keras.layers.Activation('softmax'))\n", 198 | " return model" 199 | ] 200 | }, 201 | { 202 | "cell_type": "markdown", 203 | "metadata": { 204 | "id": "xLeZATVaNAnE" 205 | }, 206 | "source": [ 207 | "### Train on the TPU\n", 208 | "\n", 209 | "To begin training, construct the model on the TPU and then compile it." 210 | ] 211 | }, 212 | { 213 | "cell_type": "code", 214 | "execution_count": null, 215 | "metadata": { 216 | "id": "pWEYmd_hIWg8" 217 | }, 218 | "outputs": [], 219 | "source": [ 220 | "tf.keras.backend.clear_session()\n", 221 | "\n", 222 | "resolver = tf.distribute.cluster_resolver.TPUClusterResolver('grpc://' + os.environ['COLAB_TPU_ADDR'])\n", 223 | "tf.config.experimental_connect_to_cluster(resolver)\n", 224 | "\n", 225 | "# This is the TPU initialization code that has to be at the beginning.\n", 226 | "tf.tpu.experimental.initialize_tpu_system(resolver)\n", 227 | "print(\"All devices: \", tf.config.list_logical_devices('TPU'))\n", 228 | "\n", 229 | "strategy = tf.distribute.experimental.TPUStrategy(resolver)\n", 230 | "\n", 231 | "with strategy.scope():\n", 232 | " model = create_model()\n", 233 | " model.compile(\n", 234 | " optimizer=tf.keras.optimizers.Adam(learning_rate=1e-3, ),\n", 235 | " loss='sparse_categorical_crossentropy',\n", 236 | " metrics=['sparse_categorical_accuracy'])\n", 237 | "\n", 238 | "model.fit(\n", 239 | " x_train.astype(np.float32), y_train.astype(np.float32),\n", 240 | " epochs=17,\n", 241 | " steps_per_epoch=60,\n", 242 | " validation_data=(x_test.astype(np.float32), y_test.astype(np.float32)),\n", 243 | " validation_freq=17\n", 244 | ")\n", 245 | "\n", 246 | "model.save_weights('./fashion_mnist.h5', overwrite=True)" 247 | ] 248 | }, 249 | { 250 | "cell_type": "markdown", 251 | "metadata": { 252 | "id": "ESL6ltQTMm05" 253 | }, 254 | "source": [ 255 | "### Check the results (inference)\n", 256 | "\n", 257 | "Now that you are done training, see how well the model can predict fashion categories!" 258 | ] 259 | }, 260 | { 261 | "cell_type": "code", 262 | "execution_count": null, 263 | "metadata": { 264 | "id": "SaYPv_aKId2d" 265 | }, 266 | "outputs": [], 267 | "source": [ 268 | "LABEL_NAMES = ['t_shirt', 'trouser', 'pullover', 'dress', 'coat', 'sandal', 'shirt', 'sneaker', 'bag', 'ankle_boots']\n", 269 | "\n", 270 | "\n", 271 | "cpu_model = create_model()\n", 272 | "cpu_model.load_weights('./fashion_mnist.h5')\n", 273 | "\n", 274 | "from matplotlib import pyplot\n", 275 | "%matplotlib inline\n", 276 | "\n", 277 | "def plot_predictions(images, predictions):\n", 278 | " n = images.shape[0]\n", 279 | " nc = int(np.ceil(n / 4))\n", 280 | " f, axes = pyplot.subplots(nc, 4)\n", 281 | " for i in range(nc * 4):\n", 282 | " y = i // 4\n", 283 | " x = i % 4\n", 284 | " axes[x, y].axis('off')\n", 285 | " \n", 286 | " label = LABEL_NAMES[np.argmax(predictions[i])]\n", 287 | " confidence = np.max(predictions[i])\n", 288 | " if i > n:\n", 289 | " continue\n", 290 | " axes[x, y].imshow(images[i])\n", 291 | " axes[x, y].text(0.5, 0.5, label + '\\n%.3f' % confidence, fontsize=14)\n", 292 | "\n", 293 | " pyplot.gcf().set_size_inches(8, 8) \n", 294 | " plot_predictions(np.squeeze(x_test[:16]), cpu_model.predict(x_test[:16]))" 295 | ] 296 | }, 297 | { 298 | "cell_type": "markdown", 299 | "metadata": { 300 | "id": "2a5cGsSTEBQD" 301 | }, 302 | "source": [ 303 | "## What's next\n", 304 | "\n", 305 | "* Learn about [Cloud TPUs](https://cloud.google.com/tpu/docs) that Google designed and optimized specifically to speed up and scale up ML workloads for training and inference and to enable ML engineers and researchers to iterate more quickly.\n", 306 | "* Explore the range of [Cloud TPU tutorials and Colabs](https://cloud.google.com/tpu/docs/tutorials) to find other examples that can be used when implementing your ML project.\n", 307 | "\n", 308 | "On Google Cloud Platform, in addition to GPUs and TPUs available on pre-configured [deep learning VMs](https://cloud.google.com/deep-learning-vm/), you will find [AutoML](https://cloud.google.com/automl/)*(beta)* for training custom models without writing code and [Cloud ML Engine](https://cloud.google.com/ml-engine/docs/) which will allows you to run parallel trainings and hyperparameter tuning of your custom models on powerful distributed hardware.\n" 309 | ] 310 | } 311 | ], 312 | "metadata": { 313 | "accelerator": "TPU", 314 | "colab": { 315 | "collapsed_sections": [ 316 | "N6ZDpd9XzFeN" 317 | ], 318 | "name": "Copy of Keras Fashion MNIST", 319 | "provenance": [], 320 | "include_colab_link": true 321 | }, 322 | "kernelspec": { 323 | "display_name": "Python 3", 324 | "name": "python3" 325 | } 326 | }, 327 | "nbformat": 4, 328 | "nbformat_minor": 0 329 | } -------------------------------------------------------------------------------- /KNN_skLearn_Ramen.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import numpy as np\n", 10 | "import pandas as pd" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": 13, 16 | "metadata": {}, 17 | "outputs": [ 18 | { 19 | "data": { 20 | "text/html": [ 21 | "
\n", 22 | "\n", 35 | "\n", 36 | " \n", 37 | " \n", 38 | " \n", 39 | " \n", 40 | " \n", 41 | " \n", 42 | " \n", 43 | " \n", 44 | " \n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | "
SepalLengthSepalWidthPetalLengthPetalWidthName
05.13.51.40.2Iris-setosa
14.93.01.40.2Iris-setosa
24.73.21.30.2Iris-setosa
34.63.11.50.2Iris-setosa
45.03.61.40.2Iris-setosa
\n", 89 | "
" 90 | ], 91 | "text/plain": [ 92 | " SepalLength SepalWidth PetalLength PetalWidth Name\n", 93 | "0 5.1 3.5 1.4 0.2 Iris-setosa\n", 94 | "1 4.9 3.0 1.4 0.2 Iris-setosa\n", 95 | "2 4.7 3.2 1.3 0.2 Iris-setosa\n", 96 | "3 4.6 3.1 1.5 0.2 Iris-setosa\n", 97 | "4 5.0 3.6 1.4 0.2 Iris-setosa" 98 | ] 99 | }, 100 | "execution_count": 13, 101 | "metadata": {}, 102 | "output_type": "execute_result" 103 | } 104 | ], 105 | "source": [ 106 | "data=pd.read_csv('iris.csv')\n", 107 | "data.head()" 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": 15, 113 | "metadata": {}, 114 | "outputs": [], 115 | "source": [ 116 | "X=np.array(data.iloc[:,0:4])\n", 117 | "Y=np.array(data.iloc[:,[4]]).ravel() ## ? check without ravel()?" 118 | ] 119 | }, 120 | { 121 | "cell_type": "code", 122 | "execution_count": 16, 123 | "metadata": { 124 | "collapsed": true 125 | }, 126 | "outputs": [ 127 | { 128 | "data": { 129 | "text/plain": [ 130 | "array([[5.1, 3.5, 1.4, 0.2],\n", 131 | " [4.9, 3. , 1.4, 0.2],\n", 132 | " [4.7, 3.2, 1.3, 0.2],\n", 133 | " [4.6, 3.1, 1.5, 0.2],\n", 134 | " [5. , 3.6, 1.4, 0.2],\n", 135 | " [5.4, 3.9, 1.7, 0.4],\n", 136 | " [4.6, 3.4, 1.4, 0.3],\n", 137 | " [5. , 3.4, 1.5, 0.2],\n", 138 | " [4.4, 2.9, 1.4, 0.2],\n", 139 | " [4.9, 3.1, 1.5, 0.1],\n", 140 | " [5.4, 3.7, 1.5, 0.2],\n", 141 | " [4.8, 3.4, 1.6, 0.2],\n", 142 | " [4.8, 3. , 1.4, 0.1],\n", 143 | " [4.3, 3. , 1.1, 0.1],\n", 144 | " [5.8, 4. , 1.2, 0.2],\n", 145 | " [5.7, 4.4, 1.5, 0.4],\n", 146 | " [5.4, 3.9, 1.3, 0.4],\n", 147 | " [5.1, 3.5, 1.4, 0.3],\n", 148 | " [5.7, 3.8, 1.7, 0.3],\n", 149 | " [5.1, 3.8, 1.5, 0.3],\n", 150 | " [5.4, 3.4, 1.7, 0.2],\n", 151 | " [5.1, 3.7, 1.5, 0.4],\n", 152 | " [4.6, 3.6, 1. , 0.2],\n", 153 | " [5.1, 3.3, 1.7, 0.5],\n", 154 | " [4.8, 3.4, 1.9, 0.2],\n", 155 | " [5. , 3. , 1.6, 0.2],\n", 156 | " [5. , 3.4, 1.6, 0.4],\n", 157 | " [5.2, 3.5, 1.5, 0.2],\n", 158 | " [5.2, 3.4, 1.4, 0.2],\n", 159 | " [4.7, 3.2, 1.6, 0.2],\n", 160 | " [4.8, 3.1, 1.6, 0.2],\n", 161 | " [5.4, 3.4, 1.5, 0.4],\n", 162 | " [5.2, 4.1, 1.5, 0.1],\n", 163 | " [5.5, 4.2, 1.4, 0.2],\n", 164 | " [4.9, 3.1, 1.5, 0.1],\n", 165 | " [5. , 3.2, 1.2, 0.2],\n", 166 | " [5.5, 3.5, 1.3, 0.2],\n", 167 | " [4.9, 3.1, 1.5, 0.1],\n", 168 | " [4.4, 3. , 1.3, 0.2],\n", 169 | " [5.1, 3.4, 1.5, 0.2],\n", 170 | " [5. , 3.5, 1.3, 0.3],\n", 171 | " [4.5, 2.3, 1.3, 0.3],\n", 172 | " [4.4, 3.2, 1.3, 0.2],\n", 173 | " [5. , 3.5, 1.6, 0.6],\n", 174 | " [5.1, 3.8, 1.9, 0.4],\n", 175 | " [4.8, 3. , 1.4, 0.3],\n", 176 | " [5.1, 3.8, 1.6, 0.2],\n", 177 | " [4.6, 3.2, 1.4, 0.2],\n", 178 | " [5.3, 3.7, 1.5, 0.2],\n", 179 | " [5. , 3.3, 1.4, 0.2],\n", 180 | " [7. , 3.2, 4.7, 1.4],\n", 181 | " [6.4, 3.2, 4.5, 1.5],\n", 182 | " [6.9, 3.1, 4.9, 1.5],\n", 183 | " [5.5, 2.3, 4. , 1.3],\n", 184 | " [6.5, 2.8, 4.6, 1.5],\n", 185 | " [5.7, 2.8, 4.5, 1.3],\n", 186 | " [6.3, 3.3, 4.7, 1.6],\n", 187 | " [4.9, 2.4, 3.3, 1. ],\n", 188 | " [6.6, 2.9, 4.6, 1.3],\n", 189 | " [5.2, 2.7, 3.9, 1.4],\n", 190 | " [5. , 2. , 3.5, 1. ],\n", 191 | " [5.9, 3. , 4.2, 1.5],\n", 192 | " [6. , 2.2, 4. , 1. ],\n", 193 | " [6.1, 2.9, 4.7, 1.4],\n", 194 | " [5.6, 2.9, 3.6, 1.3],\n", 195 | " [6.7, 3.1, 4.4, 1.4],\n", 196 | " [5.6, 3. , 4.5, 1.5],\n", 197 | " [5.8, 2.7, 4.1, 1. ],\n", 198 | " [6.2, 2.2, 4.5, 1.5],\n", 199 | " [5.6, 2.5, 3.9, 1.1],\n", 200 | " [5.9, 3.2, 4.8, 1.8],\n", 201 | " [6.1, 2.8, 4. , 1.3],\n", 202 | " [6.3, 2.5, 4.9, 1.5],\n", 203 | " [6.1, 2.8, 4.7, 1.2],\n", 204 | " [6.4, 2.9, 4.3, 1.3],\n", 205 | " [6.6, 3. , 4.4, 1.4],\n", 206 | " [6.8, 2.8, 4.8, 1.4],\n", 207 | " [6.7, 3. , 5. , 1.7],\n", 208 | " [6. , 2.9, 4.5, 1.5],\n", 209 | " [5.7, 2.6, 3.5, 1. ],\n", 210 | " [5.5, 2.4, 3.8, 1.1],\n", 211 | " [5.5, 2.4, 3.7, 1. ],\n", 212 | " [5.8, 2.7, 3.9, 1.2],\n", 213 | " [6. , 2.7, 5.1, 1.6],\n", 214 | " [5.4, 3. , 4.5, 1.5],\n", 215 | " [6. , 3.4, 4.5, 1.6],\n", 216 | " [6.7, 3.1, 4.7, 1.5],\n", 217 | " [6.3, 2.3, 4.4, 1.3],\n", 218 | " [5.6, 3. , 4.1, 1.3],\n", 219 | " [5.5, 2.5, 4. , 1.3],\n", 220 | " [5.5, 2.6, 4.4, 1.2],\n", 221 | " [6.1, 3. , 4.6, 1.4],\n", 222 | " [5.8, 2.6, 4. , 1.2],\n", 223 | " [5. , 2.3, 3.3, 1. ],\n", 224 | " [5.6, 2.7, 4.2, 1.3],\n", 225 | " [5.7, 3. , 4.2, 1.2],\n", 226 | " [5.7, 2.9, 4.2, 1.3],\n", 227 | " [6.2, 2.9, 4.3, 1.3],\n", 228 | " [5.1, 2.5, 3. , 1.1],\n", 229 | " [5.7, 2.8, 4.1, 1.3],\n", 230 | " [6.3, 3.3, 6. , 2.5],\n", 231 | " [5.8, 2.7, 5.1, 1.9],\n", 232 | " [7.1, 3. , 5.9, 2.1],\n", 233 | " [6.3, 2.9, 5.6, 1.8],\n", 234 | " [6.5, 3. , 5.8, 2.2],\n", 235 | " [7.6, 3. , 6.6, 2.1],\n", 236 | " [4.9, 2.5, 4.5, 1.7],\n", 237 | " [7.3, 2.9, 6.3, 1.8],\n", 238 | " [6.7, 2.5, 5.8, 1.8],\n", 239 | " [7.2, 3.6, 6.1, 2.5],\n", 240 | " [6.5, 3.2, 5.1, 2. ],\n", 241 | " [6.4, 2.7, 5.3, 1.9],\n", 242 | " [6.8, 3. , 5.5, 2.1],\n", 243 | " [5.7, 2.5, 5. , 2. ],\n", 244 | " [5.8, 2.8, 5.1, 2.4],\n", 245 | " [6.4, 3.2, 5.3, 2.3],\n", 246 | " [6.5, 3. , 5.5, 1.8],\n", 247 | " [7.7, 3.8, 6.7, 2.2],\n", 248 | " [7.7, 2.6, 6.9, 2.3],\n", 249 | " [6. , 2.2, 5. , 1.5],\n", 250 | " [6.9, 3.2, 5.7, 2.3],\n", 251 | " [5.6, 2.8, 4.9, 2. ],\n", 252 | " [7.7, 2.8, 6.7, 2. ],\n", 253 | " [6.3, 2.7, 4.9, 1.8],\n", 254 | " [6.7, 3.3, 5.7, 2.1],\n", 255 | " [7.2, 3.2, 6. , 1.8],\n", 256 | " [6.2, 2.8, 4.8, 1.8],\n", 257 | " [6.1, 3. , 4.9, 1.8],\n", 258 | " [6.4, 2.8, 5.6, 2.1],\n", 259 | " [7.2, 3. , 5.8, 1.6],\n", 260 | " [7.4, 2.8, 6.1, 1.9],\n", 261 | " [7.9, 3.8, 6.4, 2. ],\n", 262 | " [6.4, 2.8, 5.6, 2.2],\n", 263 | " [6.3, 2.8, 5.1, 1.5],\n", 264 | " [6.1, 2.6, 5.6, 1.4],\n", 265 | " [7.7, 3. , 6.1, 2.3],\n", 266 | " [6.3, 3.4, 5.6, 2.4],\n", 267 | " [6.4, 3.1, 5.5, 1.8],\n", 268 | " [6. , 3. , 4.8, 1.8],\n", 269 | " [6.9, 3.1, 5.4, 2.1],\n", 270 | " [6.7, 3.1, 5.6, 2.4],\n", 271 | " [6.9, 3.1, 5.1, 2.3],\n", 272 | " [5.8, 2.7, 5.1, 1.9],\n", 273 | " [6.8, 3.2, 5.9, 2.3],\n", 274 | " [6.7, 3.3, 5.7, 2.5],\n", 275 | " [6.7, 3. , 5.2, 2.3],\n", 276 | " [6.3, 2.5, 5. , 1.9],\n", 277 | " [6.5, 3. , 5.2, 2. ],\n", 278 | " [6.2, 3.4, 5.4, 2.3],\n", 279 | " [5.9, 3. , 5.1, 1.8]])" 280 | ] 281 | }, 282 | "execution_count": 16, 283 | "metadata": {}, 284 | "output_type": "execute_result" 285 | } 286 | ], 287 | "source": [ 288 | "X" 289 | ] 290 | }, 291 | { 292 | "cell_type": "code", 293 | "execution_count": 17, 294 | "metadata": { 295 | "collapsed": true 296 | }, 297 | "outputs": [ 298 | { 299 | "data": { 300 | "text/plain": [ 301 | "array(['Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 302 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 303 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 304 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 305 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 306 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 307 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 308 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 309 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 310 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 311 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 312 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 313 | " 'Iris-setosa', 'Iris-setosa', 'Iris-versicolor', 'Iris-versicolor',\n", 314 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 315 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 316 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 317 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 318 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 319 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 320 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 321 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 322 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 323 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 324 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 325 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 326 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 327 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 328 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 329 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 330 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 331 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 332 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 333 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 334 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 335 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 336 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 337 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 338 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 339 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 340 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 341 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 342 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 343 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 344 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 345 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 346 | " 'Iris-virginica', 'Iris-virginica'], dtype=object)" 347 | ] 348 | }, 349 | "execution_count": 17, 350 | "metadata": {}, 351 | "output_type": "execute_result" 352 | } 353 | ], 354 | "source": [ 355 | "Y" 356 | ] 357 | }, 358 | { 359 | "cell_type": "markdown", 360 | "metadata": {}, 361 | "source": [ 362 | "### Importing the library for spliting the dataset :" 363 | ] 364 | }, 365 | { 366 | "cell_type": "code", 367 | "execution_count": 18, 368 | "metadata": {}, 369 | "outputs": [], 370 | "source": [ 371 | "## Spliting your data into training set and test set\n", 372 | "from sklearn.model_selection import train_test_split\n", 373 | "X_train, X_test, y_train, y_test = train_test_split(X,Y,test_size=0.2,random_state=0)" 374 | ] 375 | }, 376 | { 377 | "cell_type": "markdown", 378 | "metadata": {}, 379 | "source": [ 380 | "https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html" 381 | ] 382 | }, 383 | { 384 | "cell_type": "code", 385 | "execution_count": 39, 386 | "metadata": { 387 | "collapsed": true 388 | }, 389 | "outputs": [ 390 | { 391 | "data": { 392 | "text/plain": [ 393 | "array(['Iris-virginica', 'Iris-versicolor', 'Iris-setosa',\n", 394 | " 'Iris-virginica', 'Iris-virginica', 'Iris-versicolor',\n", 395 | " 'Iris-setosa', 'Iris-versicolor', 'Iris-versicolor',\n", 396 | " 'Iris-versicolor', 'Iris-virginica', 'Iris-setosa',\n", 397 | " 'Iris-virginica', 'Iris-setosa', 'Iris-setosa', 'Iris-versicolor',\n", 398 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 399 | " 'Iris-virginica', 'Iris-versicolor', 'Iris-virginica',\n", 400 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-virginica',\n", 401 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 402 | " 'Iris-versicolor', 'Iris-virginica', 'Iris-versicolor',\n", 403 | " 'Iris-setosa', 'Iris-virginica', 'Iris-versicolor',\n", 404 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 405 | " 'Iris-virginica', 'Iris-setosa', 'Iris-setosa', 'Iris-virginica',\n", 406 | " 'Iris-versicolor', 'Iris-setosa', 'Iris-setosa', 'Iris-versicolor',\n", 407 | " 'Iris-setosa', 'Iris-virginica', 'Iris-versicolor', 'Iris-setosa',\n", 408 | " 'Iris-versicolor', 'Iris-virginica', 'Iris-versicolor',\n", 409 | " 'Iris-setosa', 'Iris-virginica', 'Iris-virginica',\n", 410 | " 'Iris-virginica', 'Iris-virginica', 'Iris-setosa', 'Iris-setosa',\n", 411 | " 'Iris-virginica', 'Iris-virginica', 'Iris-setosa',\n", 412 | " 'Iris-virginica', 'Iris-setosa', 'Iris-virginica',\n", 413 | " 'Iris-virginica', 'Iris-setosa', 'Iris-setosa', 'Iris-virginica',\n", 414 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-versicolor',\n", 415 | " 'Iris-virginica', 'Iris-virginica', 'Iris-setosa', 'Iris-setosa',\n", 416 | " 'Iris-setosa', 'Iris-versicolor', 'Iris-versicolor', 'Iris-setosa',\n", 417 | " 'Iris-setosa', 'Iris-versicolor', 'Iris-setosa', 'Iris-virginica',\n", 418 | " 'Iris-versicolor', 'Iris-virginica', 'Iris-versicolor',\n", 419 | " 'Iris-setosa', 'Iris-virginica', 'Iris-setosa', 'Iris-virginica',\n", 420 | " 'Iris-setosa', 'Iris-setosa', 'Iris-virginica', 'Iris-setosa',\n", 421 | " 'Iris-virginica', 'Iris-versicolor', 'Iris-versicolor',\n", 422 | " 'Iris-versicolor', 'Iris-virginica', 'Iris-virginica',\n", 423 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-setosa',\n", 424 | " 'Iris-versicolor', 'Iris-virginica', 'Iris-virginica',\n", 425 | " 'Iris-setosa', 'Iris-versicolor', 'Iris-versicolor',\n", 426 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-setosa', 'Iris-setosa',\n", 427 | " 'Iris-setosa', 'Iris-virginica', 'Iris-versicolor',\n", 428 | " 'Iris-virginica', 'Iris-setosa'], dtype=object)" 429 | ] 430 | }, 431 | "execution_count": 39, 432 | "metadata": {}, 433 | "output_type": "execute_result" 434 | } 435 | ], 436 | "source": [ 437 | "y_train" 438 | ] 439 | }, 440 | { 441 | "cell_type": "code", 442 | "execution_count": 11, 443 | "metadata": {}, 444 | "outputs": [ 445 | { 446 | "data": { 447 | "text/plain": [ 448 | "30" 449 | ] 450 | }, 451 | "execution_count": 11, 452 | "metadata": {}, 453 | "output_type": "execute_result" 454 | } 455 | ], 456 | "source": [ 457 | "y_test.size" 458 | ] 459 | }, 460 | { 461 | "cell_type": "markdown", 462 | "metadata": {}, 463 | "source": [ 464 | "### Importing the library for KNN Classifier from sklearn :" 465 | ] 466 | }, 467 | { 468 | "cell_type": "code", 469 | "execution_count": 20, 470 | "metadata": {}, 471 | "outputs": [ 472 | { 473 | "data": { 474 | "text/plain": [ 475 | "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n", 476 | " metric_params=None, n_jobs=None, n_neighbors=13, p=2,\n", 477 | " weights='uniform')" 478 | ] 479 | }, 480 | "execution_count": 20, 481 | "metadata": {}, 482 | "output_type": "execute_result" 483 | } 484 | ], 485 | "source": [ 486 | "from sklearn.neighbors import KNeighborsClassifier\n", 487 | "neigh = KNeighborsClassifier(n_neighbors=13)\n", 488 | "neigh.fit(X_train, y_train) " 489 | ] 490 | }, 491 | { 492 | "cell_type": "markdown", 493 | "metadata": {}, 494 | "source": [ 495 | "https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html" 496 | ] 497 | }, 498 | { 499 | "cell_type": "code", 500 | "execution_count": 42, 501 | "metadata": {}, 502 | "outputs": [ 503 | { 504 | "data": { 505 | "text/plain": [ 506 | "array(['Iris-virginica', 'Iris-versicolor', 'Iris-setosa',\n", 507 | " 'Iris-virginica', 'Iris-setosa', 'Iris-virginica', 'Iris-setosa',\n", 508 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 509 | " 'Iris-virginica', 'Iris-versicolor', 'Iris-versicolor',\n", 510 | " 'Iris-versicolor', 'Iris-virginica', 'Iris-setosa',\n", 511 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-setosa', 'Iris-setosa',\n", 512 | " 'Iris-virginica', 'Iris-versicolor', 'Iris-setosa', 'Iris-setosa',\n", 513 | " 'Iris-virginica', 'Iris-setosa', 'Iris-setosa', 'Iris-versicolor',\n", 514 | " 'Iris-versicolor', 'Iris-setosa'], dtype=object)" 515 | ] 516 | }, 517 | "execution_count": 42, 518 | "metadata": {}, 519 | "output_type": "execute_result" 520 | } 521 | ], 522 | "source": [ 523 | "neigh.predict(X_test) ## Predicting with test set" 524 | ] 525 | }, 526 | { 527 | "cell_type": "code", 528 | "execution_count": 21, 529 | "metadata": {}, 530 | "outputs": [ 531 | { 532 | "data": { 533 | "text/plain": [ 534 | "1.0" 535 | ] 536 | }, 537 | "execution_count": 21, 538 | "metadata": {}, 539 | "output_type": "execute_result" 540 | } 541 | ], 542 | "source": [ 543 | "neigh.score(X_test, y_test,sample_weight=None) \n", 544 | "# Calcualte the accuracy of prediction" 545 | ] 546 | } 547 | ], 548 | "metadata": { 549 | "kernelspec": { 550 | "display_name": "Python 3", 551 | "language": "python", 552 | "name": "python3" 553 | }, 554 | "language_info": { 555 | "codemirror_mode": { 556 | "name": "ipython", 557 | "version": 3 558 | }, 559 | "file_extension": ".py", 560 | "mimetype": "text/x-python", 561 | "name": "python", 562 | "nbconvert_exporter": "python", 563 | "pygments_lexer": "ipython3", 564 | "version": "3.7.1" 565 | } 566 | }, 567 | "nbformat": 4, 568 | "nbformat_minor": 2 569 | } 570 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Ramendra Kumar 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Mahadev.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rami-RK/Machine-Learning-using-ML-library/54aa3d6979fe4d631ffae3612962fce41a376052/Mahadev.JPG -------------------------------------------------------------------------------- /Multivariate Linear Regression_SKLEARN.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 41, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "#Ramendra Kumar\n", 10 | "import numpy as np\n", 11 | "import pandas as pd\n", 12 | "import matplotlib.pyplot as plt" 13 | ] 14 | }, 15 | { 16 | "cell_type": "code", 17 | "execution_count": 42, 18 | "metadata": {}, 19 | "outputs": [], 20 | "source": [ 21 | "data=pd.read_csv('ex1data2.txt',header=None)\n", 22 | "X=data.iloc[:,[0,1]]\n", 23 | "Y=data.iloc[:,[2]] " 24 | ] 25 | }, 26 | { 27 | "cell_type": "code", 28 | "execution_count": 43, 29 | "metadata": {}, 30 | "outputs": [ 31 | { 32 | "data": { 33 | "text/html": [ 34 | "
\n", 35 | "\n", 48 | "\n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | "
012
021043399900
116003329900
224003369000
314162232000
430004539900
\n", 90 | "
" 91 | ], 92 | "text/plain": [ 93 | " 0 1 2\n", 94 | "0 2104 3 399900\n", 95 | "1 1600 3 329900\n", 96 | "2 2400 3 369000\n", 97 | "3 1416 2 232000\n", 98 | "4 3000 4 539900" 99 | ] 100 | }, 101 | "execution_count": 43, 102 | "metadata": {}, 103 | "output_type": "execute_result" 104 | } 105 | ], 106 | "source": [ 107 | "data.head()# first column size of flat,second column no of bedrooms,third column price of the flat" 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": 10, 113 | "metadata": { 114 | "collapsed": true 115 | }, 116 | "outputs": [ 117 | { 118 | "data": { 119 | "text/html": [ 120 | "
\n", 121 | "\n", 134 | "\n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | "
01
021043
116003
224003
314162
430004
519854
615343
714273
813803
914943
1019404
1120003
1218903
1344785
1412683
1523004
1613202
1712363
1826094
1930314
2017673
2118882
2216043
2319624
2438903
2511003
2614583
2725263
2822003
2926373
3018392
3110001
3220404
3331373
3418114
3514373
3612393
3721324
3842154
3921624
4016642
4122383
4225674
4312003
448522
4518524
4612033
\n", 380 | "
" 381 | ], 382 | "text/plain": [ 383 | " 0 1\n", 384 | "0 2104 3\n", 385 | "1 1600 3\n", 386 | "2 2400 3\n", 387 | "3 1416 2\n", 388 | "4 3000 4\n", 389 | "5 1985 4\n", 390 | "6 1534 3\n", 391 | "7 1427 3\n", 392 | "8 1380 3\n", 393 | "9 1494 3\n", 394 | "10 1940 4\n", 395 | "11 2000 3\n", 396 | "12 1890 3\n", 397 | "13 4478 5\n", 398 | "14 1268 3\n", 399 | "15 2300 4\n", 400 | "16 1320 2\n", 401 | "17 1236 3\n", 402 | "18 2609 4\n", 403 | "19 3031 4\n", 404 | "20 1767 3\n", 405 | "21 1888 2\n", 406 | "22 1604 3\n", 407 | "23 1962 4\n", 408 | "24 3890 3\n", 409 | "25 1100 3\n", 410 | "26 1458 3\n", 411 | "27 2526 3\n", 412 | "28 2200 3\n", 413 | "29 2637 3\n", 414 | "30 1839 2\n", 415 | "31 1000 1\n", 416 | "32 2040 4\n", 417 | "33 3137 3\n", 418 | "34 1811 4\n", 419 | "35 1437 3\n", 420 | "36 1239 3\n", 421 | "37 2132 4\n", 422 | "38 4215 4\n", 423 | "39 2162 4\n", 424 | "40 1664 2\n", 425 | "41 2238 3\n", 426 | "42 2567 4\n", 427 | "43 1200 3\n", 428 | "44 852 2\n", 429 | "45 1852 4\n", 430 | "46 1203 3" 431 | ] 432 | }, 433 | "execution_count": 10, 434 | "metadata": {}, 435 | "output_type": "execute_result" 436 | } 437 | ], 438 | "source": [ 439 | "X" 440 | ] 441 | }, 442 | { 443 | "cell_type": "code", 444 | "execution_count": 12, 445 | "metadata": { 446 | "collapsed": true 447 | }, 448 | "outputs": [ 449 | { 450 | "data": { 451 | "text/html": [ 452 | "
\n", 453 | "\n", 466 | "\n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | " \n", 491 | " \n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | " \n", 506 | " \n", 507 | " \n", 508 | " \n", 509 | " \n", 510 | " \n", 511 | " \n", 512 | " \n", 513 | " \n", 514 | " \n", 515 | " \n", 516 | " \n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | " \n", 535 | " \n", 536 | " \n", 537 | " \n", 538 | " \n", 539 | " \n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | " \n", 589 | " \n", 590 | " \n", 591 | " \n", 592 | " \n", 593 | " \n", 594 | " \n", 595 | " \n", 596 | " \n", 597 | " \n", 598 | " \n", 599 | " \n", 600 | " \n", 601 | " \n", 602 | " \n", 603 | " \n", 604 | " \n", 605 | " \n", 606 | " \n", 607 | " \n", 608 | " \n", 609 | " \n", 610 | " \n", 611 | " \n", 612 | " \n", 613 | " \n", 614 | " \n", 615 | " \n", 616 | " \n", 617 | " \n", 618 | " \n", 619 | " \n", 620 | " \n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | "
2
0399900
1329900
2369000
3232000
4539900
5299900
6314900
7198999
8212000
9242500
10239999
11347000
12329999
13699900
14259900
15449900
16299900
17199900
18499998
19599000
20252900
21255000
22242900
23259900
24573900
25249900
26464500
27469000
28475000
29299900
30349900
31169900
32314900
33579900
34285900
35249900
36229900
37345000
38549000
39287000
40368500
41329900
42314000
43299000
44179900
45299900
46239500
\n", 664 | "
" 665 | ], 666 | "text/plain": [ 667 | " 2\n", 668 | "0 399900\n", 669 | "1 329900\n", 670 | "2 369000\n", 671 | "3 232000\n", 672 | "4 539900\n", 673 | "5 299900\n", 674 | "6 314900\n", 675 | "7 198999\n", 676 | "8 212000\n", 677 | "9 242500\n", 678 | "10 239999\n", 679 | "11 347000\n", 680 | "12 329999\n", 681 | "13 699900\n", 682 | "14 259900\n", 683 | "15 449900\n", 684 | "16 299900\n", 685 | "17 199900\n", 686 | "18 499998\n", 687 | "19 599000\n", 688 | "20 252900\n", 689 | "21 255000\n", 690 | "22 242900\n", 691 | "23 259900\n", 692 | "24 573900\n", 693 | "25 249900\n", 694 | "26 464500\n", 695 | "27 469000\n", 696 | "28 475000\n", 697 | "29 299900\n", 698 | "30 349900\n", 699 | "31 169900\n", 700 | "32 314900\n", 701 | "33 579900\n", 702 | "34 285900\n", 703 | "35 249900\n", 704 | "36 229900\n", 705 | "37 345000\n", 706 | "38 549000\n", 707 | "39 287000\n", 708 | "40 368500\n", 709 | "41 329900\n", 710 | "42 314000\n", 711 | "43 299000\n", 712 | "44 179900\n", 713 | "45 299900\n", 714 | "46 239500" 715 | ] 716 | }, 717 | "execution_count": 12, 718 | "metadata": {}, 719 | "output_type": "execute_result" 720 | } 721 | ], 722 | "source": [ 723 | "Y" 724 | ] 725 | }, 726 | { 727 | "cell_type": "code", 728 | "execution_count": 44, 729 | "metadata": {}, 730 | "outputs": [], 731 | "source": [ 732 | "X=np.array(X)\n", 733 | "\n", 734 | "#X=(X-np.mean(X))/np.std(X)#Normalizatin & Feature scaling\n", 735 | "Y=np.array(Y)\n", 736 | "m=len(Y)" 737 | ] 738 | }, 739 | { 740 | "cell_type": "code", 741 | "execution_count": 45, 742 | "metadata": {}, 743 | "outputs": [], 744 | "source": [ 745 | "from sklearn.model_selection import train_test_split " 746 | ] 747 | }, 748 | { 749 | "cell_type": "code", 750 | "execution_count": 46, 751 | "metadata": {}, 752 | "outputs": [], 753 | "source": [ 754 | "X_train, X_test, Y_train, Y_test = train_test_split( X,Y,test_size=0.25, random_state=42)" 755 | ] 756 | }, 757 | { 758 | "cell_type": "code", 759 | "execution_count": 47, 760 | "metadata": {}, 761 | "outputs": [], 762 | "source": [ 763 | "from sklearn.linear_model import LinearRegression\n", 764 | "reg = LinearRegression().fit(X_train, Y_train)" 765 | ] 766 | }, 767 | { 768 | "cell_type": "code", 769 | "execution_count": 48, 770 | "metadata": {}, 771 | "outputs": [ 772 | { 773 | "data": { 774 | "text/plain": [ 775 | "array([[ 142.19346488, -14617.20858301]])" 776 | ] 777 | }, 778 | "execution_count": 48, 779 | "metadata": {}, 780 | "output_type": "execute_result" 781 | } 782 | ], 783 | "source": [ 784 | "reg.coef_ " 785 | ] 786 | }, 787 | { 788 | "cell_type": "code", 789 | "execution_count": 49, 790 | "metadata": {}, 791 | "outputs": [ 792 | { 793 | "data": { 794 | "text/plain": [ 795 | "array([91978.11176358])" 796 | ] 797 | }, 798 | "execution_count": 49, 799 | "metadata": {}, 800 | "output_type": "execute_result" 801 | } 802 | ], 803 | "source": [ 804 | "reg.intercept_ " 805 | ] 806 | }, 807 | { 808 | "cell_type": "code", 809 | "execution_count": 50, 810 | "metadata": {}, 811 | "outputs": [], 812 | "source": [ 813 | "y_pred=reg.predict(X_test)" 814 | ] 815 | }, 816 | { 817 | "cell_type": "code", 818 | "execution_count": 51, 819 | "metadata": { 820 | "collapsed": true 821 | }, 822 | "outputs": [ 823 | { 824 | "data": { 825 | "text/plain": [ 826 | "array([[407307.17831076],\n", 827 | " [340931.54851009],\n", 828 | " [255444.55781497],\n", 829 | " [218758.64387498],\n", 830 | " [601259.06441212],\n", 831 | " [224304.18900544],\n", 832 | " [316872.13464473],\n", 833 | " [464497.66949402],\n", 834 | " [460089.67208262],\n", 835 | " [204539.29738661],\n", 836 | " [244353.46755405],\n", 837 | " [264089.64087287]])" 838 | ] 839 | }, 840 | "execution_count": 51, 841 | "metadata": {}, 842 | "output_type": "execute_result" 843 | } 844 | ], 845 | "source": [ 846 | "y_pred" 847 | ] 848 | }, 849 | { 850 | "cell_type": "code", 851 | "execution_count": 52, 852 | "metadata": {}, 853 | "outputs": [ 854 | { 855 | "data": { 856 | "text/plain": [ 857 | "0.6292083749878664" 858 | ] 859 | }, 860 | "execution_count": 52, 861 | "metadata": {}, 862 | "output_type": "execute_result" 863 | } 864 | ], 865 | "source": [ 866 | "reg.score(X_test,Y_test)" 867 | ] 868 | }, 869 | { 870 | "cell_type": "code", 871 | "execution_count": 53, 872 | "metadata": {}, 873 | "outputs": [ 874 | { 875 | "data": { 876 | "image/png": "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\n", 877 | "text/plain": [ 878 | "
" 879 | ] 880 | }, 881 | "metadata": { 882 | "needs_background": "light" 883 | }, 884 | "output_type": "display_data" 885 | } 886 | ], 887 | "source": [ 888 | "###\n", 889 | "m=len(Y_test)\n", 890 | "X_axis=np.arange(1,m+1)\n", 891 | "y_pred=reg.predict(X_test)\n", 892 | "plt.plot(X_axis,Y_test,'k-') # orginal\n", 893 | "plt.plot(X_axis,y_pred,'r-')\n", 894 | "plt.show()" 895 | ] 896 | }, 897 | { 898 | "cell_type": "code", 899 | "execution_count": 54, 900 | "metadata": {}, 901 | "outputs": [], 902 | "source": [ 903 | "y_pred=reg.predict([[3000,3]])" 904 | ] 905 | }, 906 | { 907 | "cell_type": "code", 908 | "execution_count": 55, 909 | "metadata": {}, 910 | "outputs": [ 911 | { 912 | "data": { 913 | "text/plain": [ 914 | "array([[474706.88066563]])" 915 | ] 916 | }, 917 | "execution_count": 55, 918 | "metadata": {}, 919 | "output_type": "execute_result" 920 | } 921 | ], 922 | "source": [ 923 | "y_pred" 924 | ] 925 | } 926 | ], 927 | "metadata": { 928 | "kernelspec": { 929 | "display_name": "Python 3", 930 | "language": "python", 931 | "name": "python3" 932 | }, 933 | "language_info": { 934 | "codemirror_mode": { 935 | "name": "ipython", 936 | "version": 3 937 | }, 938 | "file_extension": ".py", 939 | "mimetype": "text/x-python", 940 | "name": "python", 941 | "nbconvert_exporter": "python", 942 | "pygments_lexer": "ipython3", 943 | "version": "3.7.1" 944 | } 945 | }, 946 | "nbformat": 4, 947 | "nbformat_minor": 2 948 | } 949 | -------------------------------------------------------------------------------- /Naive Bayes_Iris data.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 2, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import numpy as np\n", 10 | "import pandas as pd" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": 3, 16 | "metadata": {}, 17 | "outputs": [ 18 | { 19 | "data": { 20 | "text/html": [ 21 | "
\n", 22 | "\n", 35 | "\n", 36 | " \n", 37 | " \n", 38 | " \n", 39 | " \n", 40 | " \n", 41 | " \n", 42 | " \n", 43 | " \n", 44 | " \n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | "
SepalLengthSepalWidthPetalLengthPetalWidthName
05.13.51.40.2Iris-setosa
14.93.01.40.2Iris-setosa
24.73.21.30.2Iris-setosa
34.63.11.50.2Iris-setosa
45.03.61.40.2Iris-setosa
\n", 89 | "
" 90 | ], 91 | "text/plain": [ 92 | " SepalLength SepalWidth PetalLength PetalWidth Name\n", 93 | "0 5.1 3.5 1.4 0.2 Iris-setosa\n", 94 | "1 4.9 3.0 1.4 0.2 Iris-setosa\n", 95 | "2 4.7 3.2 1.3 0.2 Iris-setosa\n", 96 | "3 4.6 3.1 1.5 0.2 Iris-setosa\n", 97 | "4 5.0 3.6 1.4 0.2 Iris-setosa" 98 | ] 99 | }, 100 | "execution_count": 3, 101 | "metadata": {}, 102 | "output_type": "execute_result" 103 | } 104 | ], 105 | "source": [ 106 | "data=pd.read_csv('iris.csv')\n", 107 | "data.head()" 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": 5, 113 | "metadata": { 114 | "collapsed": true 115 | }, 116 | "outputs": [ 117 | { 118 | "data": { 119 | "text/plain": [ 120 | "array([[5.1, 3.5, 1.4, 0.2],\n", 121 | " [4.9, 3. , 1.4, 0.2],\n", 122 | " [4.7, 3.2, 1.3, 0.2],\n", 123 | " [4.6, 3.1, 1.5, 0.2],\n", 124 | " [5. , 3.6, 1.4, 0.2],\n", 125 | " [5.4, 3.9, 1.7, 0.4],\n", 126 | " [4.6, 3.4, 1.4, 0.3],\n", 127 | " [5. , 3.4, 1.5, 0.2],\n", 128 | " [4.4, 2.9, 1.4, 0.2],\n", 129 | " [4.9, 3.1, 1.5, 0.1],\n", 130 | " [5.4, 3.7, 1.5, 0.2],\n", 131 | " [4.8, 3.4, 1.6, 0.2],\n", 132 | " [4.8, 3. , 1.4, 0.1],\n", 133 | " [4.3, 3. , 1.1, 0.1],\n", 134 | " [5.8, 4. , 1.2, 0.2],\n", 135 | " [5.7, 4.4, 1.5, 0.4],\n", 136 | " [5.4, 3.9, 1.3, 0.4],\n", 137 | " [5.1, 3.5, 1.4, 0.3],\n", 138 | " [5.7, 3.8, 1.7, 0.3],\n", 139 | " [5.1, 3.8, 1.5, 0.3],\n", 140 | " [5.4, 3.4, 1.7, 0.2],\n", 141 | " [5.1, 3.7, 1.5, 0.4],\n", 142 | " [4.6, 3.6, 1. , 0.2],\n", 143 | " [5.1, 3.3, 1.7, 0.5],\n", 144 | " [4.8, 3.4, 1.9, 0.2],\n", 145 | " [5. , 3. , 1.6, 0.2],\n", 146 | " [5. , 3.4, 1.6, 0.4],\n", 147 | " [5.2, 3.5, 1.5, 0.2],\n", 148 | " [5.2, 3.4, 1.4, 0.2],\n", 149 | " [4.7, 3.2, 1.6, 0.2],\n", 150 | " [4.8, 3.1, 1.6, 0.2],\n", 151 | " [5.4, 3.4, 1.5, 0.4],\n", 152 | " [5.2, 4.1, 1.5, 0.1],\n", 153 | " [5.5, 4.2, 1.4, 0.2],\n", 154 | " [4.9, 3.1, 1.5, 0.1],\n", 155 | " [5. , 3.2, 1.2, 0.2],\n", 156 | " [5.5, 3.5, 1.3, 0.2],\n", 157 | " [4.9, 3.1, 1.5, 0.1],\n", 158 | " [4.4, 3. , 1.3, 0.2],\n", 159 | " [5.1, 3.4, 1.5, 0.2],\n", 160 | " [5. , 3.5, 1.3, 0.3],\n", 161 | " [4.5, 2.3, 1.3, 0.3],\n", 162 | " [4.4, 3.2, 1.3, 0.2],\n", 163 | " [5. , 3.5, 1.6, 0.6],\n", 164 | " [5.1, 3.8, 1.9, 0.4],\n", 165 | " [4.8, 3. , 1.4, 0.3],\n", 166 | " [5.1, 3.8, 1.6, 0.2],\n", 167 | " [4.6, 3.2, 1.4, 0.2],\n", 168 | " [5.3, 3.7, 1.5, 0.2],\n", 169 | " [5. , 3.3, 1.4, 0.2],\n", 170 | " [7. , 3.2, 4.7, 1.4],\n", 171 | " [6.4, 3.2, 4.5, 1.5],\n", 172 | " [6.9, 3.1, 4.9, 1.5],\n", 173 | " [5.5, 2.3, 4. , 1.3],\n", 174 | " [6.5, 2.8, 4.6, 1.5],\n", 175 | " [5.7, 2.8, 4.5, 1.3],\n", 176 | " [6.3, 3.3, 4.7, 1.6],\n", 177 | " [4.9, 2.4, 3.3, 1. ],\n", 178 | " [6.6, 2.9, 4.6, 1.3],\n", 179 | " [5.2, 2.7, 3.9, 1.4],\n", 180 | " [5. , 2. , 3.5, 1. ],\n", 181 | " [5.9, 3. , 4.2, 1.5],\n", 182 | " [6. , 2.2, 4. , 1. ],\n", 183 | " [6.1, 2.9, 4.7, 1.4],\n", 184 | " [5.6, 2.9, 3.6, 1.3],\n", 185 | " [6.7, 3.1, 4.4, 1.4],\n", 186 | " [5.6, 3. , 4.5, 1.5],\n", 187 | " [5.8, 2.7, 4.1, 1. ],\n", 188 | " [6.2, 2.2, 4.5, 1.5],\n", 189 | " [5.6, 2.5, 3.9, 1.1],\n", 190 | " [5.9, 3.2, 4.8, 1.8],\n", 191 | " [6.1, 2.8, 4. , 1.3],\n", 192 | " [6.3, 2.5, 4.9, 1.5],\n", 193 | " [6.1, 2.8, 4.7, 1.2],\n", 194 | " [6.4, 2.9, 4.3, 1.3],\n", 195 | " [6.6, 3. , 4.4, 1.4],\n", 196 | " [6.8, 2.8, 4.8, 1.4],\n", 197 | " [6.7, 3. , 5. , 1.7],\n", 198 | " [6. , 2.9, 4.5, 1.5],\n", 199 | " [5.7, 2.6, 3.5, 1. ],\n", 200 | " [5.5, 2.4, 3.8, 1.1],\n", 201 | " [5.5, 2.4, 3.7, 1. ],\n", 202 | " [5.8, 2.7, 3.9, 1.2],\n", 203 | " [6. , 2.7, 5.1, 1.6],\n", 204 | " [5.4, 3. , 4.5, 1.5],\n", 205 | " [6. , 3.4, 4.5, 1.6],\n", 206 | " [6.7, 3.1, 4.7, 1.5],\n", 207 | " [6.3, 2.3, 4.4, 1.3],\n", 208 | " [5.6, 3. , 4.1, 1.3],\n", 209 | " [5.5, 2.5, 4. , 1.3],\n", 210 | " [5.5, 2.6, 4.4, 1.2],\n", 211 | " [6.1, 3. , 4.6, 1.4],\n", 212 | " [5.8, 2.6, 4. , 1.2],\n", 213 | " [5. , 2.3, 3.3, 1. ],\n", 214 | " [5.6, 2.7, 4.2, 1.3],\n", 215 | " [5.7, 3. , 4.2, 1.2],\n", 216 | " [5.7, 2.9, 4.2, 1.3],\n", 217 | " [6.2, 2.9, 4.3, 1.3],\n", 218 | " [5.1, 2.5, 3. , 1.1],\n", 219 | " [5.7, 2.8, 4.1, 1.3],\n", 220 | " [6.3, 3.3, 6. , 2.5],\n", 221 | " [5.8, 2.7, 5.1, 1.9],\n", 222 | " [7.1, 3. , 5.9, 2.1],\n", 223 | " [6.3, 2.9, 5.6, 1.8],\n", 224 | " [6.5, 3. , 5.8, 2.2],\n", 225 | " [7.6, 3. , 6.6, 2.1],\n", 226 | " [4.9, 2.5, 4.5, 1.7],\n", 227 | " [7.3, 2.9, 6.3, 1.8],\n", 228 | " [6.7, 2.5, 5.8, 1.8],\n", 229 | " [7.2, 3.6, 6.1, 2.5],\n", 230 | " [6.5, 3.2, 5.1, 2. ],\n", 231 | " [6.4, 2.7, 5.3, 1.9],\n", 232 | " [6.8, 3. , 5.5, 2.1],\n", 233 | " [5.7, 2.5, 5. , 2. ],\n", 234 | " [5.8, 2.8, 5.1, 2.4],\n", 235 | " [6.4, 3.2, 5.3, 2.3],\n", 236 | " [6.5, 3. , 5.5, 1.8],\n", 237 | " [7.7, 3.8, 6.7, 2.2],\n", 238 | " [7.7, 2.6, 6.9, 2.3],\n", 239 | " [6. , 2.2, 5. , 1.5],\n", 240 | " [6.9, 3.2, 5.7, 2.3],\n", 241 | " [5.6, 2.8, 4.9, 2. ],\n", 242 | " [7.7, 2.8, 6.7, 2. ],\n", 243 | " [6.3, 2.7, 4.9, 1.8],\n", 244 | " [6.7, 3.3, 5.7, 2.1],\n", 245 | " [7.2, 3.2, 6. , 1.8],\n", 246 | " [6.2, 2.8, 4.8, 1.8],\n", 247 | " [6.1, 3. , 4.9, 1.8],\n", 248 | " [6.4, 2.8, 5.6, 2.1],\n", 249 | " [7.2, 3. , 5.8, 1.6],\n", 250 | " [7.4, 2.8, 6.1, 1.9],\n", 251 | " [7.9, 3.8, 6.4, 2. ],\n", 252 | " [6.4, 2.8, 5.6, 2.2],\n", 253 | " [6.3, 2.8, 5.1, 1.5],\n", 254 | " [6.1, 2.6, 5.6, 1.4],\n", 255 | " [7.7, 3. , 6.1, 2.3],\n", 256 | " [6.3, 3.4, 5.6, 2.4],\n", 257 | " [6.4, 3.1, 5.5, 1.8],\n", 258 | " [6. , 3. , 4.8, 1.8],\n", 259 | " [6.9, 3.1, 5.4, 2.1],\n", 260 | " [6.7, 3.1, 5.6, 2.4],\n", 261 | " [6.9, 3.1, 5.1, 2.3],\n", 262 | " [5.8, 2.7, 5.1, 1.9],\n", 263 | " [6.8, 3.2, 5.9, 2.3],\n", 264 | " [6.7, 3.3, 5.7, 2.5],\n", 265 | " [6.7, 3. , 5.2, 2.3],\n", 266 | " [6.3, 2.5, 5. , 1.9],\n", 267 | " [6.5, 3. , 5.2, 2. ],\n", 268 | " [6.2, 3.4, 5.4, 2.3],\n", 269 | " [5.9, 3. , 5.1, 1.8]])" 270 | ] 271 | }, 272 | "execution_count": 5, 273 | "metadata": {}, 274 | "output_type": "execute_result" 275 | } 276 | ], 277 | "source": [ 278 | "iris_data=data.iloc[:,:4].values\n", 279 | "iris_data" 280 | ] 281 | }, 282 | { 283 | "cell_type": "code", 284 | "execution_count": 6, 285 | "metadata": { 286 | "collapsed": true 287 | }, 288 | "outputs": [ 289 | { 290 | "data": { 291 | "text/plain": [ 292 | "array(['Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 293 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 294 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 295 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 296 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 297 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 298 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 299 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 300 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 301 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 302 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 303 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 304 | " 'Iris-setosa', 'Iris-setosa', 'Iris-versicolor', 'Iris-versicolor',\n", 305 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 306 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 307 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 308 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 309 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 310 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 311 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 312 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 313 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 314 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 315 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 316 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 317 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 318 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 319 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 320 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 321 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 322 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 323 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 324 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 325 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 326 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 327 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 328 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 329 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 330 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 331 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 332 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 333 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 334 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 335 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 336 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 337 | " 'Iris-virginica', 'Iris-virginica'], dtype=object)" 338 | ] 339 | }, 340 | "execution_count": 6, 341 | "metadata": {}, 342 | "output_type": "execute_result" 343 | } 344 | ], 345 | "source": [ 346 | "iris_target=data.iloc[:,4].values\n", 347 | "iris_target" 348 | ] 349 | }, 350 | { 351 | "cell_type": "code", 352 | "execution_count": 7, 353 | "metadata": {}, 354 | "outputs": [], 355 | "source": [ 356 | "from sklearn.naive_bayes import GaussianNB\n", 357 | "gnb = GaussianNB()\n", 358 | "model= gnb.fit(iris_data, iris_target)" 359 | ] 360 | }, 361 | { 362 | "cell_type": "code", 363 | "execution_count": 8, 364 | "metadata": { 365 | "collapsed": true 366 | }, 367 | "outputs": [ 368 | { 369 | "data": { 370 | "text/plain": [ 371 | "array(['Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 372 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 373 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 374 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 375 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 376 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 377 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 378 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 379 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 380 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 381 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 382 | " 'Iris-setosa', 'Iris-setosa', 'Iris-setosa', 'Iris-setosa',\n", 383 | " 'Iris-setosa', 'Iris-setosa', 'Iris-versicolor', 'Iris-versicolor',\n", 384 | " 'Iris-virginica', 'Iris-versicolor', 'Iris-versicolor',\n", 385 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 386 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 387 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 388 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 389 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 390 | " 'Iris-virginica', 'Iris-versicolor', 'Iris-versicolor',\n", 391 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 392 | " 'Iris-versicolor', 'Iris-virginica', 'Iris-versicolor',\n", 393 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 394 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 395 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 396 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 397 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 398 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 399 | " 'Iris-versicolor', 'Iris-versicolor', 'Iris-versicolor',\n", 400 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 401 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 402 | " 'Iris-versicolor', 'Iris-virginica', 'Iris-virginica',\n", 403 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 404 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 405 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 406 | " 'Iris-virginica', 'Iris-versicolor', 'Iris-virginica',\n", 407 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 408 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 409 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 410 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 411 | " 'Iris-versicolor', 'Iris-virginica', 'Iris-virginica',\n", 412 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 413 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 414 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 415 | " 'Iris-virginica', 'Iris-virginica', 'Iris-virginica',\n", 416 | " 'Iris-virginica', 'Iris-virginica'], dtype=', line 2)", 437 | "output_type": "error", 438 | "traceback": [ 439 | "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m2\u001b[0m\n\u001b[1;33m Number of mislabeled points out of a total 150 points : 6\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n" 440 | ] 441 | } 442 | ], 443 | "source": [ 444 | "print(\"Number of mislabeled points out of a total %d points : %d\" % (iris.data.shape[0],(iris.target != y_pred).sum()))\n", 445 | "Number of mislabeled points out of a total 150 points : 6" 446 | ] 447 | } 448 | ], 449 | "metadata": { 450 | "kernelspec": { 451 | "display_name": "Python 3", 452 | "language": "python", 453 | "name": "python3" 454 | }, 455 | "language_info": { 456 | "codemirror_mode": { 457 | "name": "ipython", 458 | "version": 3 459 | }, 460 | "file_extension": ".py", 461 | "mimetype": "text/x-python", 462 | "name": "python", 463 | "nbconvert_exporter": "python", 464 | "pygments_lexer": "ipython3", 465 | "version": "3.7.1" 466 | } 467 | }, 468 | "nbformat": 4, 469 | "nbformat_minor": 2 470 | } 471 | -------------------------------------------------------------------------------- /One variable regression_sklearn_Ramen.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import numpy as np\n", 10 | "import pandas as pd\n", 11 | "import matplotlib.pyplot as plt " 12 | ] 13 | }, 14 | { 15 | "cell_type": "code", 16 | "execution_count": 2, 17 | "metadata": { 18 | "scrolled": true 19 | }, 20 | "outputs": [ 21 | { 22 | "data": { 23 | "text/html": [ 24 | "
\n", 25 | "\n", 38 | "\n", 39 | " \n", 40 | " \n", 41 | " \n", 42 | " \n", 43 | " \n", 44 | " \n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | "
01
06.110117.5920
15.52779.1302
28.518613.6620
37.003211.8540
45.85986.8233
\n", 74 | "
" 75 | ], 76 | "text/plain": [ 77 | " 0 1\n", 78 | "0 6.1101 17.5920\n", 79 | "1 5.5277 9.1302\n", 80 | "2 8.5186 13.6620\n", 81 | "3 7.0032 11.8540\n", 82 | "4 5.8598 6.8233" 83 | ] 84 | }, 85 | "execution_count": 2, 86 | "metadata": {}, 87 | "output_type": "execute_result" 88 | } 89 | ], 90 | "source": [ 91 | "data=pd.read_csv('ex1data1.txt',header=None)\n", 92 | "data.head()\n", 93 | "# First column is the Population of a city and second column is the profit of the food truck in that city." 94 | ] 95 | }, 96 | { 97 | "cell_type": "code", 98 | "execution_count": 4, 99 | "metadata": {}, 100 | "outputs": [], 101 | "source": [ 102 | "## data.to_csv(r'C:\\Users\\Ramendra\\Desktop\\Data Analysis Theory\\population.csv')\n", 103 | "## This is the way file is saved in your given location as csv file" 104 | ] 105 | }, 106 | { 107 | "cell_type": "code", 108 | "execution_count": 3, 109 | "metadata": {}, 110 | "outputs": [ 111 | { 112 | "data": { 113 | "text/plain": [ 114 | "" 115 | ] 116 | }, 117 | "execution_count": 3, 118 | "metadata": {}, 119 | "output_type": "execute_result" 120 | }, 121 | { 122 | "data": { 123 | "image/png": "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\n", 124 | "text/plain": [ 125 | "
" 126 | ] 127 | }, 128 | "metadata": { 129 | "needs_background": "light" 130 | }, 131 | "output_type": "display_data" 132 | } 133 | ], 134 | "source": [ 135 | "X=data.iloc[:,0].values\n", 136 | "Y=data.iloc[:,1].values\n", 137 | "m=len(Y)# gives number of training set\n", 138 | "plt.scatter(X,Y)\n", 139 | "plt.xlabel('Population of the city in 10,000')\n", 140 | "plt.ylabel('Profit of Appolo Pharmacy in 10,000')\n", 141 | "plt.show" 142 | ] 143 | }, 144 | { 145 | "cell_type": "code", 146 | "execution_count": 4, 147 | "metadata": {}, 148 | "outputs": [ 149 | { 150 | "data": { 151 | "text/plain": [ 152 | "array([ 6.1101, 5.5277, 8.5186, 7.0032, 5.8598, 8.3829, 7.4764,\n", 153 | " 8.5781, 6.4862, 5.0546, 5.7107, 14.164 , 5.734 , 8.4084,\n", 154 | " 5.6407, 5.3794, 6.3654, 5.1301, 6.4296, 7.0708, 6.1891,\n", 155 | " 20.27 , 5.4901, 6.3261, 5.5649, 18.945 , 12.828 , 10.957 ,\n", 156 | " 13.176 , 22.203 , 5.2524, 6.5894, 9.2482, 5.8918, 8.2111,\n", 157 | " 7.9334, 8.0959, 5.6063, 12.836 , 6.3534, 5.4069, 6.8825,\n", 158 | " 11.708 , 5.7737, 7.8247, 7.0931, 5.0702, 5.8014, 11.7 ,\n", 159 | " 5.5416, 7.5402, 5.3077, 7.4239, 7.6031, 6.3328, 6.3589,\n", 160 | " 6.2742, 5.6397, 9.3102, 9.4536, 8.8254, 5.1793, 21.279 ,\n", 161 | " 14.908 , 18.959 , 7.2182, 8.2951, 10.236 , 5.4994, 20.341 ,\n", 162 | " 10.136 , 7.3345, 6.0062, 7.2259, 5.0269, 6.5479, 7.5386,\n", 163 | " 5.0365, 10.274 , 5.1077, 5.7292, 5.1884, 6.3557, 9.7687,\n", 164 | " 6.5159, 8.5172, 9.1802, 6.002 , 5.5204, 5.0594, 5.7077,\n", 165 | " 7.6366, 5.8707, 5.3054, 8.2934, 13.394 , 5.4369])" 166 | ] 167 | }, 168 | "execution_count": 4, 169 | "metadata": {}, 170 | "output_type": "execute_result" 171 | } 172 | ], 173 | "source": [ 174 | "X" 175 | ] 176 | }, 177 | { 178 | "cell_type": "code", 179 | "execution_count": 5, 180 | "metadata": {}, 181 | "outputs": [ 182 | { 183 | "data": { 184 | "text/plain": [ 185 | "(97,)" 186 | ] 187 | }, 188 | "execution_count": 5, 189 | "metadata": {}, 190 | "output_type": "execute_result" 191 | } 192 | ], 193 | "source": [ 194 | "X.shape" 195 | ] 196 | }, 197 | { 198 | "cell_type": "code", 199 | "execution_count": 6, 200 | "metadata": {}, 201 | "outputs": [ 202 | { 203 | "data": { 204 | "text/plain": [ 205 | "array([17.592 , 9.1302 , 13.662 , 11.854 , 6.8233 , 11.886 ,\n", 206 | " 4.3483 , 12. , 6.5987 , 3.8166 , 3.2522 , 15.505 ,\n", 207 | " 3.1551 , 7.2258 , 0.71618, 3.5129 , 5.3048 , 0.56077,\n", 208 | " 3.6518 , 5.3893 , 3.1386 , 21.767 , 4.263 , 5.1875 ,\n", 209 | " 3.0825 , 22.638 , 13.501 , 7.0467 , 14.692 , 24.147 ,\n", 210 | " -1.22 , 5.9966 , 12.134 , 1.8495 , 6.5426 , 4.5623 ,\n", 211 | " 4.1164 , 3.3928 , 10.117 , 5.4974 , 0.55657, 3.9115 ,\n", 212 | " 5.3854 , 2.4406 , 6.7318 , 1.0463 , 5.1337 , 1.844 ,\n", 213 | " 8.0043 , 1.0179 , 6.7504 , 1.8396 , 4.2885 , 4.9981 ,\n", 214 | " 1.4233 , -1.4211 , 2.4756 , 4.6042 , 3.9624 , 5.4141 ,\n", 215 | " 5.1694 , -0.74279, 17.929 , 12.054 , 17.054 , 4.8852 ,\n", 216 | " 5.7442 , 7.7754 , 1.0173 , 20.992 , 6.6799 , 4.0259 ,\n", 217 | " 1.2784 , 3.3411 , -2.6807 , 0.29678, 3.8845 , 5.7014 ,\n", 218 | " 6.7526 , 2.0576 , 0.47953, 0.20421, 0.67861, 7.5435 ,\n", 219 | " 5.3436 , 4.2415 , 6.7981 , 0.92695, 0.152 , 2.8214 ,\n", 220 | " 1.8451 , 4.2959 , 7.2029 , 1.9869 , 0.14454, 9.0551 ,\n", 221 | " 0.61705])" 222 | ] 223 | }, 224 | "execution_count": 6, 225 | "metadata": {}, 226 | "output_type": "execute_result" 227 | } 228 | ], 229 | "source": [ 230 | "Y" 231 | ] 232 | }, 233 | { 234 | "cell_type": "code", 235 | "execution_count": 7, 236 | "metadata": {}, 237 | "outputs": [], 238 | "source": [ 239 | "X=X[:,np.newaxis]" 240 | ] 241 | }, 242 | { 243 | "cell_type": "code", 244 | "execution_count": 8, 245 | "metadata": { 246 | "collapsed": true 247 | }, 248 | "outputs": [ 249 | { 250 | "data": { 251 | "text/plain": [ 252 | "array([[ 6.1101],\n", 253 | " [ 5.5277],\n", 254 | " [ 8.5186],\n", 255 | " [ 7.0032],\n", 256 | " [ 5.8598],\n", 257 | " [ 8.3829],\n", 258 | " [ 7.4764],\n", 259 | " [ 8.5781],\n", 260 | " [ 6.4862],\n", 261 | " [ 5.0546],\n", 262 | " [ 5.7107],\n", 263 | " [14.164 ],\n", 264 | " [ 5.734 ],\n", 265 | " [ 8.4084],\n", 266 | " [ 5.6407],\n", 267 | " [ 5.3794],\n", 268 | " [ 6.3654],\n", 269 | " [ 5.1301],\n", 270 | " [ 6.4296],\n", 271 | " [ 7.0708],\n", 272 | " [ 6.1891],\n", 273 | " [20.27 ],\n", 274 | " [ 5.4901],\n", 275 | " [ 6.3261],\n", 276 | " [ 5.5649],\n", 277 | " [18.945 ],\n", 278 | " [12.828 ],\n", 279 | " [10.957 ],\n", 280 | " [13.176 ],\n", 281 | " [22.203 ],\n", 282 | " [ 5.2524],\n", 283 | " [ 6.5894],\n", 284 | " [ 9.2482],\n", 285 | " [ 5.8918],\n", 286 | " [ 8.2111],\n", 287 | " [ 7.9334],\n", 288 | " [ 8.0959],\n", 289 | " [ 5.6063],\n", 290 | " [12.836 ],\n", 291 | " [ 6.3534],\n", 292 | " [ 5.4069],\n", 293 | " [ 6.8825],\n", 294 | " [11.708 ],\n", 295 | " [ 5.7737],\n", 296 | " [ 7.8247],\n", 297 | " [ 7.0931],\n", 298 | " [ 5.0702],\n", 299 | " [ 5.8014],\n", 300 | " [11.7 ],\n", 301 | " [ 5.5416],\n", 302 | " [ 7.5402],\n", 303 | " [ 5.3077],\n", 304 | " [ 7.4239],\n", 305 | " [ 7.6031],\n", 306 | " [ 6.3328],\n", 307 | " [ 6.3589],\n", 308 | " [ 6.2742],\n", 309 | " [ 5.6397],\n", 310 | " [ 9.3102],\n", 311 | " [ 9.4536],\n", 312 | " [ 8.8254],\n", 313 | " [ 5.1793],\n", 314 | " [21.279 ],\n", 315 | " [14.908 ],\n", 316 | " [18.959 ],\n", 317 | " [ 7.2182],\n", 318 | " [ 8.2951],\n", 319 | " [10.236 ],\n", 320 | " [ 5.4994],\n", 321 | " [20.341 ],\n", 322 | " [10.136 ],\n", 323 | " [ 7.3345],\n", 324 | " [ 6.0062],\n", 325 | " [ 7.2259],\n", 326 | " [ 5.0269],\n", 327 | " [ 6.5479],\n", 328 | " [ 7.5386],\n", 329 | " [ 5.0365],\n", 330 | " [10.274 ],\n", 331 | " [ 5.1077],\n", 332 | " [ 5.7292],\n", 333 | " [ 5.1884],\n", 334 | " [ 6.3557],\n", 335 | " [ 9.7687],\n", 336 | " [ 6.5159],\n", 337 | " [ 8.5172],\n", 338 | " [ 9.1802],\n", 339 | " [ 6.002 ],\n", 340 | " [ 5.5204],\n", 341 | " [ 5.0594],\n", 342 | " [ 5.7077],\n", 343 | " [ 7.6366],\n", 344 | " [ 5.8707],\n", 345 | " [ 5.3054],\n", 346 | " [ 8.2934],\n", 347 | " [13.394 ],\n", 348 | " [ 5.4369]])" 349 | ] 350 | }, 351 | "execution_count": 8, 352 | "metadata": {}, 353 | "output_type": "execute_result" 354 | } 355 | ], 356 | "source": [ 357 | "X" 358 | ] 359 | }, 360 | { 361 | "cell_type": "code", 362 | "execution_count": 9, 363 | "metadata": {}, 364 | "outputs": [ 365 | { 366 | "data": { 367 | "text/plain": [ 368 | "(97, 1)" 369 | ] 370 | }, 371 | "execution_count": 9, 372 | "metadata": {}, 373 | "output_type": "execute_result" 374 | } 375 | ], 376 | "source": [ 377 | "X.shape" 378 | ] 379 | }, 380 | { 381 | "cell_type": "markdown", 382 | "metadata": {}, 383 | "source": [ 384 | "#### Spliting the data into train and test\n", 385 | "https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html" 386 | ] 387 | }, 388 | { 389 | "cell_type": "code", 390 | "execution_count": 10, 391 | "metadata": {}, 392 | "outputs": [], 393 | "source": [ 394 | "from sklearn.model_selection import train_test_split " 395 | ] 396 | }, 397 | { 398 | "cell_type": "code", 399 | "execution_count": 11, 400 | "metadata": {}, 401 | "outputs": [], 402 | "source": [ 403 | "X_train, X_test, Y_train, Y_test = train_test_split( X,Y,test_size=0.33, random_state=42)" 404 | ] 405 | }, 406 | { 407 | "cell_type": "markdown", 408 | "metadata": {}, 409 | "source": [ 410 | "##### Importing LinearRegrssion library from sklearn\n", 411 | " Ordinary least squares Linear Regression\n", 412 | " https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html" 413 | ] 414 | }, 415 | { 416 | "cell_type": "code", 417 | "execution_count": 12, 418 | "metadata": {}, 419 | "outputs": [], 420 | "source": [ 421 | "from sklearn.linear_model import LinearRegression\n", 422 | "reg = LinearRegression().fit(X_train, Y_train)" 423 | ] 424 | }, 425 | { 426 | "cell_type": "code", 427 | "execution_count": 13, 428 | "metadata": {}, 429 | "outputs": [ 430 | { 431 | "data": { 432 | "text/plain": [ 433 | "array([1.27257944])" 434 | ] 435 | }, 436 | "execution_count": 13, 437 | "metadata": {}, 438 | "output_type": "execute_result" 439 | } 440 | ], 441 | "source": [ 442 | "reg.coef_ ## Gives coefficient" 443 | ] 444 | }, 445 | { 446 | "cell_type": "code", 447 | "execution_count": 14, 448 | "metadata": {}, 449 | "outputs": [ 450 | { 451 | "data": { 452 | "text/plain": [ 453 | "-4.546971116577824" 454 | ] 455 | }, 456 | "execution_count": 14, 457 | "metadata": {}, 458 | "output_type": "execute_result" 459 | } 460 | ], 461 | "source": [ 462 | "reg.intercept_ ## gives intercepts" 463 | ] 464 | }, 465 | { 466 | "cell_type": "code", 467 | "execution_count": 15, 468 | "metadata": {}, 469 | "outputs": [], 470 | "source": [ 471 | "y_pred=reg.predict(X_test) ## prediction for test set" 472 | ] 473 | }, 474 | { 475 | "cell_type": "code", 476 | "execution_count": 16, 477 | "metadata": { 478 | "collapsed": true 479 | }, 480 | "outputs": [ 481 | { 482 | "data": { 483 | "text/plain": [ 484 | "array([22.53224677, 2.33373865, 2.20457184, 3.63520565, 2.05568005,\n", 485 | " 7.88447565, 19.57986247, 10.35238896, 2.72034829, 3.22861652,\n", 486 | " 3.83856384, 3.78575179, 2.83577124, 11.77767793, 5.41058122,\n", 487 | " 2.91008988, 2.43961726, 2.74999939, 1.8915173 , 4.64856065,\n", 488 | " 2.5051551 , 8.35189408, 2.45145225, 2.29874272, 3.53823509,\n", 489 | " 2.95081242, 1.88540892, 2.74389101, 13.47784406, 4.63876179,\n", 490 | " 12.49795789, 2.13712513, 12.22053557])" 491 | ] 492 | }, 493 | "execution_count": 16, 494 | "metadata": {}, 495 | "output_type": "execute_result" 496 | } 497 | ], 498 | "source": [ 499 | "y_pred" 500 | ] 501 | }, 502 | { 503 | "cell_type": "code", 504 | "execution_count": 17, 505 | "metadata": { 506 | "collapsed": true 507 | }, 508 | "outputs": [ 509 | { 510 | "data": { 511 | "text/plain": [ 512 | "array([17.929 , 0.55657, 1.9869 , 3.6518 , 0.20421, 7.5435 ,\n", 513 | " 17.054 , 5.3854 , 3.2522 , 17.592 , 5.9966 , 0.29678,\n", 514 | " 1.844 , 13.501 , 6.7318 , 6.8233 , 4.263 , 3.1551 ,\n", 515 | " 2.8214 , 3.3411 , 1.0179 , 6.6799 , 1.0173 , 3.5129 ,\n", 516 | " 5.4974 , 1.8495 , 3.8166 , 0.47953, 15.505 , 4.8852 ,\n", 517 | " 9.0551 , -1.22 , 14.692 ])" 518 | ] 519 | }, 520 | "execution_count": 17, 521 | "metadata": {}, 522 | "output_type": "execute_result" 523 | } 524 | ], 525 | "source": [ 526 | "Y_test" 527 | ] 528 | }, 529 | { 530 | "cell_type": "code", 531 | "execution_count": 18, 532 | "metadata": {}, 533 | "outputs": [ 534 | { 535 | "data": { 536 | "text/plain": [ 537 | "(33,)" 538 | ] 539 | }, 540 | "execution_count": 18, 541 | "metadata": {}, 542 | "output_type": "execute_result" 543 | } 544 | ], 545 | "source": [ 546 | "Y_test.shape" 547 | ] 548 | }, 549 | { 550 | "cell_type": "code", 551 | "execution_count": 20, 552 | "metadata": { 553 | "collapsed": true 554 | }, 555 | "outputs": [ 556 | { 557 | "data": { 558 | "text/plain": [ 559 | "array([[17.929 ],\n", 560 | " [ 0.55657],\n", 561 | " [ 1.9869 ],\n", 562 | " [ 3.6518 ],\n", 563 | " [ 0.20421],\n", 564 | " [ 7.5435 ],\n", 565 | " [17.054 ],\n", 566 | " [ 5.3854 ],\n", 567 | " [ 3.2522 ],\n", 568 | " [17.592 ],\n", 569 | " [ 5.9966 ],\n", 570 | " [ 0.29678],\n", 571 | " [ 1.844 ],\n", 572 | " [13.501 ],\n", 573 | " [ 6.7318 ],\n", 574 | " [ 6.8233 ],\n", 575 | " [ 4.263 ],\n", 576 | " [ 3.1551 ],\n", 577 | " [ 2.8214 ],\n", 578 | " [ 3.3411 ],\n", 579 | " [ 1.0179 ],\n", 580 | " [ 6.6799 ],\n", 581 | " [ 1.0173 ],\n", 582 | " [ 3.5129 ],\n", 583 | " [ 5.4974 ],\n", 584 | " [ 1.8495 ],\n", 585 | " [ 3.8166 ],\n", 586 | " [ 0.47953],\n", 587 | " [15.505 ],\n", 588 | " [ 4.8852 ],\n", 589 | " [ 9.0551 ],\n", 590 | " [-1.22 ],\n", 591 | " [14.692 ]])" 592 | ] 593 | }, 594 | "execution_count": 20, 595 | "metadata": {}, 596 | "output_type": "execute_result" 597 | } 598 | ], 599 | "source": [ 600 | "Y_test.reshape(33,1)" 601 | ] 602 | }, 603 | { 604 | "cell_type": "code", 605 | "execution_count": 23, 606 | "metadata": {}, 607 | "outputs": [ 608 | { 609 | "data": { 610 | "text/plain": [ 611 | "(33, 1)" 612 | ] 613 | }, 614 | "execution_count": 23, 615 | "metadata": {}, 616 | "output_type": "execute_result" 617 | } 618 | ], 619 | "source": [ 620 | "Y_test.reshape(33,1).shape" 621 | ] 622 | }, 623 | { 624 | "cell_type": "code", 625 | "execution_count": 21, 626 | "metadata": {}, 627 | "outputs": [ 628 | { 629 | "data": { 630 | "text/plain": [ 631 | "0.6216472944368592" 632 | ] 633 | }, 634 | "execution_count": 21, 635 | "metadata": {}, 636 | "output_type": "execute_result" 637 | } 638 | ], 639 | "source": [ 640 | "reg.score(X_test,Y_test.reshape(33,1)) ## coefficient of determination R^2 of the prediction." 641 | ] 642 | }, 643 | { 644 | "cell_type": "code", 645 | "execution_count": 63, 646 | "metadata": {}, 647 | "outputs": [ 648 | { 649 | "data": { 650 | "text/plain": [ 651 | "1.0" 652 | ] 653 | }, 654 | "execution_count": 63, 655 | "metadata": {}, 656 | "output_type": "execute_result" 657 | } 658 | ], 659 | "source": [ 660 | "reg.score(X_test,y_pred.reshape(33,1))" 661 | ] 662 | }, 663 | { 664 | "cell_type": "code", 665 | "execution_count": 68, 666 | "metadata": { 667 | "collapsed": true 668 | }, 669 | "outputs": [ 670 | { 671 | "data": { 672 | "text/plain": [ 673 | "" 674 | ] 675 | }, 676 | "execution_count": 68, 677 | "metadata": {}, 678 | "output_type": "execute_result" 679 | }, 680 | { 681 | "data": { 682 | "image/png": "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\n", 683 | "text/plain": [ 684 | "
" 685 | ] 686 | }, 687 | "metadata": { 688 | "needs_background": "light" 689 | }, 690 | "output_type": "display_data" 691 | } 692 | ], 693 | "source": [ 694 | "plt.scatter(X_test, Y_test, color='black')\n", 695 | "plt.plot(X_test,y_pred, color='blue', linewidth=3)\n", 696 | "plt.xlabel('Population')\n", 697 | "plt.ylabel('Profit of food Truck')\n", 698 | "plt.show" 699 | ] 700 | }, 701 | { 702 | "cell_type": "code", 703 | "execution_count": 24, 704 | "metadata": {}, 705 | "outputs": [ 706 | { 707 | "data": { 708 | "text/plain": [ 709 | "array([18.35945879])" 710 | ] 711 | }, 712 | "execution_count": 24, 713 | "metadata": {}, 714 | "output_type": "execute_result" 715 | } 716 | ], 717 | "source": [ 718 | "reg.predict(np.array([[18]]))" 719 | ] 720 | }, 721 | { 722 | "cell_type": "markdown", 723 | "metadata": {}, 724 | "source": [ 725 | "### plotting Learning Curves" 726 | ] 727 | }, 728 | { 729 | "cell_type": "markdown", 730 | "metadata": {}, 731 | "source": [ 732 | "### Training errors\n", 733 | "https://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_squared_error.html" 734 | ] 735 | }, 736 | { 737 | "cell_type": "code", 738 | "execution_count": 106, 739 | "metadata": {}, 740 | "outputs": [], 741 | "source": [ 742 | "from sklearn.metrics import mean_squared_error" 743 | ] 744 | }, 745 | { 746 | "cell_type": "code", 747 | "execution_count": 97, 748 | "metadata": {}, 749 | "outputs": [], 750 | "source": [ 751 | "### for understinding how errors change and calculated \n", 752 | "reg.fit(X_train, Y_train)\n", 753 | "y_train_predict = reg.predict(X_train)\n", 754 | "m=len(X_train)\n", 755 | "train_errors=np.zeros(m)\n", 756 | "for i in range(1,m):\n", 757 | " train_errors[i]=np.sqrt(mean_squared_error(Y_train[:i], y_train_predict[:i]))" 758 | ] 759 | }, 760 | { 761 | "cell_type": "code", 762 | "execution_count": 98, 763 | "metadata": { 764 | "collapsed": true 765 | }, 766 | "outputs": [ 767 | { 768 | "data": { 769 | "text/plain": [ 770 | "array([0. , 2.16410068, 4.35426833, 4.07048704, 3.52940161,\n", 771 | " 3.18747874, 2.996307 , 2.85787738, 2.68286736, 3.14971818,\n", 772 | " 3.37566286, 3.2956364 , 3.16693167, 3.04282787, 3.04520595,\n", 773 | " 2.94214133, 2.86130441, 2.77904951, 3.22641649, 3.15723215,\n", 774 | " 3.0998867 , 3.09028068, 3.0293771 , 2.9655997 , 2.92567857,\n", 775 | " 2.88525633, 2.85765845, 2.81034238, 2.77955682, 2.75861636,\n", 776 | " 2.71304567, 2.68637457, 2.64448178, 2.66405877, 2.62736263,\n", 777 | " 2.63205472, 2.77307901, 2.80721527, 2.77045961, 2.78647466,\n", 778 | " 2.77614398, 2.75342113, 2.73744724, 2.80721127, 2.77826334,\n", 779 | " 2.76448603, 2.75652263, 2.73000107, 2.70391343, 2.67691462,\n", 780 | " 2.81159611, 2.78521381, 2.75924096, 2.9144737 , 2.89644161,\n", 781 | " 2.88707871, 2.92454505, 2.89912222, 2.89849561, 2.87393419,\n", 782 | " 2.8565846 , 2.83474764, 2.82229319, 2.85123289])" 783 | ] 784 | }, 785 | "execution_count": 98, 786 | "metadata": {}, 787 | "output_type": "execute_result" 788 | } 789 | ], 790 | "source": [ 791 | "train_errors" 792 | ] 793 | }, 794 | { 795 | "cell_type": "code", 796 | "execution_count": 102, 797 | "metadata": {}, 798 | "outputs": [], 799 | "source": [ 800 | "## Implementing the code for checking \n", 801 | "m=len(X_train)\n", 802 | "train_errors=np.zeros(m)\n", 803 | "test_errors=np.zeros(m)\n", 804 | "for i in range(1,m):\n", 805 | " # Training set error\n", 806 | " reg.fit(X_train[:i], Y_train[:i])\n", 807 | " y_train_predict = reg.predict(X_train[:i])\n", 808 | " train_errors[i]=np.sqrt(mean_squared_error(Y_train[:i], y_train_predict[:i]))\n", 809 | " # Test set errors\n", 810 | " y_test_predict = reg.predict(X_test[:i])\n", 811 | " test_errors[i]=np.sqrt(mean_squared_error(Y_test[:i], y_test_predict[:i]))" 812 | ] 813 | }, 814 | { 815 | "cell_type": "code", 816 | "execution_count": 103, 817 | "metadata": { 818 | "collapsed": true 819 | }, 820 | "outputs": [ 821 | { 822 | "data": { 823 | "text/plain": [ 824 | "array([0.00000000e+00, 0.00000000e+00, 2.71153649e-15, 2.30855997e+00,\n", 825 | " 3.52013709e+00, 3.16540007e+00, 2.99412491e+00, 2.84408328e+00,\n", 826 | " 2.67505927e+00, 3.09587569e+00, 3.34728222e+00, 3.27638546e+00,\n", 827 | " 3.15614648e+00, 3.03440022e+00, 2.97214290e+00, 2.87138757e+00,\n", 828 | " 2.79163313e+00, 2.71546473e+00, 3.14758289e+00, 3.08615659e+00,\n", 829 | " 3.05972114e+00, 3.03907883e+00, 2.98790007e+00, 2.92902697e+00,\n", 830 | " 2.90299915e+00, 2.86877191e+00, 2.84659484e+00, 2.79914069e+00,\n", 831 | " 2.76522364e+00, 2.74014699e+00, 2.69413483e+00, 2.66976218e+00,\n", 832 | " 2.62814184e+00, 2.65529591e+00, 2.62047751e+00, 2.62057149e+00,\n", 833 | " 2.75759185e+00, 2.80341627e+00, 2.76644244e+00, 2.78031612e+00,\n", 834 | " 2.76763226e+00, 2.74808796e+00, 2.73462749e+00, 2.80717364e+00,\n", 835 | " 2.77812025e+00, 2.76363668e+00, 2.75182504e+00, 2.72503980e+00,\n", 836 | " 2.69929329e+00, 2.67446495e+00, 2.80743936e+00, 2.78137370e+00,\n", 837 | " 2.75718453e+00, 2.90789717e+00, 2.88752562e+00, 2.88209715e+00,\n", 838 | " 2.92380036e+00, 2.89851827e+00, 2.89843348e+00, 2.87386850e+00,\n", 839 | " 2.85646907e+00, 2.83449916e+00, 2.82131258e+00, 2.85122324e+00])" 840 | ] 841 | }, 842 | "execution_count": 103, 843 | "metadata": {}, 844 | "output_type": "execute_result" 845 | } 846 | ], 847 | "source": [ 848 | "train_errors" 849 | ] 850 | }, 851 | { 852 | "cell_type": "code", 853 | "execution_count": 104, 854 | "metadata": { 855 | "collapsed": true 856 | }, 857 | "outputs": [ 858 | { 859 | "data": { 860 | "text/plain": [ 861 | "array([ 0. , 17.00205 , 37.73764121, 31.06719577, 2.62928466,\n", 862 | " 2.39948374, 2.26110453, 2.31057266, 2.83606677, 3.10538286,\n", 863 | " 5.44468121, 5.14978488, 4.98684115, 4.77937228, 4.82853753,\n", 864 | " 4.67867172, 4.64713544, 4.51506831, 4.30547446, 4.22810641,\n", 865 | " 4.06639153, 3.96175775, 3.90258665, 3.83363112, 3.7339481 ,\n", 866 | " 3.67877592, 3.61411842, 3.57879256, 3.561584 , 3.53174119,\n", 867 | " 3.4742078 , 3.48021191, 3.46874861, 3.39690451, 3.38989856,\n", 868 | " 3.41596606, 3.41638908, 3.37188334, 3.37260216, 3.36278527,\n", 869 | " 3.34380772, 3.33402655, 3.31955019, 3.33202714, 3.33296253,\n", 870 | " 3.32658938, 3.29691458, 3.30140636, 3.29676932, 3.31573805,\n", 871 | " 3.28933516, 3.28996253, 3.30223771, 3.30640256, 3.30456363,\n", 872 | " 3.3102084 , 3.32574964, 3.32525108, 3.33195295, 3.33244907,\n", 873 | " 3.33163507, 3.33264242, 3.33922118, 3.32599448])" 874 | ] 875 | }, 876 | "execution_count": 104, 877 | "metadata": {}, 878 | "output_type": "execute_result" 879 | } 880 | ], 881 | "source": [ 882 | "test_errors" 883 | ] 884 | }, 885 | { 886 | "cell_type": "code", 887 | "execution_count": 105, 888 | "metadata": {}, 889 | "outputs": [ 890 | { 891 | "data": { 892 | "text/plain": [ 893 | "Text(0, 0.5, 'RMSE')" 894 | ] 895 | }, 896 | "execution_count": 105, 897 | "metadata": {}, 898 | "output_type": "execute_result" 899 | }, 900 | { 901 | "data": { 902 | "image/png": "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\n", 903 | "text/plain": [ 904 | "
" 905 | ] 906 | }, 907 | "metadata": { 908 | "needs_background": "light" 909 | }, 910 | "output_type": "display_data" 911 | } 912 | ], 913 | "source": [ 914 | "plt.plot(train_errors, \"r-+\", linewidth=2, label=\"train\")\n", 915 | "plt.plot(test_errors, \"b-\", linewidth=3, label=\"test\")\n", 916 | "plt.legend(loc=\"upper right\", fontsize=14) \n", 917 | "plt.xlabel(\"Training set size\", fontsize=14)\n", 918 | "plt.ylabel(\"RMSE\", fontsize=14) " 919 | ] 920 | }, 921 | { 922 | "cell_type": "markdown", 923 | "metadata": {}, 924 | "source": [ 925 | "### Best of Luck! Happy Learning!!\n", 926 | "### Do it with Passion or not at all!!!" 927 | ] 928 | } 929 | ], 930 | "metadata": { 931 | "kernelspec": { 932 | "display_name": "Python 3", 933 | "language": "python", 934 | "name": "python3" 935 | }, 936 | "language_info": { 937 | "codemirror_mode": { 938 | "name": "ipython", 939 | "version": 3 940 | }, 941 | "file_extension": ".py", 942 | "mimetype": "text/x-python", 943 | "name": "python", 944 | "nbconvert_exporter": "python", 945 | "pygments_lexer": "ipython3", 946 | "version": "3.7.1" 947 | } 948 | }, 949 | "nbformat": 4, 950 | "nbformat_minor": 2 951 | } 952 | -------------------------------------------------------------------------------- /Play_Yes_No.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rami-RK/Machine-Learning-using-ML-library/54aa3d6979fe4d631ffae3612962fce41a376052/Play_Yes_No.xlsx -------------------------------------------------------------------------------- /ex1data1.txt: -------------------------------------------------------------------------------- 1 | 6.1101,17.592 2 | 5.5277,9.1302 3 | 8.5186,13.662 4 | 7.0032,11.854 5 | 5.8598,6.8233 6 | 8.3829,11.886 7 | 7.4764,4.3483 8 | 8.5781,12 9 | 6.4862,6.5987 10 | 5.0546,3.8166 11 | 5.7107,3.2522 12 | 14.164,15.505 13 | 5.734,3.1551 14 | 8.4084,7.2258 15 | 5.6407,0.71618 16 | 5.3794,3.5129 17 | 6.3654,5.3048 18 | 5.1301,0.56077 19 | 6.4296,3.6518 20 | 7.0708,5.3893 21 | 6.1891,3.1386 22 | 20.27,21.767 23 | 5.4901,4.263 24 | 6.3261,5.1875 25 | 5.5649,3.0825 26 | 18.945,22.638 27 | 12.828,13.501 28 | 10.957,7.0467 29 | 13.176,14.692 30 | 22.203,24.147 31 | 5.2524,-1.22 32 | 6.5894,5.9966 33 | 9.2482,12.134 34 | 5.8918,1.8495 35 | 8.2111,6.5426 36 | 7.9334,4.5623 37 | 8.0959,4.1164 38 | 5.6063,3.3928 39 | 12.836,10.117 40 | 6.3534,5.4974 41 | 5.4069,0.55657 42 | 6.8825,3.9115 43 | 11.708,5.3854 44 | 5.7737,2.4406 45 | 7.8247,6.7318 46 | 7.0931,1.0463 47 | 5.0702,5.1337 48 | 5.8014,1.844 49 | 11.7,8.0043 50 | 5.5416,1.0179 51 | 7.5402,6.7504 52 | 5.3077,1.8396 53 | 7.4239,4.2885 54 | 7.6031,4.9981 55 | 6.3328,1.4233 56 | 6.3589,-1.4211 57 | 6.2742,2.4756 58 | 5.6397,4.6042 59 | 9.3102,3.9624 60 | 9.4536,5.4141 61 | 8.8254,5.1694 62 | 5.1793,-0.74279 63 | 21.279,17.929 64 | 14.908,12.054 65 | 18.959,17.054 66 | 7.2182,4.8852 67 | 8.2951,5.7442 68 | 10.236,7.7754 69 | 5.4994,1.0173 70 | 20.341,20.992 71 | 10.136,6.6799 72 | 7.3345,4.0259 73 | 6.0062,1.2784 74 | 7.2259,3.3411 75 | 5.0269,-2.6807 76 | 6.5479,0.29678 77 | 7.5386,3.8845 78 | 5.0365,5.7014 79 | 10.274,6.7526 80 | 5.1077,2.0576 81 | 5.7292,0.47953 82 | 5.1884,0.20421 83 | 6.3557,0.67861 84 | 9.7687,7.5435 85 | 6.5159,5.3436 86 | 8.5172,4.2415 87 | 9.1802,6.7981 88 | 6.002,0.92695 89 | 5.5204,0.152 90 | 5.0594,2.8214 91 | 5.7077,1.8451 92 | 7.6366,4.2959 93 | 5.8707,7.2029 94 | 5.3054,1.9869 95 | 8.2934,0.14454 96 | 13.394,9.0551 97 | 5.4369,0.61705 98 | -------------------------------------------------------------------------------- /ex1data2.txt: -------------------------------------------------------------------------------- 1 | 2104,3,399900 2 | 1600,3,329900 3 | 2400,3,369000 4 | 1416,2,232000 5 | 3000,4,539900 6 | 1985,4,299900 7 | 1534,3,314900 8 | 1427,3,198999 9 | 1380,3,212000 10 | 1494,3,242500 11 | 1940,4,239999 12 | 2000,3,347000 13 | 1890,3,329999 14 | 4478,5,699900 15 | 1268,3,259900 16 | 2300,4,449900 17 | 1320,2,299900 18 | 1236,3,199900 19 | 2609,4,499998 20 | 3031,4,599000 21 | 1767,3,252900 22 | 1888,2,255000 23 | 1604,3,242900 24 | 1962,4,259900 25 | 3890,3,573900 26 | 1100,3,249900 27 | 1458,3,464500 28 | 2526,3,469000 29 | 2200,3,475000 30 | 2637,3,299900 31 | 1839,2,349900 32 | 1000,1,169900 33 | 2040,4,314900 34 | 3137,3,579900 35 | 1811,4,285900 36 | 1437,3,249900 37 | 1239,3,229900 38 | 2132,4,345000 39 | 4215,4,549000 40 | 2162,4,287000 41 | 1664,2,368500 42 | 2238,3,329900 43 | 2567,4,314000 44 | 1200,3,299000 45 | 852,2,179900 46 | 1852,4,299900 47 | 1203,3,239500 48 | -------------------------------------------------------------------------------- /ex2data1.txt: -------------------------------------------------------------------------------- 1 | 34.62365962451697,78.0246928153624,0 2 | 30.28671076822607,43.89499752400101,0 3 | 35.84740876993872,72.90219802708364,0 4 | 60.18259938620976,86.30855209546826,1 5 | 79.0327360507101,75.3443764369103,1 6 | 45.08327747668339,56.3163717815305,0 7 | 61.10666453684766,96.51142588489624,1 8 | 75.02474556738889,46.55401354116538,1 9 | 76.09878670226257,87.42056971926803,1 10 | 84.43281996120035,43.53339331072109,1 11 | 95.86155507093572,38.22527805795094,0 12 | 75.01365838958247,30.60326323428011,0 13 | 82.30705337399482,76.48196330235604,1 14 | 69.36458875970939,97.71869196188608,1 15 | 39.53833914367223,76.03681085115882,0 16 | 53.9710521485623,89.20735013750205,1 17 | 69.07014406283025,52.74046973016765,1 18 | 67.94685547711617,46.67857410673128,0 19 | 70.66150955499435,92.92713789364831,1 20 | 76.97878372747498,47.57596364975532,1 21 | 67.37202754570876,42.83843832029179,0 22 | 89.67677575072079,65.79936592745237,1 23 | 50.534788289883,48.85581152764205,0 24 | 34.21206097786789,44.20952859866288,0 25 | 77.9240914545704,68.9723599933059,1 26 | 62.27101367004632,69.95445795447587,1 27 | 80.1901807509566,44.82162893218353,1 28 | 93.114388797442,38.80067033713209,0 29 | 61.83020602312595,50.25610789244621,0 30 | 38.78580379679423,64.99568095539578,0 31 | 61.379289447425,72.80788731317097,1 32 | 85.40451939411645,57.05198397627122,1 33 | 52.10797973193984,63.12762376881715,0 34 | 52.04540476831827,69.43286012045222,1 35 | 40.23689373545111,71.16774802184875,0 36 | 54.63510555424817,52.21388588061123,0 37 | 33.91550010906887,98.86943574220611,0 38 | 64.17698887494485,80.90806058670817,1 39 | 74.78925295941542,41.57341522824434,0 40 | 34.1836400264419,75.2377203360134,0 41 | 83.90239366249155,56.30804621605327,1 42 | 51.54772026906181,46.85629026349976,0 43 | 94.44336776917852,65.56892160559052,1 44 | 82.36875375713919,40.61825515970618,0 45 | 51.04775177128865,45.82270145776001,0 46 | 62.22267576120188,52.06099194836679,0 47 | 77.19303492601364,70.45820000180959,1 48 | 97.77159928000232,86.7278223300282,1 49 | 62.07306379667647,96.76882412413983,1 50 | 91.56497449807442,88.69629254546599,1 51 | 79.94481794066932,74.16311935043758,1 52 | 99.2725269292572,60.99903099844988,1 53 | 90.54671411399852,43.39060180650027,1 54 | 34.52451385320009,60.39634245837173,0 55 | 50.2864961189907,49.80453881323059,0 56 | 49.58667721632031,59.80895099453265,0 57 | 97.64563396007767,68.86157272420604,1 58 | 32.57720016809309,95.59854761387875,0 59 | 74.24869136721598,69.82457122657193,1 60 | 71.79646205863379,78.45356224515052,1 61 | 75.3956114656803,85.75993667331619,1 62 | 35.28611281526193,47.02051394723416,0 63 | 56.25381749711624,39.26147251058019,0 64 | 30.05882244669796,49.59297386723685,0 65 | 44.66826172480893,66.45008614558913,0 66 | 66.56089447242954,41.09209807936973,0 67 | 40.45755098375164,97.53518548909936,1 68 | 49.07256321908844,51.88321182073966,0 69 | 80.27957401466998,92.11606081344084,1 70 | 66.74671856944039,60.99139402740988,1 71 | 32.72283304060323,43.30717306430063,0 72 | 64.0393204150601,78.03168802018232,1 73 | 72.34649422579923,96.22759296761404,1 74 | 60.45788573918959,73.09499809758037,1 75 | 58.84095621726802,75.85844831279042,1 76 | 99.82785779692128,72.36925193383885,1 77 | 47.26426910848174,88.47586499559782,1 78 | 50.45815980285988,75.80985952982456,1 79 | 60.45555629271532,42.50840943572217,0 80 | 82.22666157785568,42.71987853716458,0 81 | 88.9138964166533,69.80378889835472,1 82 | 94.83450672430196,45.69430680250754,1 83 | 67.31925746917527,66.58935317747915,1 84 | 57.23870631569862,59.51428198012956,1 85 | 80.36675600171273,90.96014789746954,1 86 | 68.46852178591112,85.59430710452014,1 87 | 42.0754545384731,78.84478600148043,0 88 | 75.47770200533905,90.42453899753964,1 89 | 78.63542434898018,96.64742716885644,1 90 | 52.34800398794107,60.76950525602592,0 91 | 94.09433112516793,77.15910509073893,1 92 | 90.44855097096364,87.50879176484702,1 93 | 55.48216114069585,35.57070347228866,0 94 | 74.49269241843041,84.84513684930135,1 95 | 89.84580670720979,45.35828361091658,1 96 | 83.48916274498238,48.38028579728175,1 97 | 42.2617008099817,87.10385094025457,1 98 | 99.31500880510394,68.77540947206617,1 99 | 55.34001756003703,64.9319380069486,1 100 | 74.77589300092767,89.52981289513276,1 101 | -------------------------------------------------------------------------------- /ex2data2.txt: -------------------------------------------------------------------------------- 1 | 0.051267,0.69956,1 2 | -0.092742,0.68494,1 3 | -0.21371,0.69225,1 4 | -0.375,0.50219,1 5 | -0.51325,0.46564,1 6 | -0.52477,0.2098,1 7 | -0.39804,0.034357,1 8 | -0.30588,-0.19225,1 9 | 0.016705,-0.40424,1 10 | 0.13191,-0.51389,1 11 | 0.38537,-0.56506,1 12 | 0.52938,-0.5212,1 13 | 0.63882,-0.24342,1 14 | 0.73675,-0.18494,1 15 | 0.54666,0.48757,1 16 | 0.322,0.5826,1 17 | 0.16647,0.53874,1 18 | -0.046659,0.81652,1 19 | -0.17339,0.69956,1 20 | -0.47869,0.63377,1 21 | -0.60541,0.59722,1 22 | -0.62846,0.33406,1 23 | -0.59389,0.005117,1 24 | -0.42108,-0.27266,1 25 | -0.11578,-0.39693,1 26 | 0.20104,-0.60161,1 27 | 0.46601,-0.53582,1 28 | 0.67339,-0.53582,1 29 | -0.13882,0.54605,1 30 | -0.29435,0.77997,1 31 | -0.26555,0.96272,1 32 | -0.16187,0.8019,1 33 | -0.17339,0.64839,1 34 | -0.28283,0.47295,1 35 | -0.36348,0.31213,1 36 | -0.30012,0.027047,1 37 | -0.23675,-0.21418,1 38 | -0.06394,-0.18494,1 39 | 0.062788,-0.16301,1 40 | 0.22984,-0.41155,1 41 | 0.2932,-0.2288,1 42 | 0.48329,-0.18494,1 43 | 0.64459,-0.14108,1 44 | 0.46025,0.012427,1 45 | 0.6273,0.15863,1 46 | 0.57546,0.26827,1 47 | 0.72523,0.44371,1 48 | 0.22408,0.52412,1 49 | 0.44297,0.67032,1 50 | 0.322,0.69225,1 51 | 0.13767,0.57529,1 52 | -0.0063364,0.39985,1 53 | -0.092742,0.55336,1 54 | -0.20795,0.35599,1 55 | -0.20795,0.17325,1 56 | -0.43836,0.21711,1 57 | -0.21947,-0.016813,1 58 | -0.13882,-0.27266,1 59 | 0.18376,0.93348,0 60 | 0.22408,0.77997,0 61 | 0.29896,0.61915,0 62 | 0.50634,0.75804,0 63 | 0.61578,0.7288,0 64 | 0.60426,0.59722,0 65 | 0.76555,0.50219,0 66 | 0.92684,0.3633,0 67 | 0.82316,0.27558,0 68 | 0.96141,0.085526,0 69 | 0.93836,0.012427,0 70 | 0.86348,-0.082602,0 71 | 0.89804,-0.20687,0 72 | 0.85196,-0.36769,0 73 | 0.82892,-0.5212,0 74 | 0.79435,-0.55775,0 75 | 0.59274,-0.7405,0 76 | 0.51786,-0.5943,0 77 | 0.46601,-0.41886,0 78 | 0.35081,-0.57968,0 79 | 0.28744,-0.76974,0 80 | 0.085829,-0.75512,0 81 | 0.14919,-0.57968,0 82 | -0.13306,-0.4481,0 83 | -0.40956,-0.41155,0 84 | -0.39228,-0.25804,0 85 | -0.74366,-0.25804,0 86 | -0.69758,0.041667,0 87 | -0.75518,0.2902,0 88 | -0.69758,0.68494,0 89 | -0.4038,0.70687,0 90 | -0.38076,0.91886,0 91 | -0.50749,0.90424,0 92 | -0.54781,0.70687,0 93 | 0.10311,0.77997,0 94 | 0.057028,0.91886,0 95 | -0.10426,0.99196,0 96 | -0.081221,1.1089,0 97 | 0.28744,1.087,0 98 | 0.39689,0.82383,0 99 | 0.63882,0.88962,0 100 | 0.82316,0.66301,0 101 | 0.67339,0.64108,0 102 | 1.0709,0.10015,0 103 | -0.046659,-0.57968,0 104 | -0.23675,-0.63816,0 105 | -0.15035,-0.36769,0 106 | -0.49021,-0.3019,0 107 | -0.46717,-0.13377,0 108 | -0.28859,-0.060673,0 109 | -0.61118,-0.067982,0 110 | -0.66302,-0.21418,0 111 | -0.59965,-0.41886,0 112 | -0.72638,-0.082602,0 113 | -0.83007,0.31213,0 114 | -0.72062,0.53874,0 115 | -0.59389,0.49488,0 116 | -0.48445,0.99927,0 117 | -0.0063364,0.99927,0 118 | 0.63265,-0.030612,0 119 | -------------------------------------------------------------------------------- /iris.csv: -------------------------------------------------------------------------------- 1 | SepalLength,SepalWidth,PetalLength,PetalWidth,Name 2 | 5.1,3.5,1.4,0.2,Iris-setosa 3 | 4.9,3,1.4,0.2,Iris-setosa 4 | 4.7,3.2,1.3,0.2,Iris-setosa 5 | 4.6,3.1,1.5,0.2,Iris-setosa 6 | 5,3.6,1.4,0.2,Iris-setosa 7 | 5.4,3.9,1.7,0.4,Iris-setosa 8 | 4.6,3.4,1.4,0.3,Iris-setosa 9 | 5,3.4,1.5,0.2,Iris-setosa 10 | 4.4,2.9,1.4,0.2,Iris-setosa 11 | 4.9,3.1,1.5,0.1,Iris-setosa 12 | 5.4,3.7,1.5,0.2,Iris-setosa 13 | 4.8,3.4,1.6,0.2,Iris-setosa 14 | 4.8,3,1.4,0.1,Iris-setosa 15 | 4.3,3,1.1,0.1,Iris-setosa 16 | 5.8,4,1.2,0.2,Iris-setosa 17 | 5.7,4.4,1.5,0.4,Iris-setosa 18 | 5.4,3.9,1.3,0.4,Iris-setosa 19 | 5.1,3.5,1.4,0.3,Iris-setosa 20 | 5.7,3.8,1.7,0.3,Iris-setosa 21 | 5.1,3.8,1.5,0.3,Iris-setosa 22 | 5.4,3.4,1.7,0.2,Iris-setosa 23 | 5.1,3.7,1.5,0.4,Iris-setosa 24 | 4.6,3.6,1,0.2,Iris-setosa 25 | 5.1,3.3,1.7,0.5,Iris-setosa 26 | 4.8,3.4,1.9,0.2,Iris-setosa 27 | 5,3,1.6,0.2,Iris-setosa 28 | 5,3.4,1.6,0.4,Iris-setosa 29 | 5.2,3.5,1.5,0.2,Iris-setosa 30 | 5.2,3.4,1.4,0.2,Iris-setosa 31 | 4.7,3.2,1.6,0.2,Iris-setosa 32 | 4.8,3.1,1.6,0.2,Iris-setosa 33 | 5.4,3.4,1.5,0.4,Iris-setosa 34 | 5.2,4.1,1.5,0.1,Iris-setosa 35 | 5.5,4.2,1.4,0.2,Iris-setosa 36 | 4.9,3.1,1.5,0.1,Iris-setosa 37 | 5,3.2,1.2,0.2,Iris-setosa 38 | 5.5,3.5,1.3,0.2,Iris-setosa 39 | 4.9,3.1,1.5,0.1,Iris-setosa 40 | 4.4,3,1.3,0.2,Iris-setosa 41 | 5.1,3.4,1.5,0.2,Iris-setosa 42 | 5,3.5,1.3,0.3,Iris-setosa 43 | 4.5,2.3,1.3,0.3,Iris-setosa 44 | 4.4,3.2,1.3,0.2,Iris-setosa 45 | 5,3.5,1.6,0.6,Iris-setosa 46 | 5.1,3.8,1.9,0.4,Iris-setosa 47 | 4.8,3,1.4,0.3,Iris-setosa 48 | 5.1,3.8,1.6,0.2,Iris-setosa 49 | 4.6,3.2,1.4,0.2,Iris-setosa 50 | 5.3,3.7,1.5,0.2,Iris-setosa 51 | 5,3.3,1.4,0.2,Iris-setosa 52 | 7,3.2,4.7,1.4,Iris-versicolor 53 | 6.4,3.2,4.5,1.5,Iris-versicolor 54 | 6.9,3.1,4.9,1.5,Iris-versicolor 55 | 5.5,2.3,4,1.3,Iris-versicolor 56 | 6.5,2.8,4.6,1.5,Iris-versicolor 57 | 5.7,2.8,4.5,1.3,Iris-versicolor 58 | 6.3,3.3,4.7,1.6,Iris-versicolor 59 | 4.9,2.4,3.3,1,Iris-versicolor 60 | 6.6,2.9,4.6,1.3,Iris-versicolor 61 | 5.2,2.7,3.9,1.4,Iris-versicolor 62 | 5,2,3.5,1,Iris-versicolor 63 | 5.9,3,4.2,1.5,Iris-versicolor 64 | 6,2.2,4,1,Iris-versicolor 65 | 6.1,2.9,4.7,1.4,Iris-versicolor 66 | 5.6,2.9,3.6,1.3,Iris-versicolor 67 | 6.7,3.1,4.4,1.4,Iris-versicolor 68 | 5.6,3,4.5,1.5,Iris-versicolor 69 | 5.8,2.7,4.1,1,Iris-versicolor 70 | 6.2,2.2,4.5,1.5,Iris-versicolor 71 | 5.6,2.5,3.9,1.1,Iris-versicolor 72 | 5.9,3.2,4.8,1.8,Iris-versicolor 73 | 6.1,2.8,4,1.3,Iris-versicolor 74 | 6.3,2.5,4.9,1.5,Iris-versicolor 75 | 6.1,2.8,4.7,1.2,Iris-versicolor 76 | 6.4,2.9,4.3,1.3,Iris-versicolor 77 | 6.6,3,4.4,1.4,Iris-versicolor 78 | 6.8,2.8,4.8,1.4,Iris-versicolor 79 | 6.7,3,5,1.7,Iris-versicolor 80 | 6,2.9,4.5,1.5,Iris-versicolor 81 | 5.7,2.6,3.5,1,Iris-versicolor 82 | 5.5,2.4,3.8,1.1,Iris-versicolor 83 | 5.5,2.4,3.7,1,Iris-versicolor 84 | 5.8,2.7,3.9,1.2,Iris-versicolor 85 | 6,2.7,5.1,1.6,Iris-versicolor 86 | 5.4,3,4.5,1.5,Iris-versicolor 87 | 6,3.4,4.5,1.6,Iris-versicolor 88 | 6.7,3.1,4.7,1.5,Iris-versicolor 89 | 6.3,2.3,4.4,1.3,Iris-versicolor 90 | 5.6,3,4.1,1.3,Iris-versicolor 91 | 5.5,2.5,4,1.3,Iris-versicolor 92 | 5.5,2.6,4.4,1.2,Iris-versicolor 93 | 6.1,3,4.6,1.4,Iris-versicolor 94 | 5.8,2.6,4,1.2,Iris-versicolor 95 | 5,2.3,3.3,1,Iris-versicolor 96 | 5.6,2.7,4.2,1.3,Iris-versicolor 97 | 5.7,3,4.2,1.2,Iris-versicolor 98 | 5.7,2.9,4.2,1.3,Iris-versicolor 99 | 6.2,2.9,4.3,1.3,Iris-versicolor 100 | 5.1,2.5,3,1.1,Iris-versicolor 101 | 5.7,2.8,4.1,1.3,Iris-versicolor 102 | 6.3,3.3,6,2.5,Iris-virginica 103 | 5.8,2.7,5.1,1.9,Iris-virginica 104 | 7.1,3,5.9,2.1,Iris-virginica 105 | 6.3,2.9,5.6,1.8,Iris-virginica 106 | 6.5,3,5.8,2.2,Iris-virginica 107 | 7.6,3,6.6,2.1,Iris-virginica 108 | 4.9,2.5,4.5,1.7,Iris-virginica 109 | 7.3,2.9,6.3,1.8,Iris-virginica 110 | 6.7,2.5,5.8,1.8,Iris-virginica 111 | 7.2,3.6,6.1,2.5,Iris-virginica 112 | 6.5,3.2,5.1,2,Iris-virginica 113 | 6.4,2.7,5.3,1.9,Iris-virginica 114 | 6.8,3,5.5,2.1,Iris-virginica 115 | 5.7,2.5,5,2,Iris-virginica 116 | 5.8,2.8,5.1,2.4,Iris-virginica 117 | 6.4,3.2,5.3,2.3,Iris-virginica 118 | 6.5,3,5.5,1.8,Iris-virginica 119 | 7.7,3.8,6.7,2.2,Iris-virginica 120 | 7.7,2.6,6.9,2.3,Iris-virginica 121 | 6,2.2,5,1.5,Iris-virginica 122 | 6.9,3.2,5.7,2.3,Iris-virginica 123 | 5.6,2.8,4.9,2,Iris-virginica 124 | 7.7,2.8,6.7,2,Iris-virginica 125 | 6.3,2.7,4.9,1.8,Iris-virginica 126 | 6.7,3.3,5.7,2.1,Iris-virginica 127 | 7.2,3.2,6,1.8,Iris-virginica 128 | 6.2,2.8,4.8,1.8,Iris-virginica 129 | 6.1,3,4.9,1.8,Iris-virginica 130 | 6.4,2.8,5.6,2.1,Iris-virginica 131 | 7.2,3,5.8,1.6,Iris-virginica 132 | 7.4,2.8,6.1,1.9,Iris-virginica 133 | 7.9,3.8,6.4,2,Iris-virginica 134 | 6.4,2.8,5.6,2.2,Iris-virginica 135 | 6.3,2.8,5.1,1.5,Iris-virginica 136 | 6.1,2.6,5.6,1.4,Iris-virginica 137 | 7.7,3,6.1,2.3,Iris-virginica 138 | 6.3,3.4,5.6,2.4,Iris-virginica 139 | 6.4,3.1,5.5,1.8,Iris-virginica 140 | 6,3,4.8,1.8,Iris-virginica 141 | 6.9,3.1,5.4,2.1,Iris-virginica 142 | 6.7,3.1,5.6,2.4,Iris-virginica 143 | 6.9,3.1,5.1,2.3,Iris-virginica 144 | 5.8,2.7,5.1,1.9,Iris-virginica 145 | 6.8,3.2,5.9,2.3,Iris-virginica 146 | 6.7,3.3,5.7,2.5,Iris-virginica 147 | 6.7,3,5.2,2.3,Iris-virginica 148 | 6.3,2.5,5,1.9,Iris-virginica 149 | 6.5,3,5.2,2,Iris-virginica 150 | 6.2,3.4,5.4,2.3,Iris-virginica 151 | 5.9,3,5.1,1.8,Iris-virginica 152 | --------------------------------------------------------------------------------