├── 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 | "
"
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 | " SepalLength | \n",
40 | " SepalWidth | \n",
41 | " PetalLength | \n",
42 | " PetalWidth | \n",
43 | " Name | \n",
44 | "
\n",
45 | " \n",
46 | " \n",
47 | " \n",
48 | " 0 | \n",
49 | " 5.1 | \n",
50 | " 3.5 | \n",
51 | " 1.4 | \n",
52 | " 0.2 | \n",
53 | " Iris-setosa | \n",
54 | "
\n",
55 | " \n",
56 | " 1 | \n",
57 | " 4.9 | \n",
58 | " 3.0 | \n",
59 | " 1.4 | \n",
60 | " 0.2 | \n",
61 | " Iris-setosa | \n",
62 | "
\n",
63 | " \n",
64 | " 2 | \n",
65 | " 4.7 | \n",
66 | " 3.2 | \n",
67 | " 1.3 | \n",
68 | " 0.2 | \n",
69 | " Iris-setosa | \n",
70 | "
\n",
71 | " \n",
72 | " 3 | \n",
73 | " 4.6 | \n",
74 | " 3.1 | \n",
75 | " 1.5 | \n",
76 | " 0.2 | \n",
77 | " Iris-setosa | \n",
78 | "
\n",
79 | " \n",
80 | " 4 | \n",
81 | " 5.0 | \n",
82 | " 3.6 | \n",
83 | " 1.4 | \n",
84 | " 0.2 | \n",
85 | " Iris-setosa | \n",
86 | "
\n",
87 | " \n",
88 | "
\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 | " 0 | \n",
53 | " 1 | \n",
54 | " 2 | \n",
55 | "
\n",
56 | " \n",
57 | " \n",
58 | " \n",
59 | " 0 | \n",
60 | " 2104 | \n",
61 | " 3 | \n",
62 | " 399900 | \n",
63 | "
\n",
64 | " \n",
65 | " 1 | \n",
66 | " 1600 | \n",
67 | " 3 | \n",
68 | " 329900 | \n",
69 | "
\n",
70 | " \n",
71 | " 2 | \n",
72 | " 2400 | \n",
73 | " 3 | \n",
74 | " 369000 | \n",
75 | "
\n",
76 | " \n",
77 | " 3 | \n",
78 | " 1416 | \n",
79 | " 2 | \n",
80 | " 232000 | \n",
81 | "
\n",
82 | " \n",
83 | " 4 | \n",
84 | " 3000 | \n",
85 | " 4 | \n",
86 | " 539900 | \n",
87 | "
\n",
88 | " \n",
89 | "
\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 | " 0 | \n",
139 | " 1 | \n",
140 | "
\n",
141 | " \n",
142 | " \n",
143 | " \n",
144 | " 0 | \n",
145 | " 2104 | \n",
146 | " 3 | \n",
147 | "
\n",
148 | " \n",
149 | " 1 | \n",
150 | " 1600 | \n",
151 | " 3 | \n",
152 | "
\n",
153 | " \n",
154 | " 2 | \n",
155 | " 2400 | \n",
156 | " 3 | \n",
157 | "
\n",
158 | " \n",
159 | " 3 | \n",
160 | " 1416 | \n",
161 | " 2 | \n",
162 | "
\n",
163 | " \n",
164 | " 4 | \n",
165 | " 3000 | \n",
166 | " 4 | \n",
167 | "
\n",
168 | " \n",
169 | " 5 | \n",
170 | " 1985 | \n",
171 | " 4 | \n",
172 | "
\n",
173 | " \n",
174 | " 6 | \n",
175 | " 1534 | \n",
176 | " 3 | \n",
177 | "
\n",
178 | " \n",
179 | " 7 | \n",
180 | " 1427 | \n",
181 | " 3 | \n",
182 | "
\n",
183 | " \n",
184 | " 8 | \n",
185 | " 1380 | \n",
186 | " 3 | \n",
187 | "
\n",
188 | " \n",
189 | " 9 | \n",
190 | " 1494 | \n",
191 | " 3 | \n",
192 | "
\n",
193 | " \n",
194 | " 10 | \n",
195 | " 1940 | \n",
196 | " 4 | \n",
197 | "
\n",
198 | " \n",
199 | " 11 | \n",
200 | " 2000 | \n",
201 | " 3 | \n",
202 | "
\n",
203 | " \n",
204 | " 12 | \n",
205 | " 1890 | \n",
206 | " 3 | \n",
207 | "
\n",
208 | " \n",
209 | " 13 | \n",
210 | " 4478 | \n",
211 | " 5 | \n",
212 | "
\n",
213 | " \n",
214 | " 14 | \n",
215 | " 1268 | \n",
216 | " 3 | \n",
217 | "
\n",
218 | " \n",
219 | " 15 | \n",
220 | " 2300 | \n",
221 | " 4 | \n",
222 | "
\n",
223 | " \n",
224 | " 16 | \n",
225 | " 1320 | \n",
226 | " 2 | \n",
227 | "
\n",
228 | " \n",
229 | " 17 | \n",
230 | " 1236 | \n",
231 | " 3 | \n",
232 | "
\n",
233 | " \n",
234 | " 18 | \n",
235 | " 2609 | \n",
236 | " 4 | \n",
237 | "
\n",
238 | " \n",
239 | " 19 | \n",
240 | " 3031 | \n",
241 | " 4 | \n",
242 | "
\n",
243 | " \n",
244 | " 20 | \n",
245 | " 1767 | \n",
246 | " 3 | \n",
247 | "
\n",
248 | " \n",
249 | " 21 | \n",
250 | " 1888 | \n",
251 | " 2 | \n",
252 | "
\n",
253 | " \n",
254 | " 22 | \n",
255 | " 1604 | \n",
256 | " 3 | \n",
257 | "
\n",
258 | " \n",
259 | " 23 | \n",
260 | " 1962 | \n",
261 | " 4 | \n",
262 | "
\n",
263 | " \n",
264 | " 24 | \n",
265 | " 3890 | \n",
266 | " 3 | \n",
267 | "
\n",
268 | " \n",
269 | " 25 | \n",
270 | " 1100 | \n",
271 | " 3 | \n",
272 | "
\n",
273 | " \n",
274 | " 26 | \n",
275 | " 1458 | \n",
276 | " 3 | \n",
277 | "
\n",
278 | " \n",
279 | " 27 | \n",
280 | " 2526 | \n",
281 | " 3 | \n",
282 | "
\n",
283 | " \n",
284 | " 28 | \n",
285 | " 2200 | \n",
286 | " 3 | \n",
287 | "
\n",
288 | " \n",
289 | " 29 | \n",
290 | " 2637 | \n",
291 | " 3 | \n",
292 | "
\n",
293 | " \n",
294 | " 30 | \n",
295 | " 1839 | \n",
296 | " 2 | \n",
297 | "
\n",
298 | " \n",
299 | " 31 | \n",
300 | " 1000 | \n",
301 | " 1 | \n",
302 | "
\n",
303 | " \n",
304 | " 32 | \n",
305 | " 2040 | \n",
306 | " 4 | \n",
307 | "
\n",
308 | " \n",
309 | " 33 | \n",
310 | " 3137 | \n",
311 | " 3 | \n",
312 | "
\n",
313 | " \n",
314 | " 34 | \n",
315 | " 1811 | \n",
316 | " 4 | \n",
317 | "
\n",
318 | " \n",
319 | " 35 | \n",
320 | " 1437 | \n",
321 | " 3 | \n",
322 | "
\n",
323 | " \n",
324 | " 36 | \n",
325 | " 1239 | \n",
326 | " 3 | \n",
327 | "
\n",
328 | " \n",
329 | " 37 | \n",
330 | " 2132 | \n",
331 | " 4 | \n",
332 | "
\n",
333 | " \n",
334 | " 38 | \n",
335 | " 4215 | \n",
336 | " 4 | \n",
337 | "
\n",
338 | " \n",
339 | " 39 | \n",
340 | " 2162 | \n",
341 | " 4 | \n",
342 | "
\n",
343 | " \n",
344 | " 40 | \n",
345 | " 1664 | \n",
346 | " 2 | \n",
347 | "
\n",
348 | " \n",
349 | " 41 | \n",
350 | " 2238 | \n",
351 | " 3 | \n",
352 | "
\n",
353 | " \n",
354 | " 42 | \n",
355 | " 2567 | \n",
356 | " 4 | \n",
357 | "
\n",
358 | " \n",
359 | " 43 | \n",
360 | " 1200 | \n",
361 | " 3 | \n",
362 | "
\n",
363 | " \n",
364 | " 44 | \n",
365 | " 852 | \n",
366 | " 2 | \n",
367 | "
\n",
368 | " \n",
369 | " 45 | \n",
370 | " 1852 | \n",
371 | " 4 | \n",
372 | "
\n",
373 | " \n",
374 | " 46 | \n",
375 | " 1203 | \n",
376 | " 3 | \n",
377 | "
\n",
378 | " \n",
379 | "
\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 | " 2 | \n",
471 | "
\n",
472 | " \n",
473 | " \n",
474 | " \n",
475 | " 0 | \n",
476 | " 399900 | \n",
477 | "
\n",
478 | " \n",
479 | " 1 | \n",
480 | " 329900 | \n",
481 | "
\n",
482 | " \n",
483 | " 2 | \n",
484 | " 369000 | \n",
485 | "
\n",
486 | " \n",
487 | " 3 | \n",
488 | " 232000 | \n",
489 | "
\n",
490 | " \n",
491 | " 4 | \n",
492 | " 539900 | \n",
493 | "
\n",
494 | " \n",
495 | " 5 | \n",
496 | " 299900 | \n",
497 | "
\n",
498 | " \n",
499 | " 6 | \n",
500 | " 314900 | \n",
501 | "
\n",
502 | " \n",
503 | " 7 | \n",
504 | " 198999 | \n",
505 | "
\n",
506 | " \n",
507 | " 8 | \n",
508 | " 212000 | \n",
509 | "
\n",
510 | " \n",
511 | " 9 | \n",
512 | " 242500 | \n",
513 | "
\n",
514 | " \n",
515 | " 10 | \n",
516 | " 239999 | \n",
517 | "
\n",
518 | " \n",
519 | " 11 | \n",
520 | " 347000 | \n",
521 | "
\n",
522 | " \n",
523 | " 12 | \n",
524 | " 329999 | \n",
525 | "
\n",
526 | " \n",
527 | " 13 | \n",
528 | " 699900 | \n",
529 | "
\n",
530 | " \n",
531 | " 14 | \n",
532 | " 259900 | \n",
533 | "
\n",
534 | " \n",
535 | " 15 | \n",
536 | " 449900 | \n",
537 | "
\n",
538 | " \n",
539 | " 16 | \n",
540 | " 299900 | \n",
541 | "
\n",
542 | " \n",
543 | " 17 | \n",
544 | " 199900 | \n",
545 | "
\n",
546 | " \n",
547 | " 18 | \n",
548 | " 499998 | \n",
549 | "
\n",
550 | " \n",
551 | " 19 | \n",
552 | " 599000 | \n",
553 | "
\n",
554 | " \n",
555 | " 20 | \n",
556 | " 252900 | \n",
557 | "
\n",
558 | " \n",
559 | " 21 | \n",
560 | " 255000 | \n",
561 | "
\n",
562 | " \n",
563 | " 22 | \n",
564 | " 242900 | \n",
565 | "
\n",
566 | " \n",
567 | " 23 | \n",
568 | " 259900 | \n",
569 | "
\n",
570 | " \n",
571 | " 24 | \n",
572 | " 573900 | \n",
573 | "
\n",
574 | " \n",
575 | " 25 | \n",
576 | " 249900 | \n",
577 | "
\n",
578 | " \n",
579 | " 26 | \n",
580 | " 464500 | \n",
581 | "
\n",
582 | " \n",
583 | " 27 | \n",
584 | " 469000 | \n",
585 | "
\n",
586 | " \n",
587 | " 28 | \n",
588 | " 475000 | \n",
589 | "
\n",
590 | " \n",
591 | " 29 | \n",
592 | " 299900 | \n",
593 | "
\n",
594 | " \n",
595 | " 30 | \n",
596 | " 349900 | \n",
597 | "
\n",
598 | " \n",
599 | " 31 | \n",
600 | " 169900 | \n",
601 | "
\n",
602 | " \n",
603 | " 32 | \n",
604 | " 314900 | \n",
605 | "
\n",
606 | " \n",
607 | " 33 | \n",
608 | " 579900 | \n",
609 | "
\n",
610 | " \n",
611 | " 34 | \n",
612 | " 285900 | \n",
613 | "
\n",
614 | " \n",
615 | " 35 | \n",
616 | " 249900 | \n",
617 | "
\n",
618 | " \n",
619 | " 36 | \n",
620 | " 229900 | \n",
621 | "
\n",
622 | " \n",
623 | " 37 | \n",
624 | " 345000 | \n",
625 | "
\n",
626 | " \n",
627 | " 38 | \n",
628 | " 549000 | \n",
629 | "
\n",
630 | " \n",
631 | " 39 | \n",
632 | " 287000 | \n",
633 | "
\n",
634 | " \n",
635 | " 40 | \n",
636 | " 368500 | \n",
637 | "
\n",
638 | " \n",
639 | " 41 | \n",
640 | " 329900 | \n",
641 | "
\n",
642 | " \n",
643 | " 42 | \n",
644 | " 314000 | \n",
645 | "
\n",
646 | " \n",
647 | " 43 | \n",
648 | " 299000 | \n",
649 | "
\n",
650 | " \n",
651 | " 44 | \n",
652 | " 179900 | \n",
653 | "
\n",
654 | " \n",
655 | " 45 | \n",
656 | " 299900 | \n",
657 | "
\n",
658 | " \n",
659 | " 46 | \n",
660 | " 239500 | \n",
661 | "
\n",
662 | " \n",
663 | "
\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 | " SepalLength | \n",
40 | " SepalWidth | \n",
41 | " PetalLength | \n",
42 | " PetalWidth | \n",
43 | " Name | \n",
44 | "
\n",
45 | " \n",
46 | " \n",
47 | " \n",
48 | " 0 | \n",
49 | " 5.1 | \n",
50 | " 3.5 | \n",
51 | " 1.4 | \n",
52 | " 0.2 | \n",
53 | " Iris-setosa | \n",
54 | "
\n",
55 | " \n",
56 | " 1 | \n",
57 | " 4.9 | \n",
58 | " 3.0 | \n",
59 | " 1.4 | \n",
60 | " 0.2 | \n",
61 | " Iris-setosa | \n",
62 | "
\n",
63 | " \n",
64 | " 2 | \n",
65 | " 4.7 | \n",
66 | " 3.2 | \n",
67 | " 1.3 | \n",
68 | " 0.2 | \n",
69 | " Iris-setosa | \n",
70 | "
\n",
71 | " \n",
72 | " 3 | \n",
73 | " 4.6 | \n",
74 | " 3.1 | \n",
75 | " 1.5 | \n",
76 | " 0.2 | \n",
77 | " Iris-setosa | \n",
78 | "
\n",
79 | " \n",
80 | " 4 | \n",
81 | " 5.0 | \n",
82 | " 3.6 | \n",
83 | " 1.4 | \n",
84 | " 0.2 | \n",
85 | " Iris-setosa | \n",
86 | "
\n",
87 | " \n",
88 | "
\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 | " 0 | \n",
43 | " 1 | \n",
44 | "
\n",
45 | " \n",
46 | " \n",
47 | " \n",
48 | " 0 | \n",
49 | " 6.1101 | \n",
50 | " 17.5920 | \n",
51 | "
\n",
52 | " \n",
53 | " 1 | \n",
54 | " 5.5277 | \n",
55 | " 9.1302 | \n",
56 | "
\n",
57 | " \n",
58 | " 2 | \n",
59 | " 8.5186 | \n",
60 | " 13.6620 | \n",
61 | "
\n",
62 | " \n",
63 | " 3 | \n",
64 | " 7.0032 | \n",
65 | " 11.8540 | \n",
66 | "
\n",
67 | " \n",
68 | " 4 | \n",
69 | " 5.8598 | \n",
70 | " 6.8233 | \n",
71 | "
\n",
72 | " \n",
73 | "
\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 |
--------------------------------------------------------------------------------