diff --git a/Advanced/regex/regex_tutorial_exercise_answer.ipynb b/Advanced/regex/regex_tutorial_exercise_answer.ipynb
new file mode 100644
index 00000000..0e2c9951
--- /dev/null
+++ b/Advanced/regex/regex_tutorial_exercise_answer.ipynb
@@ -0,0 +1,154 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import re"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**1. Extract all twitter handles from following text. Twitter handle is the text that appears after https://twitter.com/ and is a single word. Also it contains only alpha numeric characters i.e. A-Z a-z , o to 9 and underscore _**"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['elonmusk', 'teslarati', 'dummy_tesla', 'dummy_2_tesla']"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "text = '''\n",
+    "Follow our leader Elon musk on twitter here: https://twitter.com/elonmusk, more information \n",
+    "on Tesla's products can be found at https://www.tesla.com/. Also here are leading influencers \n",
+    "for tesla related news,\n",
+    "https://twitter.com/teslarati\n",
+    "https://twitter.com/dummy_tesla\n",
+    "https://twitter.com/dummy_2_tesla\n",
+    "'''\n",
+    "pattern = 'https://twitter\\.com/([a-zA-Z0-9_]+)'\n",
+    "\n",
+    "re.findall(pattern, text)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**2. Extract Concentration Risk Types. It will be a text that appears after \"Concentration Risk:\", In below example, your regex should extract these two strings**\n",
+    "\n",
+    "(1) Credit Risk\n",
+    "\n",
+    "(2) Supply Rish"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['Credit Risk', 'Credit Risk']"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "text = '''\n",
+    "Concentration of Risk: Credit Risk\n",
+    "Financial instruments that potentially subject us to a concentration of credit risk consist of cash, cash equivalents, marketable securities,\n",
+    "restricted cash, accounts receivable, convertible note hedges, and interest rate swaps. Our cash balances are primarily invested in money market funds\n",
+    "or on deposit at high credit quality financial institutions in the U.S. These deposits are typically in excess of insured limits. As of September 30, 2021\n",
+    "and December 31, 2020, no entity represented 10% or more of our total accounts receivable balance. The risk of concentration for our convertible note\n",
+    "hedges and interest rate swaps is mitigated by transacting with several highly-rated multinational banks.\n",
+    "Concentration of Risk: Supply Risk\n",
+    "We are dependent on our suppliers, including single source suppliers, and the inability of these suppliers to deliver necessary components of our\n",
+    "products in a timely manner at prices, quality levels and volumes acceptable to us, or our inability to efficiently manage these components from these\n",
+    "suppliers, could have a material adverse effect on our business, prospects, financial condition and operating results.\n",
+    "'''\n",
+    "pattern = 'Concentration of Risk: ([^\\n]*)'\n",
+    "\n",
+    "re.findall(pattern, text)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**3. Companies in europe reports their financial numbers of semi annual basis and you can have a document like this. To exatract quarterly and semin annual period you can use a regex as shown below**\n",
+    "\n",
+    "Hint: you need to use (?:) here to match everything enclosed"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['2021 Q1', '2021 S1']"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "text = '''\n",
+    "Tesla's gross cost of operating lease vehicles in FY2021 Q1 was $4.85 billion.\n",
+    "BMW's gross cost of operating vehicles in FY2021 S1 was $8 billion.\n",
+    "'''\n",
+    "\n",
+    "pattern = 'FY(\\d{4} (?:Q[1-4]|S[1-2]))'\n",
+    "matches = re.findall(pattern, text)\n",
+    "matches"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/Advanced/regex/regex_tutorial_exercise_questions.ipynb b/Advanced/regex/regex_tutorial_exercise_questions.ipynb
new file mode 100644
index 00000000..273de7fb
--- /dev/null
+++ b/Advanced/regex/regex_tutorial_exercise_questions.ipynb
@@ -0,0 +1,135 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h1 align='center'>Python Regular Expression Tutorial Exericse</h1>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import re"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**1. Extract all twitter handles from following text. Twitter handle is the text that appears after https://twitter.com/ and is a single word. Also it contains only alpha numeric characters i.e. A-Z a-z , o to 9 and underscore _**"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [],
+   "source": [
+    "text = '''\n",
+    "Follow our leader Elon musk on twitter here: https://twitter.com/elonmusk, more information \n",
+    "on Tesla's products can be found at https://www.tesla.com/. Also here are leading influencers \n",
+    "for tesla related news,\n",
+    "https://twitter.com/teslarati\n",
+    "https://twitter.com/dummy_tesla\n",
+    "https://twitter.com/dummy_2_tesla\n",
+    "'''\n",
+    "pattern = '' # todo: type your regex here\n",
+    "\n",
+    "re.findall(pattern, text)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**2. Extract Concentration Risk Types. It will be a text that appears after \"Concentration Risk:\", In below example, your regex should extract these two strings**\n",
+    "\n",
+    "(1) Credit Risk\n",
+    "\n",
+    "(2) Supply Rish"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "text = '''\n",
+    "Concentration of Risk: Credit Risk\n",
+    "Financial instruments that potentially subject us to a concentration of credit risk consist of cash, cash equivalents, marketable securities,\n",
+    "restricted cash, accounts receivable, convertible note hedges, and interest rate swaps. Our cash balances are primarily invested in money market funds\n",
+    "or on deposit at high credit quality financial institutions in the U.S. These deposits are typically in excess of insured limits. As of September 30, 2021\n",
+    "and December 31, 2020, no entity represented 10% or more of our total accounts receivable balance. The risk of concentration for our convertible note\n",
+    "hedges and interest rate swaps is mitigated by transacting with several highly-rated multinational banks.\n",
+    "Concentration of Risk: Supply Risk\n",
+    "We are dependent on our suppliers, including single source suppliers, and the inability of these suppliers to deliver necessary components of our\n",
+    "products in a timely manner at prices, quality levels and volumes acceptable to us, or our inability to efficiently manage these components from these\n",
+    "suppliers, could have a material adverse effect on our business, prospects, financial condition and operating results.\n",
+    "'''\n",
+    "pattern = '' # todo: type your regex here\n",
+    "\n",
+    "re.findall(pattern, text)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**3. Companies in europe reports their financial numbers of semi annual basis and you can have a document like this. To exatract quarterly and semin annual period you can use a regex as shown below**\n",
+    "\n",
+    "Hint: you need to use (?:) here to match everything enclosed"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "text = '''\n",
+    "Tesla's gross cost of operating lease vehicles in FY2021 Q1 was $4.85 billion.\n",
+    "BMW's gross cost of operating vehicles in FY2021 S1 was $8 billion.\n",
+    "'''\n",
+    "\n",
+    "pattern = '' # todo: type your regex here\n",
+    "matches = re.findall(pattern, text)\n",
+    "matches"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "__[Solution](https://github.com/codebasics/py/blob/master/Advanced/regex/regex_tutorial_exercise_answer.ipynb)__"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/Advanced/regex/regex_tutorial_python.ipynb b/Advanced/regex/regex_tutorial_python.ipynb
new file mode 100644
index 00000000..df1cdbb0
--- /dev/null
+++ b/Advanced/regex/regex_tutorial_python.ipynb
@@ -0,0 +1,329 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import re"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Extract phone numbers</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 46,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['9991116666', '(999)-333-7777']"
+      ]
+     },
+     "execution_count": 46,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "text='''\n",
+    "Elon musk's phone number is 9991116666, call him if you have any questions on dodgecoin. Tesla's revenue is 40 billion\n",
+    "Tesla's CFO number (999)-333-7777\n",
+    "'''\n",
+    "pattern = '\\(\\d{3}\\)-\\d{3}-\\d{4}|\\d{10}'\n",
+    "\n",
+    "matches = re.findall(pattern, text)\n",
+    "matches"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Extract Note Titles</h3>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<img src='tesla_report_notes.jpg' />"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 38,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "text = '''\n",
+    "Note 1 - Overview\n",
+    "Tesla, Inc. (“Tesla”, the “Company”, “we”, “us” or “our”) was incorporated in the State of Delaware on July 1, 2003. We design, develop, manufacture and sell high-performance fully electric vehicles and design, manufacture, install and sell solar energy generation and energy storage\n",
+    "products. Our Chief Executive Officer, as the chief operating decision maker (“CODM”), organizes our company, manages resource allocations and measures performance among two operating and reportable segments: (i) automotive and (ii) energy generation and storage.\n",
+    "Beginning in the first quarter of 2021, there has been a trend in many parts of the world of increasing availability and administration of vaccines\n",
+    "against COVID-19, as well as an easing of restrictions on social, business, travel and government activities and functions. On the other hand, infection\n",
+    "rates and regulations continue to fluctuate in various regions and there are ongoing global impacts resulting from the pandemic, including challenges\n",
+    "and increases in costs for logistics and supply chains, such as increased port congestion, intermittent supplier delays and a shortfall of semiconductor\n",
+    "supply. We have also previously been affected by temporary manufacturing closures, employment and compensation adjustments and impediments to\n",
+    "administrative activities supporting our product deliveries and deployments.\n",
+    "Note 2 - Summary of Significant Accounting Policies\n",
+    "Unaudited Interim Financial Statements\n",
+    "The consolidated balance sheet as of September 30, 2021, the consolidated statements of operations, the consolidated statements of\n",
+    "comprehensive income, the consolidated statements of redeemable noncontrolling interests and equity for the three and nine months ended September\n",
+    "30, 2021 and 2020 and the consolidated statements of cash flows for the nine months ended September 30, 2021 and 2020, as well as other information\n",
+    "disclosed in the accompanying notes, are unaudited. The consolidated balance sheet as of December 31, 2020 was derived from the audited\n",
+    "consolidated financial statements as of that date. The interim consolidated financial statements and the accompanying notes should be read in\n",
+    "conjunction with the annual consolidated financial statements and the accompanying notes contained in our Annual Report on Form 10-K for the year\n",
+    "ended December 31, 2020.\n",
+    "'''"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 45,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['Overview', 'Summary of Significant Accounting Policies']"
+      ]
+     },
+     "execution_count": 45,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "pattern = 'Note \\d - ([^\\n]*)'\n",
+    "matches = re.findall(pattern, text)\n",
+    "matches"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Extract financial periods from a company's financial reporting</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 28,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['FY2021 Q1', 'FY2020 Q4']"
+      ]
+     },
+     "execution_count": 28,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "text = '''\n",
+    "The gross cost of operating lease vehicles in FY2021 Q1 was $4.85 billion.\n",
+    "In previous quarter i.e. FY2020 Q4 it was $3 billion. \n",
+    "'''\n",
+    "\n",
+    "pattern = 'FY\\d{4} Q[1-4]'\n",
+    "\n",
+    "matches = re.findall(pattern, text)\n",
+    "matches"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**Case insensitive pattern match using flags**"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 29,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['FY2021 Q1', 'fy2020 Q4']"
+      ]
+     },
+     "execution_count": 29,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "text = '''\n",
+    "The gross cost of operating lease vehicles in FY2021 Q1 was $4.85 billion.\n",
+    "In previous quarter i.e. fy2020 Q4 it was $3 billion. \n",
+    "'''\n",
+    "\n",
+    "pattern = 'FY\\d{4} Q[1-4]'\n",
+    "\n",
+    "matches = re.findall(pattern, text, flags=re.IGNORECASE)\n",
+    "matches"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Extract only financial numbers</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 36,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['4.85', '3']"
+      ]
+     },
+     "execution_count": 36,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "text = '''\n",
+    "Tesla's gross cost of operating lease vehicles in FY2021 Q1 was $4.85 billion. \n",
+    "In previous quarter i.e. FY2020 Q4 it was $3 billion.\n",
+    "'''\n",
+    "\n",
+    "pattern = '\\$([0-9\\.]+)'\n",
+    "matches = re.findall(pattern, text)\n",
+    "matches"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Extract periods and financial numbers both</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 35,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[('2021 Q1', '4.85'), ('2020 Q4', '3')]"
+      ]
+     },
+     "execution_count": 35,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "text = '''\n",
+    "Tesla's gross cost of operating lease vehicles in FY2021 Q1 was $4.85 billion. \n",
+    "In previous quarter i.e. FY2020 Q4 it was $3 billion.\n",
+    "'''\n",
+    "pattern = 'FY(\\d{4} Q[1-4])[^\\$]+\\$([0-9\\.]+)'\n",
+    "\n",
+    "matches = re.findall(pattern, text)\n",
+    "matches"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>re.search</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 25,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "<re.Match object; span=(51, 84), match='FY2021 Q1 ljh lsj a 123 was $4.85'>"
+      ]
+     },
+     "execution_count": 25,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "text = '''\n",
+    "Tesla's gross cost of operating lease vehicles in FY2021 Q1 ljh lsj a 123 was $4.85 billion. Same number for FY2020 Q4 was $8 billion\n",
+    "'''\n",
+    "pattern = 'FY(\\d{4} Q[1-4])[^\\$]+\\$([0-9\\.]+)'\n",
+    "\n",
+    "matches = re.search(pattern, text)\n",
+    "matches"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 26,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "('2021 Q1', '4.85')"
+      ]
+     },
+     "execution_count": 26,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "matches.groups()"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/Advanced/regex/tesla_report_notes.jpg b/Advanced/regex/tesla_report_notes.jpg
new file mode 100644
index 00000000..3d22a02b
Binary files /dev/null and b/Advanced/regex/tesla_report_notes.jpg differ
diff --git a/ML/19_Bagging/Exercise/bagging_heart_disease_prediction.ipynb b/ML/19_Bagging/Exercise/bagging_heart_disease_prediction.ipynb
new file mode 100644
index 00000000..c597be72
--- /dev/null
+++ b/ML/19_Bagging/Exercise/bagging_heart_disease_prediction.ipynb
@@ -0,0 +1,1890 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3 align='center'>Ensemble Learning: Bagging Tutorial Exercise Solution</h3>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "dataset credits: https://www.kaggle.com/fedesoriano/heart-failure-prediction"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Data Loading</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 33,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Age</th>\n",
+       "      <th>Sex</th>\n",
+       "      <th>ChestPainType</th>\n",
+       "      <th>RestingBP</th>\n",
+       "      <th>Cholesterol</th>\n",
+       "      <th>FastingBS</th>\n",
+       "      <th>RestingECG</th>\n",
+       "      <th>MaxHR</th>\n",
+       "      <th>ExerciseAngina</th>\n",
+       "      <th>Oldpeak</th>\n",
+       "      <th>ST_Slope</th>\n",
+       "      <th>HeartDisease</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>40</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ATA</td>\n",
+       "      <td>140</td>\n",
+       "      <td>289</td>\n",
+       "      <td>0</td>\n",
+       "      <td>Normal</td>\n",
+       "      <td>172</td>\n",
+       "      <td>N</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>Up</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>49</td>\n",
+       "      <td>F</td>\n",
+       "      <td>NAP</td>\n",
+       "      <td>160</td>\n",
+       "      <td>180</td>\n",
+       "      <td>0</td>\n",
+       "      <td>Normal</td>\n",
+       "      <td>156</td>\n",
+       "      <td>N</td>\n",
+       "      <td>1.0</td>\n",
+       "      <td>Flat</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>37</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ATA</td>\n",
+       "      <td>130</td>\n",
+       "      <td>283</td>\n",
+       "      <td>0</td>\n",
+       "      <td>ST</td>\n",
+       "      <td>98</td>\n",
+       "      <td>N</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>Up</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3</th>\n",
+       "      <td>48</td>\n",
+       "      <td>F</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>138</td>\n",
+       "      <td>214</td>\n",
+       "      <td>0</td>\n",
+       "      <td>Normal</td>\n",
+       "      <td>108</td>\n",
+       "      <td>Y</td>\n",
+       "      <td>1.5</td>\n",
+       "      <td>Flat</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4</th>\n",
+       "      <td>54</td>\n",
+       "      <td>M</td>\n",
+       "      <td>NAP</td>\n",
+       "      <td>150</td>\n",
+       "      <td>195</td>\n",
+       "      <td>0</td>\n",
+       "      <td>Normal</td>\n",
+       "      <td>122</td>\n",
+       "      <td>N</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>Up</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "   Age Sex ChestPainType  RestingBP  Cholesterol  FastingBS RestingECG  MaxHR  \\\n",
+       "0   40   M           ATA        140          289          0     Normal    172   \n",
+       "1   49   F           NAP        160          180          0     Normal    156   \n",
+       "2   37   M           ATA        130          283          0         ST     98   \n",
+       "3   48   F           ASY        138          214          0     Normal    108   \n",
+       "4   54   M           NAP        150          195          0     Normal    122   \n",
+       "\n",
+       "  ExerciseAngina  Oldpeak ST_Slope  HeartDisease  \n",
+       "0              N      0.0       Up             0  \n",
+       "1              N      1.0     Flat             1  \n",
+       "2              N      0.0       Up             0  \n",
+       "3              Y      1.5     Flat             1  \n",
+       "4              N      0.0       Up             0  "
+      ]
+     },
+     "execution_count": 33,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import pandas as pd\n",
+    "\n",
+    "df = pd.read_csv(\"heart.csv\")\n",
+    "df.head()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 34,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(918, 12)"
+      ]
+     },
+     "execution_count": 34,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 35,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Age</th>\n",
+       "      <th>RestingBP</th>\n",
+       "      <th>Cholesterol</th>\n",
+       "      <th>FastingBS</th>\n",
+       "      <th>MaxHR</th>\n",
+       "      <th>Oldpeak</th>\n",
+       "      <th>HeartDisease</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>count</th>\n",
+       "      <td>918.000000</td>\n",
+       "      <td>918.000000</td>\n",
+       "      <td>918.000000</td>\n",
+       "      <td>918.000000</td>\n",
+       "      <td>918.000000</td>\n",
+       "      <td>918.000000</td>\n",
+       "      <td>918.000000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>mean</th>\n",
+       "      <td>53.510893</td>\n",
+       "      <td>132.396514</td>\n",
+       "      <td>198.799564</td>\n",
+       "      <td>0.233115</td>\n",
+       "      <td>136.809368</td>\n",
+       "      <td>0.887364</td>\n",
+       "      <td>0.553377</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>std</th>\n",
+       "      <td>9.432617</td>\n",
+       "      <td>18.514154</td>\n",
+       "      <td>109.384145</td>\n",
+       "      <td>0.423046</td>\n",
+       "      <td>25.460334</td>\n",
+       "      <td>1.066570</td>\n",
+       "      <td>0.497414</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>min</th>\n",
+       "      <td>28.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>60.000000</td>\n",
+       "      <td>-2.600000</td>\n",
+       "      <td>0.000000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>25%</th>\n",
+       "      <td>47.000000</td>\n",
+       "      <td>120.000000</td>\n",
+       "      <td>173.250000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>120.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>50%</th>\n",
+       "      <td>54.000000</td>\n",
+       "      <td>130.000000</td>\n",
+       "      <td>223.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>138.000000</td>\n",
+       "      <td>0.600000</td>\n",
+       "      <td>1.000000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>75%</th>\n",
+       "      <td>60.000000</td>\n",
+       "      <td>140.000000</td>\n",
+       "      <td>267.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>156.000000</td>\n",
+       "      <td>1.500000</td>\n",
+       "      <td>1.000000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>max</th>\n",
+       "      <td>77.000000</td>\n",
+       "      <td>200.000000</td>\n",
+       "      <td>603.000000</td>\n",
+       "      <td>1.000000</td>\n",
+       "      <td>202.000000</td>\n",
+       "      <td>6.200000</td>\n",
+       "      <td>1.000000</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "              Age   RestingBP  Cholesterol   FastingBS       MaxHR  \\\n",
+       "count  918.000000  918.000000   918.000000  918.000000  918.000000   \n",
+       "mean    53.510893  132.396514   198.799564    0.233115  136.809368   \n",
+       "std      9.432617   18.514154   109.384145    0.423046   25.460334   \n",
+       "min     28.000000    0.000000     0.000000    0.000000   60.000000   \n",
+       "25%     47.000000  120.000000   173.250000    0.000000  120.000000   \n",
+       "50%     54.000000  130.000000   223.000000    0.000000  138.000000   \n",
+       "75%     60.000000  140.000000   267.000000    0.000000  156.000000   \n",
+       "max     77.000000  200.000000   603.000000    1.000000  202.000000   \n",
+       "\n",
+       "          Oldpeak  HeartDisease  \n",
+       "count  918.000000    918.000000  \n",
+       "mean     0.887364      0.553377  \n",
+       "std      1.066570      0.497414  \n",
+       "min     -2.600000      0.000000  \n",
+       "25%      0.000000      0.000000  \n",
+       "50%      0.600000      1.000000  \n",
+       "75%      1.500000      1.000000  \n",
+       "max      6.200000      1.000000  "
+      ]
+     },
+     "execution_count": 35,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.describe()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Treat Outliers</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 36,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Age</th>\n",
+       "      <th>Sex</th>\n",
+       "      <th>ChestPainType</th>\n",
+       "      <th>RestingBP</th>\n",
+       "      <th>Cholesterol</th>\n",
+       "      <th>FastingBS</th>\n",
+       "      <th>RestingECG</th>\n",
+       "      <th>MaxHR</th>\n",
+       "      <th>ExerciseAngina</th>\n",
+       "      <th>Oldpeak</th>\n",
+       "      <th>ST_Slope</th>\n",
+       "      <th>HeartDisease</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>76</th>\n",
+       "      <td>32</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>118</td>\n",
+       "      <td>529</td>\n",
+       "      <td>0</td>\n",
+       "      <td>Normal</td>\n",
+       "      <td>130</td>\n",
+       "      <td>N</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>Flat</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>149</th>\n",
+       "      <td>54</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>130</td>\n",
+       "      <td>603</td>\n",
+       "      <td>1</td>\n",
+       "      <td>Normal</td>\n",
+       "      <td>125</td>\n",
+       "      <td>Y</td>\n",
+       "      <td>1.0</td>\n",
+       "      <td>Flat</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>616</th>\n",
+       "      <td>67</td>\n",
+       "      <td>F</td>\n",
+       "      <td>NAP</td>\n",
+       "      <td>115</td>\n",
+       "      <td>564</td>\n",
+       "      <td>0</td>\n",
+       "      <td>LVH</td>\n",
+       "      <td>160</td>\n",
+       "      <td>N</td>\n",
+       "      <td>1.6</td>\n",
+       "      <td>Flat</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "     Age Sex ChestPainType  RestingBP  Cholesterol  FastingBS RestingECG  \\\n",
+       "76    32   M           ASY        118          529          0     Normal   \n",
+       "149   54   M           ASY        130          603          1     Normal   \n",
+       "616   67   F           NAP        115          564          0        LVH   \n",
+       "\n",
+       "     MaxHR ExerciseAngina  Oldpeak ST_Slope  HeartDisease  \n",
+       "76     130              N      0.0     Flat             1  \n",
+       "149    125              Y      1.0     Flat             1  \n",
+       "616    160              N      1.6     Flat             0  "
+      ]
+     },
+     "execution_count": 36,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df[df.Cholesterol>(df.Cholesterol.mean()+3*df.Cholesterol.std())]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 37,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(918, 12)"
+      ]
+     },
+     "execution_count": 37,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 38,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(915, 12)"
+      ]
+     },
+     "execution_count": 38,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df1 = df[df.Cholesterol<=(df.Cholesterol.mean()+3*df.Cholesterol.std())]\n",
+    "df1.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Age</th>\n",
+       "      <th>Sex</th>\n",
+       "      <th>ChestPainType</th>\n",
+       "      <th>RestingBP</th>\n",
+       "      <th>Cholesterol</th>\n",
+       "      <th>FastingBS</th>\n",
+       "      <th>RestingECG</th>\n",
+       "      <th>MaxHR</th>\n",
+       "      <th>ExerciseAngina</th>\n",
+       "      <th>Oldpeak</th>\n",
+       "      <th>ST_Slope</th>\n",
+       "      <th>HeartDisease</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "Empty DataFrame\n",
+       "Columns: [Age, Sex, ChestPainType, RestingBP, Cholesterol, FastingBS, RestingECG, MaxHR, ExerciseAngina, Oldpeak, ST_Slope, HeartDisease]\n",
+       "Index: []"
+      ]
+     },
+     "execution_count": 39,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df[df.MaxHR>(df.MaxHR.mean()+3*df.MaxHR.std())]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 40,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Age</th>\n",
+       "      <th>Sex</th>\n",
+       "      <th>ChestPainType</th>\n",
+       "      <th>RestingBP</th>\n",
+       "      <th>Cholesterol</th>\n",
+       "      <th>FastingBS</th>\n",
+       "      <th>RestingECG</th>\n",
+       "      <th>MaxHR</th>\n",
+       "      <th>ExerciseAngina</th>\n",
+       "      <th>Oldpeak</th>\n",
+       "      <th>ST_Slope</th>\n",
+       "      <th>HeartDisease</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "Empty DataFrame\n",
+       "Columns: [Age, Sex, ChestPainType, RestingBP, Cholesterol, FastingBS, RestingECG, MaxHR, ExerciseAngina, Oldpeak, ST_Slope, HeartDisease]\n",
+       "Index: []"
+      ]
+     },
+     "execution_count": 40,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df[df.FastingBS>(df.FastingBS.mean()+3*df.FastingBS.std())]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 41,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Age</th>\n",
+       "      <th>Sex</th>\n",
+       "      <th>ChestPainType</th>\n",
+       "      <th>RestingBP</th>\n",
+       "      <th>Cholesterol</th>\n",
+       "      <th>FastingBS</th>\n",
+       "      <th>RestingECG</th>\n",
+       "      <th>MaxHR</th>\n",
+       "      <th>ExerciseAngina</th>\n",
+       "      <th>Oldpeak</th>\n",
+       "      <th>ST_Slope</th>\n",
+       "      <th>HeartDisease</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>166</th>\n",
+       "      <td>50</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>140</td>\n",
+       "      <td>231</td>\n",
+       "      <td>0</td>\n",
+       "      <td>ST</td>\n",
+       "      <td>140</td>\n",
+       "      <td>Y</td>\n",
+       "      <td>5.0</td>\n",
+       "      <td>Flat</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>702</th>\n",
+       "      <td>59</td>\n",
+       "      <td>M</td>\n",
+       "      <td>TA</td>\n",
+       "      <td>178</td>\n",
+       "      <td>270</td>\n",
+       "      <td>0</td>\n",
+       "      <td>LVH</td>\n",
+       "      <td>145</td>\n",
+       "      <td>N</td>\n",
+       "      <td>4.2</td>\n",
+       "      <td>Down</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>771</th>\n",
+       "      <td>55</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>140</td>\n",
+       "      <td>217</td>\n",
+       "      <td>0</td>\n",
+       "      <td>Normal</td>\n",
+       "      <td>111</td>\n",
+       "      <td>Y</td>\n",
+       "      <td>5.6</td>\n",
+       "      <td>Down</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>791</th>\n",
+       "      <td>51</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>140</td>\n",
+       "      <td>298</td>\n",
+       "      <td>0</td>\n",
+       "      <td>Normal</td>\n",
+       "      <td>122</td>\n",
+       "      <td>Y</td>\n",
+       "      <td>4.2</td>\n",
+       "      <td>Flat</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>850</th>\n",
+       "      <td>62</td>\n",
+       "      <td>F</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>160</td>\n",
+       "      <td>164</td>\n",
+       "      <td>0</td>\n",
+       "      <td>LVH</td>\n",
+       "      <td>145</td>\n",
+       "      <td>N</td>\n",
+       "      <td>6.2</td>\n",
+       "      <td>Down</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>900</th>\n",
+       "      <td>58</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>114</td>\n",
+       "      <td>318</td>\n",
+       "      <td>0</td>\n",
+       "      <td>ST</td>\n",
+       "      <td>140</td>\n",
+       "      <td>N</td>\n",
+       "      <td>4.4</td>\n",
+       "      <td>Down</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "     Age Sex ChestPainType  RestingBP  Cholesterol  FastingBS RestingECG  \\\n",
+       "166   50   M           ASY        140          231          0         ST   \n",
+       "702   59   M            TA        178          270          0        LVH   \n",
+       "771   55   M           ASY        140          217          0     Normal   \n",
+       "791   51   M           ASY        140          298          0     Normal   \n",
+       "850   62   F           ASY        160          164          0        LVH   \n",
+       "900   58   M           ASY        114          318          0         ST   \n",
+       "\n",
+       "     MaxHR ExerciseAngina  Oldpeak ST_Slope  HeartDisease  \n",
+       "166    140              Y      5.0     Flat             1  \n",
+       "702    145              N      4.2     Down             0  \n",
+       "771    111              Y      5.6     Down             1  \n",
+       "791    122              Y      4.2     Flat             1  \n",
+       "850    145              N      6.2     Down             1  \n",
+       "900    140              N      4.4     Down             1  "
+      ]
+     },
+     "execution_count": 41,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df[df.Oldpeak>(df.Oldpeak.mean()+3*df.Oldpeak.std())]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 42,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(909, 12)"
+      ]
+     },
+     "execution_count": 42,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df2 = df1[df1.Oldpeak<=(df1.Oldpeak.mean()+3*df1.Oldpeak.std())]\n",
+    "df2.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 43,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Age</th>\n",
+       "      <th>Sex</th>\n",
+       "      <th>ChestPainType</th>\n",
+       "      <th>RestingBP</th>\n",
+       "      <th>Cholesterol</th>\n",
+       "      <th>FastingBS</th>\n",
+       "      <th>RestingECG</th>\n",
+       "      <th>MaxHR</th>\n",
+       "      <th>ExerciseAngina</th>\n",
+       "      <th>Oldpeak</th>\n",
+       "      <th>ST_Slope</th>\n",
+       "      <th>HeartDisease</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>109</th>\n",
+       "      <td>39</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ATA</td>\n",
+       "      <td>190</td>\n",
+       "      <td>241</td>\n",
+       "      <td>0</td>\n",
+       "      <td>Normal</td>\n",
+       "      <td>106</td>\n",
+       "      <td>N</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>Up</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>241</th>\n",
+       "      <td>54</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>200</td>\n",
+       "      <td>198</td>\n",
+       "      <td>0</td>\n",
+       "      <td>Normal</td>\n",
+       "      <td>142</td>\n",
+       "      <td>Y</td>\n",
+       "      <td>2.0</td>\n",
+       "      <td>Flat</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>365</th>\n",
+       "      <td>64</td>\n",
+       "      <td>F</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>200</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>Normal</td>\n",
+       "      <td>140</td>\n",
+       "      <td>Y</td>\n",
+       "      <td>1.0</td>\n",
+       "      <td>Flat</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>399</th>\n",
+       "      <td>61</td>\n",
+       "      <td>M</td>\n",
+       "      <td>NAP</td>\n",
+       "      <td>200</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>ST</td>\n",
+       "      <td>70</td>\n",
+       "      <td>N</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>Flat</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>592</th>\n",
+       "      <td>61</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>190</td>\n",
+       "      <td>287</td>\n",
+       "      <td>1</td>\n",
+       "      <td>LVH</td>\n",
+       "      <td>150</td>\n",
+       "      <td>Y</td>\n",
+       "      <td>2.0</td>\n",
+       "      <td>Down</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>732</th>\n",
+       "      <td>56</td>\n",
+       "      <td>F</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>200</td>\n",
+       "      <td>288</td>\n",
+       "      <td>1</td>\n",
+       "      <td>LVH</td>\n",
+       "      <td>133</td>\n",
+       "      <td>Y</td>\n",
+       "      <td>4.0</td>\n",
+       "      <td>Down</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>759</th>\n",
+       "      <td>54</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ATA</td>\n",
+       "      <td>192</td>\n",
+       "      <td>283</td>\n",
+       "      <td>0</td>\n",
+       "      <td>LVH</td>\n",
+       "      <td>195</td>\n",
+       "      <td>N</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>Up</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "     Age Sex ChestPainType  RestingBP  Cholesterol  FastingBS RestingECG  \\\n",
+       "109   39   M           ATA        190          241          0     Normal   \n",
+       "241   54   M           ASY        200          198          0     Normal   \n",
+       "365   64   F           ASY        200            0          0     Normal   \n",
+       "399   61   M           NAP        200            0          1         ST   \n",
+       "592   61   M           ASY        190          287          1        LVH   \n",
+       "732   56   F           ASY        200          288          1        LVH   \n",
+       "759   54   M           ATA        192          283          0        LVH   \n",
+       "\n",
+       "     MaxHR ExerciseAngina  Oldpeak ST_Slope  HeartDisease  \n",
+       "109    106              N      0.0       Up             0  \n",
+       "241    142              Y      2.0     Flat             1  \n",
+       "365    140              Y      1.0     Flat             1  \n",
+       "399     70              N      0.0     Flat             1  \n",
+       "592    150              Y      2.0     Down             1  \n",
+       "732    133              Y      4.0     Down             1  \n",
+       "759    195              N      0.0       Up             1  "
+      ]
+     },
+     "execution_count": 43,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df[df.RestingBP>(df.RestingBP.mean()+3*df.RestingBP.std())]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 44,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(902, 12)"
+      ]
+     },
+     "execution_count": 44,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df3 = df2[df2.RestingBP<=(df2.RestingBP.mean()+3*df2.RestingBP.std())]\n",
+    "df3.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 45,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array(['ATA', 'NAP', 'ASY', 'TA'], dtype=object)"
+      ]
+     },
+     "execution_count": 45,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.ChestPainType.unique()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 46,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array(['Normal', 'ST', 'LVH'], dtype=object)"
+      ]
+     },
+     "execution_count": 46,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.RestingECG.unique()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 47,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array(['N', 'Y'], dtype=object)"
+      ]
+     },
+     "execution_count": 47,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.ExerciseAngina.unique()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 48,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array(['Up', 'Flat', 'Down'], dtype=object)"
+      ]
+     },
+     "execution_count": 48,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.ST_Slope.unique()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Handle text columns using label encoding and one hot encoding</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 49,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Age</th>\n",
+       "      <th>Sex</th>\n",
+       "      <th>ChestPainType</th>\n",
+       "      <th>RestingBP</th>\n",
+       "      <th>Cholesterol</th>\n",
+       "      <th>FastingBS</th>\n",
+       "      <th>RestingECG</th>\n",
+       "      <th>MaxHR</th>\n",
+       "      <th>ExerciseAngina</th>\n",
+       "      <th>Oldpeak</th>\n",
+       "      <th>ST_Slope</th>\n",
+       "      <th>HeartDisease</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>40</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ATA</td>\n",
+       "      <td>140</td>\n",
+       "      <td>289</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>172</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>49</td>\n",
+       "      <td>F</td>\n",
+       "      <td>NAP</td>\n",
+       "      <td>160</td>\n",
+       "      <td>180</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>156</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1.0</td>\n",
+       "      <td>2</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>37</td>\n",
+       "      <td>M</td>\n",
+       "      <td>ATA</td>\n",
+       "      <td>130</td>\n",
+       "      <td>283</td>\n",
+       "      <td>0</td>\n",
+       "      <td>2</td>\n",
+       "      <td>98</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3</th>\n",
+       "      <td>48</td>\n",
+       "      <td>F</td>\n",
+       "      <td>ASY</td>\n",
+       "      <td>138</td>\n",
+       "      <td>214</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>108</td>\n",
+       "      <td>1</td>\n",
+       "      <td>1.5</td>\n",
+       "      <td>2</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4</th>\n",
+       "      <td>54</td>\n",
+       "      <td>M</td>\n",
+       "      <td>NAP</td>\n",
+       "      <td>150</td>\n",
+       "      <td>195</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>122</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "   Age Sex ChestPainType  RestingBP  Cholesterol  FastingBS  RestingECG  \\\n",
+       "0   40   M           ATA        140          289          0           1   \n",
+       "1   49   F           NAP        160          180          0           1   \n",
+       "2   37   M           ATA        130          283          0           2   \n",
+       "3   48   F           ASY        138          214          0           1   \n",
+       "4   54   M           NAP        150          195          0           1   \n",
+       "\n",
+       "   MaxHR  ExerciseAngina  Oldpeak  ST_Slope  HeartDisease  \n",
+       "0    172               0      0.0         3             0  \n",
+       "1    156               0      1.0         2             1  \n",
+       "2     98               0      0.0         3             0  \n",
+       "3    108               1      1.5         2             1  \n",
+       "4    122               0      0.0         3             0  "
+      ]
+     },
+     "execution_count": 49,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df4 = df3.copy()\n",
+    "df4.ExerciseAngina.replace(\n",
+    "    {\n",
+    "        'N': 0,\n",
+    "        'Y': 1\n",
+    "    },\n",
+    "    inplace=True)\n",
+    "\n",
+    "df4.ST_Slope.replace(\n",
+    "    {\n",
+    "        'Down': 1,\n",
+    "        'Flat': 2,\n",
+    "        'Up': 3\n",
+    "    },\n",
+    "    inplace=True\n",
+    ")\n",
+    "\n",
+    "df4.RestingECG.replace(\n",
+    "    {\n",
+    "        'Normal': 1,\n",
+    "        'ST': 2,\n",
+    "        'LVH': 3\n",
+    "    },\n",
+    "    inplace=True)\n",
+    "\n",
+    "df4.head()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 50,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Age</th>\n",
+       "      <th>RestingBP</th>\n",
+       "      <th>Cholesterol</th>\n",
+       "      <th>FastingBS</th>\n",
+       "      <th>RestingECG</th>\n",
+       "      <th>MaxHR</th>\n",
+       "      <th>ExerciseAngina</th>\n",
+       "      <th>Oldpeak</th>\n",
+       "      <th>ST_Slope</th>\n",
+       "      <th>HeartDisease</th>\n",
+       "      <th>Sex_M</th>\n",
+       "      <th>ChestPainType_ATA</th>\n",
+       "      <th>ChestPainType_NAP</th>\n",
+       "      <th>ChestPainType_TA</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>40</td>\n",
+       "      <td>140</td>\n",
+       "      <td>289</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>172</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>49</td>\n",
+       "      <td>160</td>\n",
+       "      <td>180</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>156</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1.0</td>\n",
+       "      <td>2</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>37</td>\n",
+       "      <td>130</td>\n",
+       "      <td>283</td>\n",
+       "      <td>0</td>\n",
+       "      <td>2</td>\n",
+       "      <td>98</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3</th>\n",
+       "      <td>48</td>\n",
+       "      <td>138</td>\n",
+       "      <td>214</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>108</td>\n",
+       "      <td>1</td>\n",
+       "      <td>1.5</td>\n",
+       "      <td>2</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4</th>\n",
+       "      <td>54</td>\n",
+       "      <td>150</td>\n",
+       "      <td>195</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>122</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "   Age  RestingBP  Cholesterol  FastingBS  RestingECG  MaxHR  ExerciseAngina  \\\n",
+       "0   40        140          289          0           1    172               0   \n",
+       "1   49        160          180          0           1    156               0   \n",
+       "2   37        130          283          0           2     98               0   \n",
+       "3   48        138          214          0           1    108               1   \n",
+       "4   54        150          195          0           1    122               0   \n",
+       "\n",
+       "   Oldpeak  ST_Slope  HeartDisease  Sex_M  ChestPainType_ATA  \\\n",
+       "0      0.0         3             0      1                  1   \n",
+       "1      1.0         2             1      0                  0   \n",
+       "2      0.0         3             0      1                  1   \n",
+       "3      1.5         2             1      0                  0   \n",
+       "4      0.0         3             0      1                  0   \n",
+       "\n",
+       "   ChestPainType_NAP  ChestPainType_TA  \n",
+       "0                  0                 0  \n",
+       "1                  1                 0  \n",
+       "2                  0                 0  \n",
+       "3                  0                 0  \n",
+       "4                  1                 0  "
+      ]
+     },
+     "execution_count": 50,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df5 = pd.get_dummies(df4, drop_first=True)\n",
+    "df5.head()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 51,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Age</th>\n",
+       "      <th>RestingBP</th>\n",
+       "      <th>Cholesterol</th>\n",
+       "      <th>FastingBS</th>\n",
+       "      <th>RestingECG</th>\n",
+       "      <th>MaxHR</th>\n",
+       "      <th>ExerciseAngina</th>\n",
+       "      <th>Oldpeak</th>\n",
+       "      <th>ST_Slope</th>\n",
+       "      <th>Sex_M</th>\n",
+       "      <th>ChestPainType_ATA</th>\n",
+       "      <th>ChestPainType_NAP</th>\n",
+       "      <th>ChestPainType_TA</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>40</td>\n",
+       "      <td>140</td>\n",
+       "      <td>289</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>172</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>1</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>49</td>\n",
+       "      <td>160</td>\n",
+       "      <td>180</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>156</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1.0</td>\n",
+       "      <td>2</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>37</td>\n",
+       "      <td>130</td>\n",
+       "      <td>283</td>\n",
+       "      <td>0</td>\n",
+       "      <td>2</td>\n",
+       "      <td>98</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>1</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3</th>\n",
+       "      <td>48</td>\n",
+       "      <td>138</td>\n",
+       "      <td>214</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>108</td>\n",
+       "      <td>1</td>\n",
+       "      <td>1.5</td>\n",
+       "      <td>2</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4</th>\n",
+       "      <td>54</td>\n",
+       "      <td>150</td>\n",
+       "      <td>195</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>122</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0.0</td>\n",
+       "      <td>3</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "      <td>1</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "   Age  RestingBP  Cholesterol  FastingBS  RestingECG  MaxHR  ExerciseAngina  \\\n",
+       "0   40        140          289          0           1    172               0   \n",
+       "1   49        160          180          0           1    156               0   \n",
+       "2   37        130          283          0           2     98               0   \n",
+       "3   48        138          214          0           1    108               1   \n",
+       "4   54        150          195          0           1    122               0   \n",
+       "\n",
+       "   Oldpeak  ST_Slope  Sex_M  ChestPainType_ATA  ChestPainType_NAP  \\\n",
+       "0      0.0         3      1                  1                  0   \n",
+       "1      1.0         2      0                  0                  1   \n",
+       "2      0.0         3      1                  1                  0   \n",
+       "3      1.5         2      0                  0                  0   \n",
+       "4      0.0         3      1                  0                  1   \n",
+       "\n",
+       "   ChestPainType_TA  \n",
+       "0                 0  \n",
+       "1                 0  \n",
+       "2                 0  \n",
+       "3                 0  \n",
+       "4                 0  "
+      ]
+     },
+     "execution_count": 51,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "X = df5.drop(\"HeartDisease\",axis='columns')\n",
+    "y = df5.HeartDisease\n",
+    "\n",
+    "X.head()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 52,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array([[-1.42896269,  0.46089071,  0.85238015, ...,  2.06757196,\n",
+       "        -0.53547478, -0.22914788],\n",
+       "       [-0.47545956,  1.5925728 , -0.16132855, ..., -0.4836591 ,\n",
+       "         1.86750159, -0.22914788],\n",
+       "       [-1.74679706, -0.10495034,  0.79657967, ...,  2.06757196,\n",
+       "        -0.53547478, -0.22914788],\n",
+       "       ...,\n",
+       "       [ 0.37209878, -0.10495034, -0.61703246, ..., -0.4836591 ,\n",
+       "        -0.53547478, -0.22914788],\n",
+       "       [ 0.37209878, -0.10495034,  0.35947592, ...,  2.06757196,\n",
+       "        -0.53547478, -0.22914788],\n",
+       "       [-1.64085227,  0.3477225 , -0.20782894, ..., -0.4836591 ,\n",
+       "         1.86750159, -0.22914788]])"
+      ]
+     },
+     "execution_count": 52,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from sklearn.preprocessing import StandardScaler\n",
+    "\n",
+    "scaler = StandardScaler()\n",
+    "X_scaled = scaler.fit_transform(X)\n",
+    "X_scaled"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 53,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from sklearn.model_selection import train_test_split\n",
+    "\n",
+    "X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=20)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 54,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(721, 13)"
+      ]
+     },
+     "execution_count": 54,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "X_train.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 55,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(181, 13)"
+      ]
+     },
+     "execution_count": 55,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "X_test.shape"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Train a model using standalone support vector machine and then using bagging</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 56,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.6906445672191528"
+      ]
+     },
+     "execution_count": 56,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from sklearn.svm import SVC\n",
+    "from sklearn.model_selection import cross_val_score\n",
+    "\n",
+    "scores = cross_val_score(SVC(), X, y, cv=5)\n",
+    "scores.mean()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**Use bagging now with svm**"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 59,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.6839656230816453"
+      ]
+     },
+     "execution_count": 59,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from sklearn.ensemble import BaggingClassifier\n",
+    "\n",
+    "bag_model = BaggingClassifier(base_estimator=SVC(), n_estimators=100, max_samples=0.8, random_state=0)\n",
+    "scores = cross_val_score(bag_model, X, y, cv=5)\n",
+    "scores.mean()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "As you can see above, using bagging in case of SVM doesn't make much difference in terms of model accuracy. Bagging is effective when we have high variance and instable model such as decision tree. Let's explore how bagging changes the performance for a decision tree classifier."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Train a model using decision tree and then using bagging</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 61,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.7193984039287907"
+      ]
+     },
+     "execution_count": 61,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from sklearn.tree import DecisionTreeClassifier\n",
+    "\n",
+    "scores = cross_val_score(DecisionTreeClassifier(random_state=0), X, y, cv=5)\n",
+    "scores.mean()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**Use bagging now with decision tree**"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 68,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.8037016574585636"
+      ]
+     },
+     "execution_count": 68,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "bag_model = BaggingClassifier(\n",
+    "    base_estimator=DecisionTreeClassifier(random_state=0), \n",
+    "    n_estimators=100, \n",
+    "    max_samples=0.9, \n",
+    "    oob_score=True,\n",
+    "    random_state=0\n",
+    ")\n",
+    "\n",
+    "scores = cross_val_score(bag_model, X, y, cv=5)\n",
+    "scores.mean()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**You can see that with bagging the score improved from 71.93% to 80.37%**"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Train a model using Random Forest which itself uses bagging underneath</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 69,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.8170288520564764"
+      ]
+     },
+     "execution_count": 69,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from sklearn.ensemble import RandomForestClassifier\n",
+    "\n",
+    "scores = cross_val_score(RandomForestClassifier(), X, y, cv=5)\n",
+    "scores.mean()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**Random forest gave even a better performance with 81.7% as score. Underneath it used bagging where it sampled not only data rows but also the columns (or features)**"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/ML/19_Bagging/Exercise/heart.csv b/ML/19_Bagging/Exercise/heart.csv
new file mode 100644
index 00000000..5d9bce69
--- /dev/null
+++ b/ML/19_Bagging/Exercise/heart.csv
@@ -0,0 +1,919 @@
+Age,Sex,ChestPainType,RestingBP,Cholesterol,FastingBS,RestingECG,MaxHR,ExerciseAngina,Oldpeak,ST_Slope,HeartDisease
+40,M,ATA,140,289,0,Normal,172,N,0,Up,0
+49,F,NAP,160,180,0,Normal,156,N,1,Flat,1
+37,M,ATA,130,283,0,ST,98,N,0,Up,0
+48,F,ASY,138,214,0,Normal,108,Y,1.5,Flat,1
+54,M,NAP,150,195,0,Normal,122,N,0,Up,0
+39,M,NAP,120,339,0,Normal,170,N,0,Up,0
+45,F,ATA,130,237,0,Normal,170,N,0,Up,0
+54,M,ATA,110,208,0,Normal,142,N,0,Up,0
+37,M,ASY,140,207,0,Normal,130,Y,1.5,Flat,1
+48,F,ATA,120,284,0,Normal,120,N,0,Up,0
+37,F,NAP,130,211,0,Normal,142,N,0,Up,0
+58,M,ATA,136,164,0,ST,99,Y,2,Flat,1
+39,M,ATA,120,204,0,Normal,145,N,0,Up,0
+49,M,ASY,140,234,0,Normal,140,Y,1,Flat,1
+42,F,NAP,115,211,0,ST,137,N,0,Up,0
+54,F,ATA,120,273,0,Normal,150,N,1.5,Flat,0
+38,M,ASY,110,196,0,Normal,166,N,0,Flat,1
+43,F,ATA,120,201,0,Normal,165,N,0,Up,0
+60,M,ASY,100,248,0,Normal,125,N,1,Flat,1
+36,M,ATA,120,267,0,Normal,160,N,3,Flat,1
+43,F,TA,100,223,0,Normal,142,N,0,Up,0
+44,M,ATA,120,184,0,Normal,142,N,1,Flat,0
+49,F,ATA,124,201,0,Normal,164,N,0,Up,0
+44,M,ATA,150,288,0,Normal,150,Y,3,Flat,1
+40,M,NAP,130,215,0,Normal,138,N,0,Up,0
+36,M,NAP,130,209,0,Normal,178,N,0,Up,0
+53,M,ASY,124,260,0,ST,112,Y,3,Flat,0
+52,M,ATA,120,284,0,Normal,118,N,0,Up,0
+53,F,ATA,113,468,0,Normal,127,N,0,Up,0
+51,M,ATA,125,188,0,Normal,145,N,0,Up,0
+53,M,NAP,145,518,0,Normal,130,N,0,Flat,1
+56,M,NAP,130,167,0,Normal,114,N,0,Up,0
+54,M,ASY,125,224,0,Normal,122,N,2,Flat,1
+41,M,ASY,130,172,0,ST,130,N,2,Flat,1
+43,F,ATA,150,186,0,Normal,154,N,0,Up,0
+32,M,ATA,125,254,0,Normal,155,N,0,Up,0
+65,M,ASY,140,306,1,Normal,87,Y,1.5,Flat,1
+41,F,ATA,110,250,0,ST,142,N,0,Up,0
+48,F,ATA,120,177,1,ST,148,N,0,Up,0
+48,F,ASY,150,227,0,Normal,130,Y,1,Flat,0
+54,F,ATA,150,230,0,Normal,130,N,0,Up,0
+54,F,NAP,130,294,0,ST,100,Y,0,Flat,1
+35,M,ATA,150,264,0,Normal,168,N,0,Up,0
+52,M,NAP,140,259,0,ST,170,N,0,Up,0
+43,M,ASY,120,175,0,Normal,120,Y,1,Flat,1
+59,M,NAP,130,318,0,Normal,120,Y,1,Flat,0
+37,M,ASY,120,223,0,Normal,168,N,0,Up,0
+50,M,ATA,140,216,0,Normal,170,N,0,Up,0
+36,M,NAP,112,340,0,Normal,184,N,1,Flat,0
+41,M,ASY,110,289,0,Normal,170,N,0,Flat,1
+50,M,ASY,130,233,0,Normal,121,Y,2,Flat,1
+47,F,ASY,120,205,0,Normal,98,Y,2,Flat,1
+45,M,ATA,140,224,1,Normal,122,N,0,Up,0
+41,F,ATA,130,245,0,Normal,150,N,0,Up,0
+52,F,ASY,130,180,0,Normal,140,Y,1.5,Flat,0
+51,F,ATA,160,194,0,Normal,170,N,0,Up,0
+31,M,ASY,120,270,0,Normal,153,Y,1.5,Flat,1
+58,M,NAP,130,213,0,ST,140,N,0,Flat,1
+54,M,ASY,150,365,0,ST,134,N,1,Up,0
+52,M,ASY,112,342,0,ST,96,Y,1,Flat,1
+49,M,ATA,100,253,0,Normal,174,N,0,Up,0
+43,F,NAP,150,254,0,Normal,175,N,0,Up,0
+45,M,ASY,140,224,0,Normal,144,N,0,Up,0
+46,M,ASY,120,277,0,Normal,125,Y,1,Flat,1
+50,F,ATA,110,202,0,Normal,145,N,0,Up,0
+37,F,ATA,120,260,0,Normal,130,N,0,Up,0
+45,F,ASY,132,297,0,Normal,144,N,0,Up,0
+32,M,ATA,110,225,0,Normal,184,N,0,Up,0
+52,M,ASY,160,246,0,ST,82,Y,4,Flat,1
+44,M,ASY,150,412,0,Normal,170,N,0,Up,0
+57,M,ATA,140,265,0,ST,145,Y,1,Flat,1
+44,M,ATA,130,215,0,Normal,135,N,0,Up,0
+52,M,ASY,120,182,0,Normal,150,N,0,Flat,1
+44,F,ASY,120,218,0,ST,115,N,0,Up,0
+55,M,ASY,140,268,0,Normal,128,Y,1.5,Flat,1
+46,M,NAP,150,163,0,Normal,116,N,0,Up,0
+32,M,ASY,118,529,0,Normal,130,N,0,Flat,1
+35,F,ASY,140,167,0,Normal,150,N,0,Up,0
+52,M,ATA,140,100,0,Normal,138,Y,0,Up,0
+49,M,ASY,130,206,0,Normal,170,N,0,Flat,1
+55,M,NAP,110,277,0,Normal,160,N,0,Up,0
+54,M,ATA,120,238,0,Normal,154,N,0,Up,0
+63,M,ASY,150,223,0,Normal,115,N,0,Flat,1
+52,M,ATA,160,196,0,Normal,165,N,0,Up,0
+56,M,ASY,150,213,1,Normal,125,Y,1,Flat,1
+66,M,ASY,140,139,0,Normal,94,Y,1,Flat,1
+65,M,ASY,170,263,1,Normal,112,Y,2,Flat,1
+53,F,ATA,140,216,0,Normal,142,Y,2,Flat,0
+43,M,TA,120,291,0,ST,155,N,0,Flat,1
+55,M,ASY,140,229,0,Normal,110,Y,0.5,Flat,0
+49,F,ATA,110,208,0,Normal,160,N,0,Up,0
+39,M,ASY,130,307,0,Normal,140,N,0,Up,0
+52,F,ATA,120,210,0,Normal,148,N,0,Up,0
+48,M,ASY,160,329,0,Normal,92,Y,1.5,Flat,1
+39,F,NAP,110,182,0,ST,180,N,0,Up,0
+58,M,ASY,130,263,0,Normal,140,Y,2,Flat,1
+43,M,ATA,142,207,0,Normal,138,N,0,Up,0
+39,M,NAP,160,147,1,Normal,160,N,0,Up,0
+56,M,ASY,120,85,0,Normal,140,N,0,Up,0
+41,M,ATA,125,269,0,Normal,144,N,0,Up,0
+65,M,ASY,130,275,0,ST,115,Y,1,Flat,1
+51,M,ASY,130,179,0,Normal,100,N,0,Up,0
+40,F,ASY,150,392,0,Normal,130,N,2,Flat,1
+40,M,ASY,120,466,1,Normal,152,Y,1,Flat,1
+46,M,ASY,118,186,0,Normal,124,N,0,Flat,1
+57,M,ATA,140,260,1,Normal,140,N,0,Up,0
+48,F,ASY,120,254,0,ST,110,N,0,Up,0
+34,M,ATA,150,214,0,ST,168,N,0,Up,0
+50,M,ASY,140,129,0,Normal,135,N,0,Up,0
+39,M,ATA,190,241,0,Normal,106,N,0,Up,0
+59,F,ATA,130,188,0,Normal,124,N,1,Flat,0
+57,M,ASY,150,255,0,Normal,92,Y,3,Flat,1
+47,M,ASY,140,276,1,Normal,125,Y,0,Up,0
+38,M,ATA,140,297,0,Normal,150,N,0,Up,0
+49,F,NAP,130,207,0,ST,135,N,0,Up,0
+33,F,ASY,100,246,0,Normal,150,Y,1,Flat,1
+38,M,ASY,120,282,0,Normal,170,N,0,Flat,1
+59,F,ASY,130,338,1,ST,130,Y,1.5,Flat,1
+35,F,TA,120,160,0,ST,185,N,0,Up,0
+34,M,TA,140,156,0,Normal,180,N,0,Flat,1
+47,F,NAP,135,248,1,Normal,170,N,0,Flat,1
+52,F,NAP,125,272,0,Normal,139,N,0,Up,0
+46,M,ASY,110,240,0,ST,140,N,0,Up,0
+58,F,ATA,180,393,0,Normal,110,Y,1,Flat,1
+58,M,ATA,130,230,0,Normal,150,N,0,Up,0
+54,M,ATA,120,246,0,Normal,110,N,0,Up,0
+34,F,ATA,130,161,0,Normal,190,N,0,Up,0
+48,F,ASY,108,163,0,Normal,175,N,2,Up,0
+54,F,ATA,120,230,1,Normal,140,N,0,Up,0
+42,M,NAP,120,228,0,Normal,152,Y,1.5,Flat,0
+38,M,NAP,145,292,0,Normal,130,N,0,Up,0
+46,M,ASY,110,202,0,Normal,150,Y,0,Flat,1
+56,M,ASY,170,388,0,ST,122,Y,2,Flat,1
+56,M,ASY,150,230,0,ST,124,Y,1.5,Flat,1
+61,F,ASY,130,294,0,ST,120,Y,1,Flat,0
+49,M,NAP,115,265,0,Normal,175,N,0,Flat,1
+43,F,ATA,120,215,0,ST,175,N,0,Up,0
+39,M,ATA,120,241,0,ST,146,N,2,Up,0
+54,M,ASY,140,166,0,Normal,118,Y,0,Flat,1
+43,M,ASY,150,247,0,Normal,130,Y,2,Flat,1
+52,M,ASY,160,331,0,Normal,94,Y,2.5,Flat,1
+50,M,ASY,140,341,0,ST,125,Y,2.5,Flat,1
+47,M,ASY,160,291,0,ST,158,Y,3,Flat,1
+53,M,ASY,140,243,0,Normal,155,N,0,Up,0
+56,F,ATA,120,279,0,Normal,150,N,1,Flat,1
+39,M,ASY,110,273,0,Normal,132,N,0,Up,0
+42,M,ATA,120,198,0,Normal,155,N,0,Up,0
+43,F,ATA,120,249,0,ST,176,N,0,Up,0
+50,M,ATA,120,168,0,Normal,160,N,0,Up,0
+54,M,ASY,130,603,1,Normal,125,Y,1,Flat,1
+39,M,ATA,130,215,0,Normal,120,N,0,Up,0
+48,M,ATA,100,159,0,Normal,100,N,0,Up,0
+40,M,ATA,130,275,0,Normal,150,N,0,Up,0
+55,M,ASY,120,270,0,Normal,140,N,0,Up,0
+41,M,ATA,120,291,0,ST,160,N,0,Up,0
+56,M,ASY,155,342,1,Normal,150,Y,3,Flat,1
+38,M,ASY,110,190,0,Normal,150,Y,1,Flat,1
+49,M,ASY,140,185,0,Normal,130,N,0,Up,0
+44,M,ASY,130,290,0,Normal,100,Y,2,Flat,1
+54,M,ATA,160,195,0,ST,130,N,1,Up,0
+59,M,ASY,140,264,1,LVH,119,Y,0,Flat,1
+49,M,ASY,128,212,0,Normal,96,Y,0,Flat,1
+47,M,ATA,160,263,0,Normal,174,N,0,Up,0
+42,M,ATA,120,196,0,Normal,150,N,0,Up,0
+52,F,ATA,140,225,0,Normal,140,N,0,Up,0
+46,M,TA,140,272,1,Normal,175,N,2,Flat,1
+50,M,ASY,140,231,0,ST,140,Y,5,Flat,1
+48,M,ATA,140,238,0,Normal,118,N,0,Up,0
+58,M,ASY,135,222,0,Normal,100,N,0,Up,0
+58,M,NAP,140,179,0,Normal,160,N,0,Up,0
+29,M,ATA,120,243,0,Normal,160,N,0,Up,0
+40,M,NAP,140,235,0,Normal,188,N,0,Up,0
+53,M,ATA,140,320,0,Normal,162,N,0,Up,0
+49,M,NAP,140,187,0,Normal,172,N,0,Up,0
+52,M,ASY,140,266,0,Normal,134,Y,2,Flat,1
+43,M,ASY,140,288,0,Normal,135,Y,2,Flat,1
+54,M,ASY,140,216,0,Normal,105,N,1.5,Flat,1
+59,M,ATA,140,287,0,Normal,150,N,0,Up,0
+37,M,NAP,130,194,0,Normal,150,N,0,Up,0
+46,F,ASY,130,238,0,Normal,90,N,0,Up,0
+52,M,ASY,130,225,0,Normal,120,Y,2,Flat,1
+51,M,ATA,130,224,0,Normal,150,N,0,Up,0
+52,M,ASY,140,404,0,Normal,124,Y,2,Flat,1
+46,M,ASY,110,238,0,ST,140,Y,1,Flat,0
+54,F,ATA,160,312,0,Normal,130,N,0,Up,0
+58,M,NAP,160,211,1,ST,92,N,0,Flat,1
+58,M,ATA,130,251,0,Normal,110,N,0,Up,0
+41,M,ASY,120,237,1,Normal,138,Y,1,Flat,1
+50,F,ASY,120,328,0,Normal,110,Y,1,Flat,0
+53,M,ASY,180,285,0,ST,120,Y,1.5,Flat,1
+46,M,ASY,180,280,0,ST,120,N,0,Up,0
+50,M,ATA,170,209,0,ST,116,N,0,Up,0
+48,M,ATA,130,245,0,Normal,160,N,0,Up,0
+45,M,NAP,135,192,0,Normal,110,N,0,Up,0
+41,F,ATA,125,184,0,Normal,180,N,0,Up,0
+62,F,TA,160,193,0,Normal,116,N,0,Up,0
+49,M,ASY,120,297,0,Normal,132,N,1,Flat,0
+42,M,ATA,150,268,0,Normal,136,N,0,Up,0
+53,M,ASY,120,246,0,Normal,116,Y,0,Flat,1
+57,F,TA,130,308,0,Normal,98,N,1,Flat,0
+47,M,TA,110,249,0,Normal,150,N,0,Up,0
+46,M,NAP,120,230,0,Normal,150,N,0,Up,0
+42,M,NAP,160,147,0,Normal,146,N,0,Up,0
+31,F,ATA,100,219,0,ST,150,N,0,Up,0
+56,M,ATA,130,184,0,Normal,100,N,0,Up,0
+50,M,ASY,150,215,0,Normal,140,Y,0,Up,0
+35,M,ATA,120,308,0,LVH,180,N,0,Up,0
+35,M,ATA,110,257,0,Normal,140,N,0,Flat,1
+28,M,ATA,130,132,0,LVH,185,N,0,Up,0
+54,M,ASY,125,216,0,Normal,140,N,0,Flat,1
+48,M,ASY,106,263,1,Normal,110,N,0,Flat,1
+50,F,NAP,140,288,0,Normal,140,Y,0,Flat,1
+56,M,NAP,130,276,0,Normal,128,Y,1,Up,0
+56,F,NAP,130,219,0,ST,164,N,0,Up,0
+47,M,ASY,150,226,0,Normal,98,Y,1.5,Flat,1
+30,F,TA,170,237,0,ST,170,N,0,Up,0
+39,M,ASY,110,280,0,Normal,150,N,0,Flat,1
+54,M,NAP,120,217,0,Normal,137,N,0,Up,0
+55,M,ATA,140,196,0,Normal,150,N,0,Up,0
+29,M,ATA,140,263,0,Normal,170,N,0,Up,0
+46,M,ASY,130,222,0,Normal,112,N,0,Flat,1
+51,F,ASY,160,303,0,Normal,150,Y,1,Flat,1
+48,F,NAP,120,195,0,Normal,125,N,0,Up,0
+33,M,NAP,120,298,0,Normal,185,N,0,Up,0
+55,M,ATA,120,256,1,Normal,137,N,0,Up,0
+50,M,ASY,145,264,0,Normal,150,N,0,Flat,1
+53,M,NAP,120,195,0,Normal,140,N,0,Up,0
+38,M,ASY,92,117,0,Normal,134,Y,2.5,Flat,1
+41,M,ATA,120,295,0,Normal,170,N,0,Up,0
+37,F,ASY,130,173,0,ST,184,N,0,Up,0
+37,M,ASY,130,315,0,Normal,158,N,0,Up,0
+40,M,NAP,130,281,0,Normal,167,N,0,Up,0
+38,F,ATA,120,275,0,Normal,129,N,0,Up,0
+41,M,ASY,112,250,0,Normal,142,N,0,Up,0
+54,F,ATA,140,309,0,ST,140,N,0,Up,0
+39,M,ATA,120,200,0,Normal,160,Y,1,Flat,0
+41,M,ASY,120,336,0,Normal,118,Y,3,Flat,1
+55,M,TA,140,295,0,Normal,136,N,0,Flat,1
+48,M,ASY,160,355,0,Normal,99,Y,2,Flat,1
+48,M,ASY,160,193,0,Normal,102,Y,3,Flat,1
+55,M,ATA,145,326,0,Normal,155,N,0,Up,0
+54,M,ASY,200,198,0,Normal,142,Y,2,Flat,1
+55,M,ATA,160,292,1,Normal,143,Y,2,Flat,1
+43,F,ATA,120,266,0,Normal,118,N,0,Up,0
+48,M,ASY,160,268,0,Normal,103,Y,1,Flat,1
+54,M,TA,120,171,0,Normal,137,N,2,Up,0
+54,M,NAP,120,237,0,Normal,150,Y,1.5,Flat,1
+48,M,ASY,122,275,1,ST,150,Y,2,Down,1
+45,M,ASY,130,219,0,ST,130,Y,1,Flat,1
+49,M,ASY,130,341,0,Normal,120,Y,1,Flat,1
+44,M,ASY,135,491,0,Normal,135,N,0,Flat,1
+48,M,ASY,120,260,0,Normal,115,N,2,Flat,1
+61,M,ASY,125,292,0,ST,115,Y,0,Up,0
+62,M,ATA,140,271,0,Normal,152,N,1,Up,0
+55,M,ASY,145,248,0,Normal,96,Y,2,Flat,1
+53,F,NAP,120,274,0,Normal,130,N,0,Up,0
+55,F,ATA,130,394,0,LVH,150,N,0,Up,0
+36,M,NAP,150,160,0,Normal,172,N,0,Up,0
+51,F,NAP,150,200,0,Normal,120,N,0.5,Up,0
+55,F,ATA,122,320,0,Normal,155,N,0,Up,0
+46,M,ATA,140,275,0,Normal,165,Y,0,Up,0
+54,F,ATA,120,221,0,Normal,138,N,1,Up,0
+46,M,ASY,120,231,0,Normal,115,Y,0,Flat,1
+59,M,ASY,130,126,0,Normal,125,N,0,Flat,1
+47,M,NAP,140,193,0,Normal,145,Y,1,Flat,1
+54,M,ATA,160,305,0,Normal,175,N,0,Up,0
+52,M,ASY,130,298,0,Normal,110,Y,1,Flat,1
+34,M,ATA,98,220,0,Normal,150,N,0,Up,0
+54,M,ASY,130,242,0,Normal,91,Y,1,Flat,1
+47,F,NAP,130,235,0,Normal,145,N,2,Flat,0
+45,M,ASY,120,225,0,Normal,140,N,0,Up,0
+32,F,ATA,105,198,0,Normal,165,N,0,Up,0
+55,M,ASY,140,201,0,Normal,130,Y,3,Flat,1
+55,M,NAP,120,220,0,LVH,134,N,0,Up,0
+45,F,ATA,180,295,0,Normal,180,N,0,Up,0
+59,M,NAP,180,213,0,Normal,100,N,0,Up,0
+51,M,NAP,135,160,0,Normal,150,N,2,Flat,1
+52,M,ASY,170,223,0,Normal,126,Y,1.5,Flat,1
+57,F,ASY,180,347,0,ST,126,Y,0.8,Flat,0
+54,F,ATA,130,253,0,ST,155,N,0,Up,0
+60,M,NAP,120,246,0,LVH,135,N,0,Up,0
+49,M,ASY,150,222,0,Normal,122,N,2,Flat,1
+51,F,NAP,130,220,0,Normal,160,Y,2,Up,0
+55,F,ATA,110,344,0,ST,160,N,0,Up,0
+42,M,ASY,140,358,0,Normal,170,N,0,Up,0
+51,F,NAP,110,190,0,Normal,120,N,0,Up,0
+59,M,ASY,140,169,0,Normal,140,N,0,Up,0
+53,M,ATA,120,181,0,Normal,132,N,0,Up,0
+48,F,ATA,133,308,0,ST,156,N,2,Up,0
+36,M,ATA,120,166,0,Normal,180,N,0,Up,0
+48,M,NAP,110,211,0,Normal,138,N,0,Up,0
+47,F,ATA,140,257,0,Normal,135,N,1,Up,0
+53,M,ASY,130,182,0,Normal,148,N,0,Up,0
+65,M,ASY,115,0,0,Normal,93,Y,0,Flat,1
+32,M,TA,95,0,1,Normal,127,N,0.7,Up,1
+61,M,ASY,105,0,1,Normal,110,Y,1.5,Up,1
+50,M,ASY,145,0,1,Normal,139,Y,0.7,Flat,1
+57,M,ASY,110,0,1,ST,131,Y,1.4,Up,1
+51,M,ASY,110,0,1,Normal,92,N,0,Flat,1
+47,M,ASY,110,0,1,ST,149,N,2.1,Up,1
+60,M,ASY,160,0,1,Normal,149,N,0.4,Flat,1
+55,M,ATA,140,0,0,ST,150,N,0.2,Up,0
+53,M,ASY,125,0,1,Normal,120,N,1.5,Up,1
+62,F,ASY,120,0,1,ST,123,Y,1.7,Down,1
+51,M,ASY,95,0,1,Normal,126,N,2.2,Flat,1
+51,F,ASY,120,0,1,Normal,127,Y,1.5,Up,1
+55,M,ASY,115,0,1,Normal,155,N,0.1,Flat,1
+53,M,ATA,130,0,0,ST,120,N,0.7,Down,0
+58,M,ASY,115,0,1,Normal,138,N,0.5,Up,1
+57,M,ASY,95,0,1,Normal,182,N,0.7,Down,1
+65,M,ASY,155,0,0,Normal,154,N,1,Up,0
+60,M,ASY,125,0,1,Normal,110,N,0.1,Up,1
+41,M,ASY,125,0,1,Normal,176,N,1.6,Up,1
+34,M,ASY,115,0,1,Normal,154,N,0.2,Up,1
+53,M,ASY,80,0,0,Normal,141,Y,2,Down,0
+74,M,ATA,145,0,1,ST,123,N,1.3,Up,1
+57,M,NAP,105,0,1,Normal,148,N,0.3,Flat,1
+56,M,ASY,140,0,1,Normal,121,Y,1.8,Up,1
+61,M,ASY,130,0,1,Normal,77,N,2.5,Flat,1
+68,M,ASY,145,0,1,Normal,136,N,1.8,Up,1
+59,M,NAP,125,0,1,Normal,175,N,2.6,Flat,1
+63,M,ASY,100,0,1,Normal,109,N,-0.9,Flat,1
+38,F,ASY,105,0,1,Normal,166,N,2.8,Up,1
+62,M,ASY,115,0,1,Normal,128,Y,2.5,Down,1
+46,M,ASY,100,0,1,ST,133,N,-2.6,Flat,1
+42,M,ASY,105,0,1,Normal,128,Y,-1.5,Down,1
+45,M,NAP,110,0,0,Normal,138,N,-0.1,Up,0
+59,M,ASY,125,0,1,Normal,119,Y,0.9,Up,1
+52,M,ASY,95,0,1,Normal,82,Y,0.8,Flat,1
+60,M,ASY,130,0,1,ST,130,Y,1.1,Down,1
+60,M,NAP,115,0,1,Normal,143,N,2.4,Up,1
+56,M,ASY,115,0,1,ST,82,N,-1,Up,1
+38,M,NAP,100,0,0,Normal,179,N,-1.1,Up,0
+40,M,ASY,95,0,1,ST,144,N,0,Up,1
+51,M,ASY,130,0,1,Normal,170,N,-0.7,Up,1
+62,M,TA,120,0,1,LVH,134,N,-0.8,Flat,1
+72,M,NAP,160,0,0,LVH,114,N,1.6,Flat,0
+63,M,ASY,150,0,1,ST,154,N,3.7,Up,1
+63,M,ASY,140,0,1,LVH,149,N,2,Up,1
+64,F,ASY,95,0,1,Normal,145,N,1.1,Down,1
+43,M,ASY,100,0,1,Normal,122,N,1.5,Down,1
+64,M,ASY,110,0,1,Normal,114,Y,1.3,Down,1
+61,M,ASY,110,0,1,Normal,113,N,1.4,Flat,1
+52,M,ASY,130,0,1,Normal,120,N,0,Flat,1
+51,M,ASY,120,0,1,Normal,104,N,0,Flat,1
+69,M,ASY,135,0,0,Normal,130,N,0,Flat,1
+59,M,ASY,120,0,0,Normal,115,N,0,Flat,1
+48,M,ASY,115,0,1,Normal,128,N,0,Flat,1
+69,M,ASY,137,0,0,ST,104,Y,1.6,Flat,1
+36,M,ASY,110,0,1,Normal,125,Y,1,Flat,1
+53,M,ASY,120,0,1,Normal,120,N,0,Flat,1
+43,M,ASY,140,0,0,ST,140,Y,0.5,Up,1
+56,M,ASY,120,0,0,ST,100,Y,-1,Down,1
+58,M,ASY,130,0,0,ST,100,Y,1,Flat,1
+55,M,ASY,120,0,0,ST,92,N,0.3,Up,1
+67,M,TA,145,0,0,LVH,125,N,0,Flat,1
+46,M,ASY,115,0,0,Normal,113,Y,1.5,Flat,1
+53,M,ATA,120,0,0,Normal,95,N,0,Flat,1
+38,M,NAP,115,0,0,Normal,128,Y,0,Flat,1
+53,M,NAP,105,0,0,Normal,115,N,0,Flat,1
+62,M,NAP,160,0,0,Normal,72,Y,0,Flat,1
+47,M,ASY,160,0,0,Normal,124,Y,0,Flat,1
+56,M,NAP,155,0,0,ST,99,N,0,Flat,1
+56,M,ASY,120,0,0,ST,148,N,0,Flat,1
+56,M,NAP,120,0,0,Normal,97,N,0,Flat,0
+64,F,ASY,200,0,0,Normal,140,Y,1,Flat,1
+61,M,ASY,150,0,0,Normal,117,Y,2,Flat,1
+68,M,ASY,135,0,0,ST,120,Y,0,Up,1
+57,M,ASY,140,0,0,Normal,120,Y,2,Flat,1
+63,M,ASY,150,0,0,Normal,86,Y,2,Flat,1
+60,M,ASY,135,0,0,Normal,63,Y,0.5,Up,1
+66,M,ASY,150,0,0,Normal,108,Y,2,Flat,1
+63,M,ASY,185,0,0,Normal,98,Y,0,Up,1
+59,M,ASY,135,0,0,Normal,115,Y,1,Flat,1
+61,M,ASY,125,0,0,Normal,105,Y,0,Down,1
+73,F,NAP,160,0,0,ST,121,N,0,Up,1
+47,M,NAP,155,0,0,Normal,118,Y,1,Flat,1
+65,M,ASY,160,0,1,ST,122,N,1.2,Flat,1
+70,M,ASY,140,0,1,Normal,157,Y,2,Flat,1
+50,M,ASY,120,0,0,ST,156,Y,0,Up,1
+60,M,ASY,160,0,0,ST,99,Y,0.5,Flat,1
+50,M,ASY,115,0,0,Normal,120,Y,0.5,Flat,1
+43,M,ASY,115,0,0,Normal,145,Y,2,Flat,1
+38,F,ASY,110,0,0,Normal,156,N,0,Flat,1
+54,M,ASY,120,0,0,Normal,155,N,0,Flat,1
+61,M,ASY,150,0,0,Normal,105,Y,0,Flat,1
+42,M,ASY,145,0,0,Normal,99,Y,0,Flat,1
+53,M,ASY,130,0,0,LVH,135,Y,1,Flat,1
+55,M,ASY,140,0,0,Normal,83,N,0,Flat,1
+61,M,ASY,160,0,1,ST,145,N,1,Flat,1
+51,M,ASY,140,0,0,Normal,60,N,0,Flat,1
+70,M,ASY,115,0,0,ST,92,Y,0,Flat,1
+61,M,ASY,130,0,0,LVH,115,N,0,Flat,1
+38,M,ASY,150,0,1,Normal,120,Y,0.7,Flat,1
+57,M,ASY,160,0,1,Normal,98,Y,2,Flat,1
+38,M,ASY,135,0,1,Normal,150,N,0,Flat,1
+62,F,TA,140,0,1,Normal,143,N,0,Flat,1
+58,M,ASY,170,0,1,ST,105,Y,0,Flat,1
+52,M,ASY,165,0,1,Normal,122,Y,1,Up,1
+61,M,NAP,200,0,1,ST,70,N,0,Flat,1
+50,F,ASY,160,0,1,Normal,110,N,0,Flat,1
+51,M,ASY,130,0,1,ST,163,N,0,Flat,1
+65,M,ASY,145,0,1,ST,67,N,0.7,Flat,1
+52,M,ASY,135,0,1,Normal,128,Y,2,Flat,1
+47,M,NAP,110,0,1,Normal,120,Y,0,Flat,1
+35,M,ASY,120,0,1,Normal,130,Y,1.2,Flat,1
+57,M,ASY,140,0,1,Normal,100,Y,0,Flat,1
+62,M,ASY,115,0,1,Normal,72,Y,-0.5,Flat,1
+59,M,ASY,110,0,1,Normal,94,N,0,Flat,1
+53,M,NAP,160,0,1,LVH,122,Y,0,Flat,1
+62,M,ASY,150,0,1,ST,78,N,2,Flat,1
+54,M,ASY,180,0,1,Normal,150,N,1.5,Flat,1
+56,M,ASY,125,0,1,Normal,103,Y,1,Flat,1
+56,M,NAP,125,0,1,Normal,98,N,-2,Flat,1
+54,M,ASY,130,0,1,Normal,110,Y,3,Flat,1
+66,F,ASY,155,0,1,Normal,90,N,0,Flat,1
+63,M,ASY,140,260,0,ST,112,Y,3,Flat,1
+44,M,ASY,130,209,0,ST,127,N,0,Up,0
+60,M,ASY,132,218,0,ST,140,Y,1.5,Down,1
+55,M,ASY,142,228,0,ST,149,Y,2.5,Up,1
+66,M,NAP,110,213,1,LVH,99,Y,1.3,Flat,0
+66,M,NAP,120,0,0,ST,120,N,-0.5,Up,0
+65,M,ASY,150,236,1,ST,105,Y,0,Flat,1
+60,M,NAP,180,0,0,ST,140,Y,1.5,Flat,0
+60,M,NAP,120,0,1,Normal,141,Y,2,Up,1
+60,M,ATA,160,267,1,ST,157,N,0.5,Flat,1
+56,M,ATA,126,166,0,ST,140,N,0,Up,0
+59,M,ASY,140,0,0,ST,117,Y,1,Flat,1
+62,M,ASY,110,0,0,Normal,120,Y,0.5,Flat,1
+63,M,NAP,133,0,0,LVH,120,Y,1,Flat,1
+57,M,ASY,128,0,1,ST,148,Y,1,Flat,1
+62,M,ASY,120,220,0,ST,86,N,0,Up,0
+63,M,ASY,170,177,0,Normal,84,Y,2.5,Down,1
+46,M,ASY,110,236,0,Normal,125,Y,2,Flat,1
+63,M,ASY,126,0,0,ST,120,N,1.5,Down,0
+60,M,ASY,152,0,0,ST,118,Y,0,Up,0
+58,M,ASY,116,0,0,Normal,124,N,1,Up,1
+64,M,ASY,120,0,1,ST,106,N,2,Flat,1
+63,M,NAP,130,0,0,ST,111,Y,0,Flat,1
+74,M,NAP,138,0,0,Normal,116,N,0.2,Up,0
+52,M,NAP,128,0,0,ST,180,N,3,Up,1
+69,M,ASY,130,0,1,ST,129,N,1,Flat,1
+51,M,ASY,128,0,1,ST,125,Y,1.2,Flat,1
+60,M,ASY,130,186,1,ST,140,Y,0.5,Flat,1
+56,M,ASY,120,100,0,Normal,120,Y,1.5,Flat,1
+55,M,NAP,136,228,0,ST,124,Y,1.6,Flat,1
+54,M,ASY,130,0,0,ST,117,Y,1.4,Flat,1
+77,M,ASY,124,171,0,ST,110,Y,2,Up,1
+63,M,ASY,160,230,1,Normal,105,Y,1,Flat,1
+55,M,NAP,0,0,0,Normal,155,N,1.5,Flat,1
+52,M,NAP,122,0,0,Normal,110,Y,2,Down,1
+64,M,ASY,144,0,0,ST,122,Y,1,Flat,1
+60,M,ASY,140,281,0,ST,118,Y,1.5,Flat,1
+60,M,ASY,120,0,0,Normal,133,Y,2,Up,0
+58,M,ASY,136,203,1,Normal,123,Y,1.2,Flat,1
+59,M,ASY,154,0,0,ST,131,Y,1.5,Up,0
+61,M,NAP,120,0,0,Normal,80,Y,0,Flat,1
+40,M,ASY,125,0,1,Normal,165,N,0,Flat,1
+61,M,ASY,134,0,1,ST,86,N,1.5,Flat,1
+41,M,ASY,104,0,0,ST,111,N,0,Up,0
+57,M,ASY,139,277,1,ST,118,Y,1.9,Flat,1
+63,M,ASY,136,0,0,Normal,84,Y,0,Flat,1
+59,M,ASY,122,233,0,Normal,117,Y,1.3,Down,1
+51,M,ASY,128,0,0,Normal,107,N,0,Up,0
+59,M,NAP,131,0,0,Normal,128,Y,2,Down,1
+42,M,NAP,134,240,0,Normal,160,N,0,Up,0
+55,M,NAP,120,0,0,ST,125,Y,2.5,Flat,1
+63,F,ATA,132,0,0,Normal,130,N,0.1,Up,0
+62,M,ASY,152,153,0,ST,97,Y,1.6,Up,1
+56,M,ATA,124,224,1,Normal,161,N,2,Flat,0
+53,M,ASY,126,0,0,Normal,106,N,0,Flat,1
+68,M,ASY,138,0,0,Normal,130,Y,3,Flat,1
+53,M,ASY,154,0,1,ST,140,Y,1.5,Flat,1
+60,M,NAP,141,316,1,ST,122,Y,1.7,Flat,1
+62,M,ATA,131,0,0,Normal,130,N,0.1,Up,0
+59,M,ASY,178,0,1,LVH,120,Y,0,Flat,1
+51,M,ASY,132,218,1,LVH,139,N,0.1,Up,0
+61,M,ASY,110,0,1,Normal,108,Y,2,Down,1
+57,M,ASY,130,311,1,ST,148,Y,2,Flat,1
+56,M,NAP,170,0,0,LVH,123,Y,2.5,Flat,1
+58,M,ATA,126,0,1,Normal,110,Y,2,Flat,1
+69,M,NAP,140,0,1,ST,118,N,2.5,Down,1
+67,M,TA,142,270,1,Normal,125,N,2.5,Up,1
+58,M,ASY,120,0,0,LVH,106,Y,1.5,Down,1
+65,M,ASY,134,0,0,Normal,112,Y,1.1,Flat,1
+63,M,ATA,139,217,1,ST,128,Y,1.2,Flat,1
+55,M,ATA,110,214,1,ST,180,N,0.4,Up,0
+57,M,ASY,140,214,0,ST,144,Y,2,Flat,1
+65,M,TA,140,252,0,Normal,135,N,0.3,Up,0
+54,M,ASY,136,220,0,Normal,140,Y,3,Flat,1
+72,M,NAP,120,214,0,Normal,102,Y,1,Flat,1
+75,M,ASY,170,203,1,ST,108,N,0,Flat,1
+49,M,TA,130,0,0,ST,145,N,3,Flat,1
+51,M,NAP,137,339,0,Normal,127,Y,1.7,Flat,1
+60,M,ASY,142,216,0,Normal,110,Y,2.5,Flat,1
+64,F,ASY,142,276,0,Normal,140,Y,1,Flat,1
+58,M,ASY,132,458,1,Normal,69,N,1,Down,0
+61,M,ASY,146,241,0,Normal,148,Y,3,Down,1
+67,M,ASY,160,384,1,ST,130,Y,0,Flat,1
+62,M,ASY,135,297,0,Normal,130,Y,1,Flat,1
+65,M,ASY,136,248,0,Normal,140,Y,4,Down,1
+63,M,ASY,130,308,0,Normal,138,Y,2,Flat,1
+69,M,ASY,140,208,0,ST,140,Y,2,Flat,1
+51,M,ASY,132,227,1,ST,138,N,0.2,Up,0
+62,M,ASY,158,210,1,Normal,112,Y,3,Down,1
+55,M,NAP,136,245,1,ST,131,Y,1.2,Flat,1
+75,M,ASY,136,225,0,Normal,112,Y,3,Flat,1
+40,M,NAP,106,240,0,Normal,80,Y,0,Up,0
+67,M,ASY,120,0,1,Normal,150,N,1.5,Down,1
+58,M,ASY,110,198,0,Normal,110,N,0,Flat,1
+60,M,ASY,136,195,0,Normal,126,N,0.3,Up,0
+63,M,ASY,160,267,1,ST,88,Y,2,Flat,1
+35,M,NAP,123,161,0,ST,153,N,-0.1,Up,0
+62,M,TA,112,258,0,ST,150,Y,1.3,Flat,1
+43,M,ASY,122,0,0,Normal,120,N,0.5,Up,1
+63,M,NAP,130,0,1,ST,160,N,3,Flat,0
+68,M,NAP,150,195,1,Normal,132,N,0,Flat,1
+65,M,ASY,150,235,0,Normal,120,Y,1.5,Flat,1
+48,M,NAP,102,0,1,ST,110,Y,1,Down,1
+63,M,ASY,96,305,0,ST,121,Y,1,Up,1
+64,M,ASY,130,223,0,ST,128,N,0.5,Flat,0
+61,M,ASY,120,282,0,ST,135,Y,4,Down,1
+50,M,ASY,144,349,0,LVH,120,Y,1,Up,1
+59,M,ASY,124,160,0,Normal,117,Y,1,Flat,1
+55,M,ASY,150,160,0,ST,150,N,0,Up,0
+45,M,NAP,130,236,0,Normal,144,N,0.1,Up,0
+65,M,ASY,144,312,0,LVH,113,Y,1.7,Flat,1
+61,M,ATA,139,283,0,Normal,135,N,0.3,Up,0
+49,M,NAP,131,142,0,Normal,127,Y,1.5,Flat,1
+72,M,ASY,143,211,0,Normal,109,Y,1.4,Flat,1
+50,M,ASY,133,218,0,Normal,128,Y,1.1,Flat,1
+64,M,ASY,143,306,1,ST,115,Y,1.8,Flat,1
+55,M,ASY,116,186,1,ST,102,N,0,Flat,1
+63,M,ASY,110,252,0,ST,140,Y,2,Flat,1
+59,M,ASY,125,222,0,Normal,135,Y,2.5,Down,1
+56,M,ASY,130,0,0,LVH,122,Y,1,Flat,1
+62,M,NAP,133,0,1,ST,119,Y,1.2,Flat,1
+74,M,ASY,150,258,1,ST,130,Y,4,Down,1
+54,M,ASY,130,202,1,Normal,112,Y,2,Flat,1
+57,M,ASY,110,197,0,LVH,100,N,0,Up,0
+62,M,NAP,138,204,0,ST,122,Y,1.2,Flat,1
+76,M,NAP,104,113,0,LVH,120,N,3.5,Down,1
+54,F,ASY,138,274,0,Normal,105,Y,1.5,Flat,1
+70,M,ASY,170,192,0,ST,129,Y,3,Down,1
+61,F,ATA,140,298,1,Normal,120,Y,0,Up,0
+48,M,ASY,132,272,0,ST,139,N,0.2,Up,0
+48,M,NAP,132,220,1,ST,162,N,0,Flat,1
+61,M,TA,142,200,1,ST,100,N,1.5,Down,1
+66,M,ASY,112,261,0,Normal,140,N,1.5,Up,1
+68,M,TA,139,181,1,ST,135,N,0.2,Up,0
+55,M,ASY,172,260,0,Normal,73,N,2,Flat,1
+62,M,NAP,120,220,0,LVH,86,N,0,Up,0
+71,M,NAP,144,221,0,Normal,108,Y,1.8,Flat,1
+74,M,TA,145,216,1,Normal,116,Y,1.8,Flat,1
+53,M,NAP,155,175,1,ST,160,N,0.3,Up,0
+58,M,NAP,150,219,0,ST,118,Y,0,Flat,1
+75,M,ASY,160,310,1,Normal,112,Y,2,Down,0
+56,M,NAP,137,208,1,ST,122,Y,1.8,Flat,1
+58,M,NAP,137,232,0,ST,124,Y,1.4,Flat,1
+64,M,ASY,134,273,0,Normal,102,Y,4,Down,1
+54,M,NAP,133,203,0,ST,137,N,0.2,Up,0
+54,M,ATA,132,182,0,ST,141,N,0.1,Up,0
+59,M,ASY,140,274,0,Normal,154,Y,2,Flat,0
+55,M,ASY,135,204,1,ST,126,Y,1.1,Flat,1
+57,M,ASY,144,270,1,ST,160,Y,2,Flat,1
+61,M,ASY,141,292,0,ST,115,Y,1.7,Flat,1
+41,M,ASY,150,171,0,Normal,128,Y,1.5,Flat,0
+71,M,ASY,130,221,0,ST,115,Y,0,Flat,1
+38,M,ASY,110,289,0,Normal,105,Y,1.5,Down,1
+55,M,ASY,158,217,0,Normal,110,Y,2.5,Flat,1
+56,M,ASY,128,223,0,ST,119,Y,2,Down,1
+69,M,ASY,140,110,1,Normal,109,Y,1.5,Flat,1
+64,M,ASY,150,193,0,ST,135,Y,0.5,Flat,1
+72,M,ASY,160,123,1,LVH,130,N,1.5,Flat,1
+69,M,ASY,142,210,1,ST,112,Y,1.5,Flat,1
+56,M,ASY,137,282,1,Normal,126,Y,1.2,Flat,1
+62,M,ASY,139,170,0,ST,120,Y,3,Flat,1
+67,M,ASY,146,369,0,Normal,110,Y,1.9,Flat,1
+57,M,ASY,156,173,0,LVH,119,Y,3,Down,1
+69,M,ASY,145,289,1,ST,110,Y,1.8,Flat,1
+51,M,ASY,131,152,1,LVH,130,Y,1,Flat,1
+48,M,ASY,140,208,0,Normal,159,Y,1.5,Up,1
+69,M,ASY,122,216,1,LVH,84,Y,0,Flat,1
+69,M,NAP,142,271,0,LVH,126,N,0.3,Up,0
+64,M,ASY,141,244,1,ST,116,Y,1.5,Flat,1
+57,M,ATA,180,285,1,ST,120,N,0.8,Flat,1
+53,M,ASY,124,243,0,Normal,122,Y,2,Flat,1
+37,M,NAP,118,240,0,LVH,165,N,1,Flat,0
+67,M,ASY,140,219,0,ST,122,Y,2,Flat,1
+74,M,NAP,140,237,1,Normal,94,N,0,Flat,1
+63,M,ATA,136,165,0,ST,133,N,0.2,Up,0
+58,M,ASY,100,213,0,ST,110,N,0,Up,0
+61,M,ASY,190,287,1,LVH,150,Y,2,Down,1
+64,M,ASY,130,258,1,LVH,130,N,0,Flat,1
+58,M,ASY,160,256,1,LVH,113,Y,1,Up,1
+60,M,ASY,130,186,1,LVH,140,Y,0.5,Flat,1
+57,M,ASY,122,264,0,LVH,100,N,0,Flat,1
+55,M,NAP,133,185,0,ST,136,N,0.2,Up,0
+55,M,ASY,120,226,0,LVH,127,Y,1.7,Down,1
+56,M,ASY,130,203,1,Normal,98,N,1.5,Flat,1
+57,M,ASY,130,207,0,ST,96,Y,1,Flat,0
+61,M,NAP,140,284,0,Normal,123,Y,1.3,Flat,1
+61,M,NAP,120,337,0,Normal,98,Y,0,Flat,1
+74,M,ASY,155,310,0,Normal,112,Y,1.5,Down,1
+68,M,NAP,134,254,1,Normal,151,Y,0,Up,0
+51,F,ASY,114,258,1,LVH,96,N,1,Up,0
+62,M,ASY,160,254,1,ST,108,Y,3,Flat,1
+53,M,ASY,144,300,1,ST,128,Y,1.5,Flat,1
+62,M,ASY,158,170,0,ST,138,Y,0,Flat,1
+46,M,ASY,134,310,0,Normal,126,N,0,Flat,1
+54,F,ASY,127,333,1,ST,154,N,0,Flat,1
+62,M,TA,135,139,0,ST,137,N,0.2,Up,0
+55,M,ASY,122,223,1,ST,100,N,0,Flat,1
+58,M,ASY,140,385,1,LVH,135,N,0.3,Up,0
+62,M,ATA,120,254,0,LVH,93,Y,0,Flat,1
+70,M,ASY,130,322,0,LVH,109,N,2.4,Flat,1
+67,F,NAP,115,564,0,LVH,160,N,1.6,Flat,0
+57,M,ATA,124,261,0,Normal,141,N,0.3,Up,1
+64,M,ASY,128,263,0,Normal,105,Y,0.2,Flat,0
+74,F,ATA,120,269,0,LVH,121,Y,0.2,Up,0
+65,M,ASY,120,177,0,Normal,140,N,0.4,Up,0
+56,M,NAP,130,256,1,LVH,142,Y,0.6,Flat,1
+59,M,ASY,110,239,0,LVH,142,Y,1.2,Flat,1
+60,M,ASY,140,293,0,LVH,170,N,1.2,Flat,1
+63,F,ASY,150,407,0,LVH,154,N,4,Flat,1
+59,M,ASY,135,234,0,Normal,161,N,0.5,Flat,0
+53,M,ASY,142,226,0,LVH,111,Y,0,Up,0
+44,M,NAP,140,235,0,LVH,180,N,0,Up,0
+61,M,TA,134,234,0,Normal,145,N,2.6,Flat,1
+57,F,ASY,128,303,0,LVH,159,N,0,Up,0
+71,F,ASY,112,149,0,Normal,125,N,1.6,Flat,0
+46,M,ASY,140,311,0,Normal,120,Y,1.8,Flat,1
+53,M,ASY,140,203,1,LVH,155,Y,3.1,Down,1
+64,M,TA,110,211,0,LVH,144,Y,1.8,Flat,0
+40,M,TA,140,199,0,Normal,178,Y,1.4,Up,0
+67,M,ASY,120,229,0,LVH,129,Y,2.6,Flat,1
+48,M,ATA,130,245,0,LVH,180,N,0.2,Flat,0
+43,M,ASY,115,303,0,Normal,181,N,1.2,Flat,0
+47,M,ASY,112,204,0,Normal,143,N,0.1,Up,0
+54,F,ATA,132,288,1,LVH,159,Y,0,Up,0
+48,F,NAP,130,275,0,Normal,139,N,0.2,Up,0
+46,F,ASY,138,243,0,LVH,152,Y,0,Flat,0
+51,F,NAP,120,295,0,LVH,157,N,0.6,Up,0
+58,M,NAP,112,230,0,LVH,165,N,2.5,Flat,1
+71,F,NAP,110,265,1,LVH,130,N,0,Up,0
+57,M,NAP,128,229,0,LVH,150,N,0.4,Flat,1
+66,M,ASY,160,228,0,LVH,138,N,2.3,Up,0
+37,F,NAP,120,215,0,Normal,170,N,0,Up,0
+59,M,ASY,170,326,0,LVH,140,Y,3.4,Down,1
+50,M,ASY,144,200,0,LVH,126,Y,0.9,Flat,1
+48,M,ASY,130,256,1,LVH,150,Y,0,Up,1
+61,M,ASY,140,207,0,LVH,138,Y,1.9,Up,1
+59,M,TA,160,273,0,LVH,125,N,0,Up,1
+42,M,NAP,130,180,0,Normal,150,N,0,Up,0
+48,M,ASY,122,222,0,LVH,186,N,0,Up,0
+40,M,ASY,152,223,0,Normal,181,N,0,Up,1
+62,F,ASY,124,209,0,Normal,163,N,0,Up,0
+44,M,NAP,130,233,0,Normal,179,Y,0.4,Up,0
+46,M,ATA,101,197,1,Normal,156,N,0,Up,0
+59,M,NAP,126,218,1,Normal,134,N,2.2,Flat,1
+58,M,NAP,140,211,1,LVH,165,N,0,Up,0
+49,M,NAP,118,149,0,LVH,126,N,0.8,Up,1
+44,M,ASY,110,197,0,LVH,177,N,0,Up,1
+66,M,ATA,160,246,0,Normal,120,Y,0,Flat,1
+65,F,ASY,150,225,0,LVH,114,N,1,Flat,1
+42,M,ASY,136,315,0,Normal,125,Y,1.8,Flat,1
+52,M,ATA,128,205,1,Normal,184,N,0,Up,0
+65,F,NAP,140,417,1,LVH,157,N,0.8,Up,0
+63,F,ATA,140,195,0,Normal,179,N,0,Up,0
+45,F,ATA,130,234,0,LVH,175,N,0.6,Flat,0
+41,F,ATA,105,198,0,Normal,168,N,0,Up,0
+61,M,ASY,138,166,0,LVH,125,Y,3.6,Flat,1
+60,F,NAP,120,178,1,Normal,96,N,0,Up,0
+59,F,ASY,174,249,0,Normal,143,Y,0,Flat,1
+62,M,ATA,120,281,0,LVH,103,N,1.4,Flat,1
+57,M,NAP,150,126,1,Normal,173,N,0.2,Up,0
+51,F,ASY,130,305,0,Normal,142,Y,1.2,Flat,1
+44,M,NAP,120,226,0,Normal,169,N,0,Up,0
+60,F,TA,150,240,0,Normal,171,N,0.9,Up,0
+63,M,TA,145,233,1,LVH,150,N,2.3,Down,0
+57,M,ASY,150,276,0,LVH,112,Y,0.6,Flat,1
+51,M,ASY,140,261,0,LVH,186,Y,0,Up,0
+58,F,ATA,136,319,1,LVH,152,N,0,Up,1
+44,F,NAP,118,242,0,Normal,149,N,0.3,Flat,0
+47,M,NAP,108,243,0,Normal,152,N,0,Up,1
+61,M,ASY,120,260,0,Normal,140,Y,3.6,Flat,1
+57,F,ASY,120,354,0,Normal,163,Y,0.6,Up,0
+70,M,ATA,156,245,0,LVH,143,N,0,Up,0
+76,F,NAP,140,197,0,ST,116,N,1.1,Flat,0
+67,F,ASY,106,223,0,Normal,142,N,0.3,Up,0
+45,M,ASY,142,309,0,LVH,147,Y,0,Flat,1
+45,M,ASY,104,208,0,LVH,148,Y,3,Flat,0
+39,F,NAP,94,199,0,Normal,179,N,0,Up,0
+42,F,NAP,120,209,0,Normal,173,N,0,Flat,0
+56,M,ATA,120,236,0,Normal,178,N,0.8,Up,0
+58,M,ASY,146,218,0,Normal,105,N,2,Flat,1
+35,M,ASY,120,198,0,Normal,130,Y,1.6,Flat,1
+58,M,ASY,150,270,0,LVH,111,Y,0.8,Up,1
+41,M,NAP,130,214,0,LVH,168,N,2,Flat,0
+57,M,ASY,110,201,0,Normal,126,Y,1.5,Flat,0
+42,M,TA,148,244,0,LVH,178,N,0.8,Up,0
+62,M,ATA,128,208,1,LVH,140,N,0,Up,0
+59,M,TA,178,270,0,LVH,145,N,4.2,Down,0
+41,F,ATA,126,306,0,Normal,163,N,0,Up,0
+50,M,ASY,150,243,0,LVH,128,N,2.6,Flat,1
+59,M,ATA,140,221,0,Normal,164,Y,0,Up,0
+61,F,ASY,130,330,0,LVH,169,N,0,Up,1
+54,M,ASY,124,266,0,LVH,109,Y,2.2,Flat,1
+54,M,ASY,110,206,0,LVH,108,Y,0,Flat,1
+52,M,ASY,125,212,0,Normal,168,N,1,Up,1
+47,M,ASY,110,275,0,LVH,118,Y,1,Flat,1
+66,M,ASY,120,302,0,LVH,151,N,0.4,Flat,0
+58,M,ASY,100,234,0,Normal,156,N,0.1,Up,1
+64,F,NAP,140,313,0,Normal,133,N,0.2,Up,0
+50,F,ATA,120,244,0,Normal,162,N,1.1,Up,0
+44,F,NAP,108,141,0,Normal,175,N,0.6,Flat,0
+67,M,ASY,120,237,0,Normal,71,N,1,Flat,1
+49,F,ASY,130,269,0,Normal,163,N,0,Up,0
+57,M,ASY,165,289,1,LVH,124,N,1,Flat,1
+63,M,ASY,130,254,0,LVH,147,N,1.4,Flat,1
+48,M,ASY,124,274,0,LVH,166,N,0.5,Flat,1
+51,M,NAP,100,222,0,Normal,143,Y,1.2,Flat,0
+60,F,ASY,150,258,0,LVH,157,N,2.6,Flat,1
+59,M,ASY,140,177,0,Normal,162,Y,0,Up,1
+45,F,ATA,112,160,0,Normal,138,N,0,Flat,0
+55,F,ASY,180,327,0,ST,117,Y,3.4,Flat,1
+41,M,ATA,110,235,0,Normal,153,N,0,Up,0
+60,F,ASY,158,305,0,LVH,161,N,0,Up,1
+54,F,NAP,135,304,1,Normal,170,N,0,Up,0
+42,M,ATA,120,295,0,Normal,162,N,0,Up,0
+49,F,ATA,134,271,0,Normal,162,N,0,Flat,0
+46,M,ASY,120,249,0,LVH,144,N,0.8,Up,1
+56,F,ASY,200,288,1,LVH,133,Y,4,Down,1
+66,F,TA,150,226,0,Normal,114,N,2.6,Down,0
+56,M,ASY,130,283,1,LVH,103,Y,1.6,Down,1
+49,M,NAP,120,188,0,Normal,139,N,2,Flat,1
+54,M,ASY,122,286,0,LVH,116,Y,3.2,Flat,1
+57,M,ASY,152,274,0,Normal,88,Y,1.2,Flat,1
+65,F,NAP,160,360,0,LVH,151,N,0.8,Up,0
+54,M,NAP,125,273,0,LVH,152,N,0.5,Down,0
+54,F,NAP,160,201,0,Normal,163,N,0,Up,0
+62,M,ASY,120,267,0,Normal,99,Y,1.8,Flat,1
+52,F,NAP,136,196,0,LVH,169,N,0.1,Flat,0
+52,M,ATA,134,201,0,Normal,158,N,0.8,Up,0
+60,M,ASY,117,230,1,Normal,160,Y,1.4,Up,1
+63,F,ASY,108,269,0,Normal,169,Y,1.8,Flat,1
+66,M,ASY,112,212,0,LVH,132,Y,0.1,Up,1
+42,M,ASY,140,226,0,Normal,178,N,0,Up,0
+64,M,ASY,120,246,0,LVH,96,Y,2.2,Down,1
+54,M,NAP,150,232,0,LVH,165,N,1.6,Up,0
+46,F,NAP,142,177,0,LVH,160,Y,1.4,Down,0
+67,F,NAP,152,277,0,Normal,172,N,0,Up,0
+56,M,ASY,125,249,1,LVH,144,Y,1.2,Flat,1
+34,F,ATA,118,210,0,Normal,192,N,0.7,Up,0
+57,M,ASY,132,207,0,Normal,168,Y,0,Up,0
+64,M,ASY,145,212,0,LVH,132,N,2,Flat,1
+59,M,ASY,138,271,0,LVH,182,N,0,Up,0
+50,M,NAP,140,233,0,Normal,163,N,0.6,Flat,1
+51,M,TA,125,213,0,LVH,125,Y,1.4,Up,0
+54,M,ATA,192,283,0,LVH,195,N,0,Up,1
+53,M,ASY,123,282,0,Normal,95,Y,2,Flat,1
+52,M,ASY,112,230,0,Normal,160,N,0,Up,1
+40,M,ASY,110,167,0,LVH,114,Y,2,Flat,1
+58,M,NAP,132,224,0,LVH,173,N,3.2,Up,1
+41,F,NAP,112,268,0,LVH,172,Y,0,Up,0
+41,M,NAP,112,250,0,Normal,179,N,0,Up,0
+50,F,NAP,120,219,0,Normal,158,N,1.6,Flat,0
+54,F,NAP,108,267,0,LVH,167,N,0,Up,0
+64,F,ASY,130,303,0,Normal,122,N,2,Flat,0
+51,F,NAP,130,256,0,LVH,149,N,0.5,Up,0
+46,F,ATA,105,204,0,Normal,172,N,0,Up,0
+55,M,ASY,140,217,0,Normal,111,Y,5.6,Down,1
+45,M,ATA,128,308,0,LVH,170,N,0,Up,0
+56,M,TA,120,193,0,LVH,162,N,1.9,Flat,0
+66,F,ASY,178,228,1,Normal,165,Y,1,Flat,1
+38,M,TA,120,231,0,Normal,182,Y,3.8,Flat,1
+62,F,ASY,150,244,0,Normal,154,Y,1.4,Flat,1
+55,M,ATA,130,262,0,Normal,155,N,0,Up,0
+58,M,ASY,128,259,0,LVH,130,Y,3,Flat,1
+43,M,ASY,110,211,0,Normal,161,N,0,Up,0
+64,F,ASY,180,325,0,Normal,154,Y,0,Up,0
+50,F,ASY,110,254,0,LVH,159,N,0,Up,0
+53,M,NAP,130,197,1,LVH,152,N,1.2,Down,0
+45,F,ASY,138,236,0,LVH,152,Y,0.2,Flat,0
+65,M,TA,138,282,1,LVH,174,N,1.4,Flat,1
+69,M,TA,160,234,1,LVH,131,N,0.1,Flat,0
+69,M,NAP,140,254,0,LVH,146,N,2,Flat,1
+67,M,ASY,100,299,0,LVH,125,Y,0.9,Flat,1
+68,F,NAP,120,211,0,LVH,115,N,1.5,Flat,0
+34,M,TA,118,182,0,LVH,174,N,0,Up,0
+62,F,ASY,138,294,1,Normal,106,N,1.9,Flat,1
+51,M,ASY,140,298,0,Normal,122,Y,4.2,Flat,1
+46,M,NAP,150,231,0,Normal,147,N,3.6,Flat,1
+67,M,ASY,125,254,1,Normal,163,N,0.2,Flat,1
+50,M,NAP,129,196,0,Normal,163,N,0,Up,0
+42,M,NAP,120,240,1,Normal,194,N,0.8,Down,0
+56,F,ASY,134,409,0,LVH,150,Y,1.9,Flat,1
+41,M,ASY,110,172,0,LVH,158,N,0,Up,1
+42,F,ASY,102,265,0,LVH,122,N,0.6,Flat,0
+53,M,NAP,130,246,1,LVH,173,N,0,Up,0
+43,M,NAP,130,315,0,Normal,162,N,1.9,Up,0
+56,M,ASY,132,184,0,LVH,105,Y,2.1,Flat,1
+52,M,ASY,108,233,1,Normal,147,N,0.1,Up,0
+62,F,ASY,140,394,0,LVH,157,N,1.2,Flat,0
+70,M,NAP,160,269,0,Normal,112,Y,2.9,Flat,1
+54,M,ASY,140,239,0,Normal,160,N,1.2,Up,0
+70,M,ASY,145,174,0,Normal,125,Y,2.6,Down,1
+54,M,ATA,108,309,0,Normal,156,N,0,Up,0
+35,M,ASY,126,282,0,LVH,156,Y,0,Up,1
+48,M,NAP,124,255,1,Normal,175,N,0,Up,0
+55,F,ATA,135,250,0,LVH,161,N,1.4,Flat,0
+58,F,ASY,100,248,0,LVH,122,N,1,Flat,0
+54,F,NAP,110,214,0,Normal,158,N,1.6,Flat,0
+69,F,TA,140,239,0,Normal,151,N,1.8,Up,0
+77,M,ASY,125,304,0,LVH,162,Y,0,Up,1
+68,M,NAP,118,277,0,Normal,151,N,1,Up,0
+58,M,ASY,125,300,0,LVH,171,N,0,Up,1
+60,M,ASY,125,258,0,LVH,141,Y,2.8,Flat,1
+51,M,ASY,140,299,0,Normal,173,Y,1.6,Up,1
+55,M,ASY,160,289,0,LVH,145,Y,0.8,Flat,1
+52,M,TA,152,298,1,Normal,178,N,1.2,Flat,0
+60,F,NAP,102,318,0,Normal,160,N,0,Up,0
+58,M,NAP,105,240,0,LVH,154,Y,0.6,Flat,0
+64,M,NAP,125,309,0,Normal,131,Y,1.8,Flat,1
+37,M,NAP,130,250,0,Normal,187,N,3.5,Down,0
+59,M,TA,170,288,0,LVH,159,N,0.2,Flat,1
+51,M,NAP,125,245,1,LVH,166,N,2.4,Flat,0
+43,F,NAP,122,213,0,Normal,165,N,0.2,Flat,0
+58,M,ASY,128,216,0,LVH,131,Y,2.2,Flat,1
+29,M,ATA,130,204,0,LVH,202,N,0,Up,0
+41,F,ATA,130,204,0,LVH,172,N,1.4,Up,0
+63,F,NAP,135,252,0,LVH,172,N,0,Up,0
+51,M,NAP,94,227,0,Normal,154,Y,0,Up,0
+54,M,NAP,120,258,0,LVH,147,N,0.4,Flat,0
+44,M,ATA,120,220,0,Normal,170,N,0,Up,0
+54,M,ASY,110,239,0,Normal,126,Y,2.8,Flat,1
+65,M,ASY,135,254,0,LVH,127,N,2.8,Flat,1
+57,M,NAP,150,168,0,Normal,174,N,1.6,Up,0
+63,M,ASY,130,330,1,LVH,132,Y,1.8,Up,1
+35,F,ASY,138,183,0,Normal,182,N,1.4,Up,0
+41,M,ATA,135,203,0,Normal,132,N,0,Flat,0
+62,F,NAP,130,263,0,Normal,97,N,1.2,Flat,1
+43,F,ASY,132,341,1,LVH,136,Y,3,Flat,1
+58,F,TA,150,283,1,LVH,162,N,1,Up,0
+52,M,TA,118,186,0,LVH,190,N,0,Flat,0
+61,F,ASY,145,307,0,LVH,146,Y,1,Flat,1
+39,M,ASY,118,219,0,Normal,140,N,1.2,Flat,1
+45,M,ASY,115,260,0,LVH,185,N,0,Up,0
+52,M,ASY,128,255,0,Normal,161,Y,0,Up,1
+62,M,NAP,130,231,0,Normal,146,N,1.8,Flat,0
+62,F,ASY,160,164,0,LVH,145,N,6.2,Down,1
+53,F,ASY,138,234,0,LVH,160,N,0,Up,0
+43,M,ASY,120,177,0,LVH,120,Y,2.5,Flat,1
+47,M,NAP,138,257,0,LVH,156,N,0,Up,0
+52,M,ATA,120,325,0,Normal,172,N,0.2,Up,0
+68,M,NAP,180,274,1,LVH,150,Y,1.6,Flat,1
+39,M,NAP,140,321,0,LVH,182,N,0,Up,0
+53,F,ASY,130,264,0,LVH,143,N,0.4,Flat,0
+62,F,ASY,140,268,0,LVH,160,N,3.6,Down,1
+51,F,NAP,140,308,0,LVH,142,N,1.5,Up,0
+60,M,ASY,130,253,0,Normal,144,Y,1.4,Up,1
+65,M,ASY,110,248,0,LVH,158,N,0.6,Up,1
+65,F,NAP,155,269,0,Normal,148,N,0.8,Up,0
+60,M,NAP,140,185,0,LVH,155,N,3,Flat,1
+60,M,ASY,145,282,0,LVH,142,Y,2.8,Flat,1
+54,M,ASY,120,188,0,Normal,113,N,1.4,Flat,1
+44,M,ATA,130,219,0,LVH,188,N,0,Up,0
+44,M,ASY,112,290,0,LVH,153,N,0,Up,1
+51,M,NAP,110,175,0,Normal,123,N,0.6,Up,0
+59,M,NAP,150,212,1,Normal,157,N,1.6,Up,0
+71,F,ATA,160,302,0,Normal,162,N,0.4,Up,0
+61,M,NAP,150,243,1,Normal,137,Y,1,Flat,0
+55,M,ASY,132,353,0,Normal,132,Y,1.2,Flat,1
+64,M,NAP,140,335,0,Normal,158,N,0,Up,1
+43,M,ASY,150,247,0,Normal,171,N,1.5,Up,0
+58,F,NAP,120,340,0,Normal,172,N,0,Up,0
+60,M,ASY,130,206,0,LVH,132,Y,2.4,Flat,1
+58,M,ATA,120,284,0,LVH,160,N,1.8,Flat,1
+49,M,ATA,130,266,0,Normal,171,N,0.6,Up,0
+48,M,ATA,110,229,0,Normal,168,N,1,Down,1
+52,M,NAP,172,199,1,Normal,162,N,0.5,Up,0
+44,M,ATA,120,263,0,Normal,173,N,0,Up,0
+56,F,ATA,140,294,0,LVH,153,N,1.3,Flat,0
+57,M,ASY,140,192,0,Normal,148,N,0.4,Flat,0
+67,M,ASY,160,286,0,LVH,108,Y,1.5,Flat,1
+53,F,NAP,128,216,0,LVH,115,N,0,Up,0
+52,M,NAP,138,223,0,Normal,169,N,0,Up,0
+43,M,ASY,132,247,1,LVH,143,Y,0.1,Flat,1
+52,M,ASY,128,204,1,Normal,156,Y,1,Flat,1
+59,M,TA,134,204,0,Normal,162,N,0.8,Up,1
+64,M,TA,170,227,0,LVH,155,N,0.6,Flat,0
+66,F,NAP,146,278,0,LVH,152,N,0,Flat,0
+39,F,NAP,138,220,0,Normal,152,N,0,Flat,0
+57,M,ATA,154,232,0,LVH,164,N,0,Up,1
+58,F,ASY,130,197,0,Normal,131,N,0.6,Flat,0
+57,M,ASY,110,335,0,Normal,143,Y,3,Flat,1
+47,M,NAP,130,253,0,Normal,179,N,0,Up,0
+55,F,ASY,128,205,0,ST,130,Y,2,Flat,1
+35,M,ATA,122,192,0,Normal,174,N,0,Up,0
+61,M,ASY,148,203,0,Normal,161,N,0,Up,1
+58,M,ASY,114,318,0,ST,140,N,4.4,Down,1
+58,F,ASY,170,225,1,LVH,146,Y,2.8,Flat,1
+58,M,ATA,125,220,0,Normal,144,N,0.4,Flat,0
+56,M,ATA,130,221,0,LVH,163,N,0,Up,0
+56,M,ATA,120,240,0,Normal,169,N,0,Down,0
+67,M,NAP,152,212,0,LVH,150,N,0.8,Flat,1
+55,F,ATA,132,342,0,Normal,166,N,1.2,Up,0
+44,M,ASY,120,169,0,Normal,144,Y,2.8,Down,1
+63,M,ASY,140,187,0,LVH,144,Y,4,Up,1
+63,F,ASY,124,197,0,Normal,136,Y,0,Flat,1
+41,M,ATA,120,157,0,Normal,182,N,0,Up,0
+59,M,ASY,164,176,1,LVH,90,N,1,Flat,1
+57,F,ASY,140,241,0,Normal,123,Y,0.2,Flat,1
+45,M,TA,110,264,0,Normal,132,N,1.2,Flat,1
+68,M,ASY,144,193,1,Normal,141,N,3.4,Flat,1
+57,M,ASY,130,131,0,Normal,115,Y,1.2,Flat,1
+57,F,ATA,130,236,0,LVH,174,N,0,Flat,1
+38,M,NAP,138,175,0,Normal,173,N,0,Up,0
diff --git a/ML/19_Bagging/bagging_diabetes_prediction.ipynb b/ML/19_Bagging/bagging_diabetes_prediction.ipynb
new file mode 100644
index 00000000..5312eddd
--- /dev/null
+++ b/ML/19_Bagging/bagging_diabetes_prediction.ipynb
@@ -0,0 +1,778 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h2 align='center'>Ensemble Learning: Bagging Tutorial</h2>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "**We will use pima indian diabetes dataset to predict if a person has a diabetes or not based on certain features such as blood pressure, skin thickness, age etc. We will train a standalone model first and then use bagging ensemble technique to check how it can improve the performance of the model**\n",
+    "\n",
+    "dataset credit: https://www.kaggle.com/gargmanas/pima-indians-diabetes"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 76,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Pregnancies</th>\n",
+       "      <th>Glucose</th>\n",
+       "      <th>BloodPressure</th>\n",
+       "      <th>SkinThickness</th>\n",
+       "      <th>Insulin</th>\n",
+       "      <th>BMI</th>\n",
+       "      <th>DiabetesPedigreeFunction</th>\n",
+       "      <th>Age</th>\n",
+       "      <th>Outcome</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>6</td>\n",
+       "      <td>148</td>\n",
+       "      <td>72</td>\n",
+       "      <td>35</td>\n",
+       "      <td>0</td>\n",
+       "      <td>33.6</td>\n",
+       "      <td>0.627</td>\n",
+       "      <td>50</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>1</td>\n",
+       "      <td>85</td>\n",
+       "      <td>66</td>\n",
+       "      <td>29</td>\n",
+       "      <td>0</td>\n",
+       "      <td>26.6</td>\n",
+       "      <td>0.351</td>\n",
+       "      <td>31</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>8</td>\n",
+       "      <td>183</td>\n",
+       "      <td>64</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>23.3</td>\n",
+       "      <td>0.672</td>\n",
+       "      <td>32</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3</th>\n",
+       "      <td>1</td>\n",
+       "      <td>89</td>\n",
+       "      <td>66</td>\n",
+       "      <td>23</td>\n",
+       "      <td>94</td>\n",
+       "      <td>28.1</td>\n",
+       "      <td>0.167</td>\n",
+       "      <td>21</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4</th>\n",
+       "      <td>0</td>\n",
+       "      <td>137</td>\n",
+       "      <td>40</td>\n",
+       "      <td>35</td>\n",
+       "      <td>168</td>\n",
+       "      <td>43.1</td>\n",
+       "      <td>2.288</td>\n",
+       "      <td>33</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "   Pregnancies  Glucose  BloodPressure  SkinThickness  Insulin   BMI  \\\n",
+       "0            6      148             72             35        0  33.6   \n",
+       "1            1       85             66             29        0  26.6   \n",
+       "2            8      183             64              0        0  23.3   \n",
+       "3            1       89             66             23       94  28.1   \n",
+       "4            0      137             40             35      168  43.1   \n",
+       "\n",
+       "   DiabetesPedigreeFunction  Age  Outcome  \n",
+       "0                     0.627   50        1  \n",
+       "1                     0.351   31        0  \n",
+       "2                     0.672   32        1  \n",
+       "3                     0.167   21        0  \n",
+       "4                     2.288   33        1  "
+      ]
+     },
+     "execution_count": 76,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import pandas as pd\n",
+    "\n",
+    "df = pd.read_csv(\"diabetes.csv\")\n",
+    "df.head()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Pregnancies                 0\n",
+       "Glucose                     0\n",
+       "BloodPressure               0\n",
+       "SkinThickness               0\n",
+       "Insulin                     0\n",
+       "BMI                         0\n",
+       "DiabetesPedigreeFunction    0\n",
+       "Age                         0\n",
+       "Outcome                     0\n",
+       "dtype: int64"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.isnull().sum()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Pregnancies</th>\n",
+       "      <th>Glucose</th>\n",
+       "      <th>BloodPressure</th>\n",
+       "      <th>SkinThickness</th>\n",
+       "      <th>Insulin</th>\n",
+       "      <th>BMI</th>\n",
+       "      <th>DiabetesPedigreeFunction</th>\n",
+       "      <th>Age</th>\n",
+       "      <th>Outcome</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>count</th>\n",
+       "      <td>768.000000</td>\n",
+       "      <td>768.000000</td>\n",
+       "      <td>768.000000</td>\n",
+       "      <td>768.000000</td>\n",
+       "      <td>768.000000</td>\n",
+       "      <td>768.000000</td>\n",
+       "      <td>768.000000</td>\n",
+       "      <td>768.000000</td>\n",
+       "      <td>768.000000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>mean</th>\n",
+       "      <td>3.845052</td>\n",
+       "      <td>120.894531</td>\n",
+       "      <td>69.105469</td>\n",
+       "      <td>20.536458</td>\n",
+       "      <td>79.799479</td>\n",
+       "      <td>31.992578</td>\n",
+       "      <td>0.471876</td>\n",
+       "      <td>33.240885</td>\n",
+       "      <td>0.348958</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>std</th>\n",
+       "      <td>3.369578</td>\n",
+       "      <td>31.972618</td>\n",
+       "      <td>19.355807</td>\n",
+       "      <td>15.952218</td>\n",
+       "      <td>115.244002</td>\n",
+       "      <td>7.884160</td>\n",
+       "      <td>0.331329</td>\n",
+       "      <td>11.760232</td>\n",
+       "      <td>0.476951</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>min</th>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.078000</td>\n",
+       "      <td>21.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>25%</th>\n",
+       "      <td>1.000000</td>\n",
+       "      <td>99.000000</td>\n",
+       "      <td>62.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "      <td>27.300000</td>\n",
+       "      <td>0.243750</td>\n",
+       "      <td>24.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>50%</th>\n",
+       "      <td>3.000000</td>\n",
+       "      <td>117.000000</td>\n",
+       "      <td>72.000000</td>\n",
+       "      <td>23.000000</td>\n",
+       "      <td>30.500000</td>\n",
+       "      <td>32.000000</td>\n",
+       "      <td>0.372500</td>\n",
+       "      <td>29.000000</td>\n",
+       "      <td>0.000000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>75%</th>\n",
+       "      <td>6.000000</td>\n",
+       "      <td>140.250000</td>\n",
+       "      <td>80.000000</td>\n",
+       "      <td>32.000000</td>\n",
+       "      <td>127.250000</td>\n",
+       "      <td>36.600000</td>\n",
+       "      <td>0.626250</td>\n",
+       "      <td>41.000000</td>\n",
+       "      <td>1.000000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>max</th>\n",
+       "      <td>17.000000</td>\n",
+       "      <td>199.000000</td>\n",
+       "      <td>122.000000</td>\n",
+       "      <td>99.000000</td>\n",
+       "      <td>846.000000</td>\n",
+       "      <td>67.100000</td>\n",
+       "      <td>2.420000</td>\n",
+       "      <td>81.000000</td>\n",
+       "      <td>1.000000</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "       Pregnancies     Glucose  BloodPressure  SkinThickness     Insulin  \\\n",
+       "count   768.000000  768.000000     768.000000     768.000000  768.000000   \n",
+       "mean      3.845052  120.894531      69.105469      20.536458   79.799479   \n",
+       "std       3.369578   31.972618      19.355807      15.952218  115.244002   \n",
+       "min       0.000000    0.000000       0.000000       0.000000    0.000000   \n",
+       "25%       1.000000   99.000000      62.000000       0.000000    0.000000   \n",
+       "50%       3.000000  117.000000      72.000000      23.000000   30.500000   \n",
+       "75%       6.000000  140.250000      80.000000      32.000000  127.250000   \n",
+       "max      17.000000  199.000000     122.000000      99.000000  846.000000   \n",
+       "\n",
+       "              BMI  DiabetesPedigreeFunction         Age     Outcome  \n",
+       "count  768.000000                768.000000  768.000000  768.000000  \n",
+       "mean    31.992578                  0.471876   33.240885    0.348958  \n",
+       "std      7.884160                  0.331329   11.760232    0.476951  \n",
+       "min      0.000000                  0.078000   21.000000    0.000000  \n",
+       "25%     27.300000                  0.243750   24.000000    0.000000  \n",
+       "50%     32.000000                  0.372500   29.000000    0.000000  \n",
+       "75%     36.600000                  0.626250   41.000000    1.000000  \n",
+       "max     67.100000                  2.420000   81.000000    1.000000  "
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.describe()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0    500\n",
+       "1    268\n",
+       "Name: Outcome, dtype: int64"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.Outcome.value_counts()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "There is slight imbalance in our dataset but since it is not major we will not worry about it!"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Train test split</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "X = df.drop(\"Outcome\",axis=\"columns\")\n",
+    "y = df.Outcome"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 88,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array([[ 0.63994726,  0.84832379,  0.14964075,  0.90726993, -0.69289057,\n",
+       "         0.20401277,  0.46849198,  1.4259954 ],\n",
+       "       [-0.84488505, -1.12339636, -0.16054575,  0.53090156, -0.69289057,\n",
+       "        -0.68442195, -0.36506078, -0.19067191],\n",
+       "       [ 1.23388019,  1.94372388, -0.26394125, -1.28821221, -0.69289057,\n",
+       "        -1.10325546,  0.60439732, -0.10558415]])"
+      ]
+     },
+     "execution_count": 88,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from sklearn.preprocessing import StandardScaler\n",
+    "\n",
+    "scaler = StandardScaler()\n",
+    "X_scaled = scaler.fit_transform(X)\n",
+    "X_scaled[:3]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 89,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from sklearn.model_selection import train_test_split\n",
+    "\n",
+    "X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, stratify=y, random_state=10)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 90,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(576, 8)"
+      ]
+     },
+     "execution_count": 90,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "X_train.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 91,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(192, 8)"
+      ]
+     },
+     "execution_count": 91,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "X_test.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 92,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0    375\n",
+       "1    201\n",
+       "Name: Outcome, dtype: int64"
+      ]
+     },
+     "execution_count": 92,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "y_train.value_counts()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 93,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.536"
+      ]
+     },
+     "execution_count": 93,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "201/375"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 94,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0    125\n",
+       "1     67\n",
+       "Name: Outcome, dtype: int64"
+      ]
+     },
+     "execution_count": 94,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "y_test.value_counts()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 95,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.536"
+      ]
+     },
+     "execution_count": 95,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "67/125"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Train using stand alone model</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 96,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array([0.68831169, 0.68181818, 0.69480519, 0.77777778, 0.71895425])"
+      ]
+     },
+     "execution_count": 96,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from sklearn.model_selection import cross_val_score\n",
+    "from sklearn.tree import DecisionTreeClassifier\n",
+    "\n",
+    "scores = cross_val_score(DecisionTreeClassifier(), X, y, cv=5)\n",
+    "scores"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 97,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.7123334182157711"
+      ]
+     },
+     "execution_count": 97,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "scores.mean()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Train using Bagging</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 98,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.7534722222222222"
+      ]
+     },
+     "execution_count": 98,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from sklearn.ensemble import BaggingClassifier\n",
+    "\n",
+    "bag_model = BaggingClassifier(\n",
+    "    base_estimator=DecisionTreeClassifier(), \n",
+    "    n_estimators=100, \n",
+    "    max_samples=0.8, \n",
+    "    oob_score=True,\n",
+    "    random_state=0\n",
+    ")\n",
+    "bag_model.fit(X_train, y_train)\n",
+    "bag_model.oob_score_"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 99,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.7760416666666666"
+      ]
+     },
+     "execution_count": 99,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "bag_model.score(X_test, y_test)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 100,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array([0.75324675, 0.72727273, 0.74675325, 0.82352941, 0.73856209])"
+      ]
+     },
+     "execution_count": 100,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "bag_model = BaggingClassifier(\n",
+    "    base_estimator=DecisionTreeClassifier(), \n",
+    "    n_estimators=100, \n",
+    "    max_samples=0.8, \n",
+    "    oob_score=True,\n",
+    "    random_state=0\n",
+    ")\n",
+    "scores = cross_val_score(bag_model, X, y, cv=5)\n",
+    "scores"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 101,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.7578728461081402"
+      ]
+     },
+     "execution_count": 101,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "scores.mean()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "We can see some improvement in test score with bagging classifier as compared to a standalone classifier"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h3>Train using Random Forest</h3>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 102,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "0.7617689500042442"
+      ]
+     },
+     "execution_count": 102,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from sklearn.ensemble import RandomForestClassifier\n",
+    "\n",
+    "scores = cross_val_score(RandomForestClassifier(n_estimators=50), X, y, cv=5)\n",
+    "scores.mean()"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/ML/19_Bagging/bagging_exercise.md b/ML/19_Bagging/bagging_exercise.md
new file mode 100644
index 00000000..378156fe
--- /dev/null
+++ b/ML/19_Bagging/bagging_exercise.md
@@ -0,0 +1,16 @@
+Download heart disease dataset heart.csv in [Exercise](https://github.com/codebasics/py/tree/master/ML/19_Bagging/Exercise) folder and do following, (credits of dataset:  https://www.kaggle.com/fedesoriano/heart-failure-prediction)
+
+1. Load heart disease dataset in pandas dataframe
+1. Remove outliers using Z score. Usual guideline is to remove anything that has Z score > 3 formula or Z score < -3
+1. Convert text columns to numbers using label encoding and one hot encoding
+1. Apply scaling
+1. Build a classification model using support vector machine. Use standalone model as well as Bagging model and check if you see any difference in the performance.
+1. Now use decision tree classifier. Use standalone model as well as Bagging and check if you notice any difference in performance
+1. Comparing performance of svm and decision tree classifier figure out where it makes most sense to use bagging and why. Use internet to figure out in what conditions bagging works the best.
+
+
+[Solution Link](https://github.com/codebasics/py/blob/master/ML/19_Bagging/Exercise/bagging_heart_disease_prediction.ipynb)
+
+
+
+ 
\ No newline at end of file
diff --git a/ML/19_Bagging/diabetes.csv b/ML/19_Bagging/diabetes.csv
new file mode 100644
index 00000000..dcaf5fe8
--- /dev/null
+++ b/ML/19_Bagging/diabetes.csv
@@ -0,0 +1,769 @@
+Pregnancies,Glucose,BloodPressure,SkinThickness,Insulin,BMI,DiabetesPedigreeFunction,Age,Outcome
+6,148,72,35,0,33.6,0.627,50,1
+1,85,66,29,0,26.6,0.351,31,0
+8,183,64,0,0,23.3,0.672,32,1
+1,89,66,23,94,28.1,0.167,21,0
+0,137,40,35,168,43.1,2.288,33,1
+5,116,74,0,0,25.6,0.201,30,0
+3,78,50,32,88,31,0.248,26,1
+10,115,0,0,0,35.3,0.134,29,0
+2,197,70,45,543,30.5,0.158,53,1
+8,125,96,0,0,0,0.232,54,1
+4,110,92,0,0,37.6,0.191,30,0
+10,168,74,0,0,38,0.537,34,1
+10,139,80,0,0,27.1,1.441,57,0
+1,189,60,23,846,30.1,0.398,59,1
+5,166,72,19,175,25.8,0.587,51,1
+7,100,0,0,0,30,0.484,32,1
+0,118,84,47,230,45.8,0.551,31,1
+7,107,74,0,0,29.6,0.254,31,1
+1,103,30,38,83,43.3,0.183,33,0
+1,115,70,30,96,34.6,0.529,32,1
+3,126,88,41,235,39.3,0.704,27,0
+8,99,84,0,0,35.4,0.388,50,0
+7,196,90,0,0,39.8,0.451,41,1
+9,119,80,35,0,29,0.263,29,1
+11,143,94,33,146,36.6,0.254,51,1
+10,125,70,26,115,31.1,0.205,41,1
+7,147,76,0,0,39.4,0.257,43,1
+1,97,66,15,140,23.2,0.487,22,0
+13,145,82,19,110,22.2,0.245,57,0
+5,117,92,0,0,34.1,0.337,38,0
+5,109,75,26,0,36,0.546,60,0
+3,158,76,36,245,31.6,0.851,28,1
+3,88,58,11,54,24.8,0.267,22,0
+6,92,92,0,0,19.9,0.188,28,0
+10,122,78,31,0,27.6,0.512,45,0
+4,103,60,33,192,24,0.966,33,0
+11,138,76,0,0,33.2,0.42,35,0
+9,102,76,37,0,32.9,0.665,46,1
+2,90,68,42,0,38.2,0.503,27,1
+4,111,72,47,207,37.1,1.39,56,1
+3,180,64,25,70,34,0.271,26,0
+7,133,84,0,0,40.2,0.696,37,0
+7,106,92,18,0,22.7,0.235,48,0
+9,171,110,24,240,45.4,0.721,54,1
+7,159,64,0,0,27.4,0.294,40,0
+0,180,66,39,0,42,1.893,25,1
+1,146,56,0,0,29.7,0.564,29,0
+2,71,70,27,0,28,0.586,22,0
+7,103,66,32,0,39.1,0.344,31,1
+7,105,0,0,0,0,0.305,24,0
+1,103,80,11,82,19.4,0.491,22,0
+1,101,50,15,36,24.2,0.526,26,0
+5,88,66,21,23,24.4,0.342,30,0
+8,176,90,34,300,33.7,0.467,58,1
+7,150,66,42,342,34.7,0.718,42,0
+1,73,50,10,0,23,0.248,21,0
+7,187,68,39,304,37.7,0.254,41,1
+0,100,88,60,110,46.8,0.962,31,0
+0,146,82,0,0,40.5,1.781,44,0
+0,105,64,41,142,41.5,0.173,22,0
+2,84,0,0,0,0,0.304,21,0
+8,133,72,0,0,32.9,0.27,39,1
+5,44,62,0,0,25,0.587,36,0
+2,141,58,34,128,25.4,0.699,24,0
+7,114,66,0,0,32.8,0.258,42,1
+5,99,74,27,0,29,0.203,32,0
+0,109,88,30,0,32.5,0.855,38,1
+2,109,92,0,0,42.7,0.845,54,0
+1,95,66,13,38,19.6,0.334,25,0
+4,146,85,27,100,28.9,0.189,27,0
+2,100,66,20,90,32.9,0.867,28,1
+5,139,64,35,140,28.6,0.411,26,0
+13,126,90,0,0,43.4,0.583,42,1
+4,129,86,20,270,35.1,0.231,23,0
+1,79,75,30,0,32,0.396,22,0
+1,0,48,20,0,24.7,0.14,22,0
+7,62,78,0,0,32.6,0.391,41,0
+5,95,72,33,0,37.7,0.37,27,0
+0,131,0,0,0,43.2,0.27,26,1
+2,112,66,22,0,25,0.307,24,0
+3,113,44,13,0,22.4,0.14,22,0
+2,74,0,0,0,0,0.102,22,0
+7,83,78,26,71,29.3,0.767,36,0
+0,101,65,28,0,24.6,0.237,22,0
+5,137,108,0,0,48.8,0.227,37,1
+2,110,74,29,125,32.4,0.698,27,0
+13,106,72,54,0,36.6,0.178,45,0
+2,100,68,25,71,38.5,0.324,26,0
+15,136,70,32,110,37.1,0.153,43,1
+1,107,68,19,0,26.5,0.165,24,0
+1,80,55,0,0,19.1,0.258,21,0
+4,123,80,15,176,32,0.443,34,0
+7,81,78,40,48,46.7,0.261,42,0
+4,134,72,0,0,23.8,0.277,60,1
+2,142,82,18,64,24.7,0.761,21,0
+6,144,72,27,228,33.9,0.255,40,0
+2,92,62,28,0,31.6,0.13,24,0
+1,71,48,18,76,20.4,0.323,22,0
+6,93,50,30,64,28.7,0.356,23,0
+1,122,90,51,220,49.7,0.325,31,1
+1,163,72,0,0,39,1.222,33,1
+1,151,60,0,0,26.1,0.179,22,0
+0,125,96,0,0,22.5,0.262,21,0
+1,81,72,18,40,26.6,0.283,24,0
+2,85,65,0,0,39.6,0.93,27,0
+1,126,56,29,152,28.7,0.801,21,0
+1,96,122,0,0,22.4,0.207,27,0
+4,144,58,28,140,29.5,0.287,37,0
+3,83,58,31,18,34.3,0.336,25,0
+0,95,85,25,36,37.4,0.247,24,1
+3,171,72,33,135,33.3,0.199,24,1
+8,155,62,26,495,34,0.543,46,1
+1,89,76,34,37,31.2,0.192,23,0
+4,76,62,0,0,34,0.391,25,0
+7,160,54,32,175,30.5,0.588,39,1
+4,146,92,0,0,31.2,0.539,61,1
+5,124,74,0,0,34,0.22,38,1
+5,78,48,0,0,33.7,0.654,25,0
+4,97,60,23,0,28.2,0.443,22,0
+4,99,76,15,51,23.2,0.223,21,0
+0,162,76,56,100,53.2,0.759,25,1
+6,111,64,39,0,34.2,0.26,24,0
+2,107,74,30,100,33.6,0.404,23,0
+5,132,80,0,0,26.8,0.186,69,0
+0,113,76,0,0,33.3,0.278,23,1
+1,88,30,42,99,55,0.496,26,1
+3,120,70,30,135,42.9,0.452,30,0
+1,118,58,36,94,33.3,0.261,23,0
+1,117,88,24,145,34.5,0.403,40,1
+0,105,84,0,0,27.9,0.741,62,1
+4,173,70,14,168,29.7,0.361,33,1
+9,122,56,0,0,33.3,1.114,33,1
+3,170,64,37,225,34.5,0.356,30,1
+8,84,74,31,0,38.3,0.457,39,0
+2,96,68,13,49,21.1,0.647,26,0
+2,125,60,20,140,33.8,0.088,31,0
+0,100,70,26,50,30.8,0.597,21,0
+0,93,60,25,92,28.7,0.532,22,0
+0,129,80,0,0,31.2,0.703,29,0
+5,105,72,29,325,36.9,0.159,28,0
+3,128,78,0,0,21.1,0.268,55,0
+5,106,82,30,0,39.5,0.286,38,0
+2,108,52,26,63,32.5,0.318,22,0
+10,108,66,0,0,32.4,0.272,42,1
+4,154,62,31,284,32.8,0.237,23,0
+0,102,75,23,0,0,0.572,21,0
+9,57,80,37,0,32.8,0.096,41,0
+2,106,64,35,119,30.5,1.4,34,0
+5,147,78,0,0,33.7,0.218,65,0
+2,90,70,17,0,27.3,0.085,22,0
+1,136,74,50,204,37.4,0.399,24,0
+4,114,65,0,0,21.9,0.432,37,0
+9,156,86,28,155,34.3,1.189,42,1
+1,153,82,42,485,40.6,0.687,23,0
+8,188,78,0,0,47.9,0.137,43,1
+7,152,88,44,0,50,0.337,36,1
+2,99,52,15,94,24.6,0.637,21,0
+1,109,56,21,135,25.2,0.833,23,0
+2,88,74,19,53,29,0.229,22,0
+17,163,72,41,114,40.9,0.817,47,1
+4,151,90,38,0,29.7,0.294,36,0
+7,102,74,40,105,37.2,0.204,45,0
+0,114,80,34,285,44.2,0.167,27,0
+2,100,64,23,0,29.7,0.368,21,0
+0,131,88,0,0,31.6,0.743,32,1
+6,104,74,18,156,29.9,0.722,41,1
+3,148,66,25,0,32.5,0.256,22,0
+4,120,68,0,0,29.6,0.709,34,0
+4,110,66,0,0,31.9,0.471,29,0
+3,111,90,12,78,28.4,0.495,29,0
+6,102,82,0,0,30.8,0.18,36,1
+6,134,70,23,130,35.4,0.542,29,1
+2,87,0,23,0,28.9,0.773,25,0
+1,79,60,42,48,43.5,0.678,23,0
+2,75,64,24,55,29.7,0.37,33,0
+8,179,72,42,130,32.7,0.719,36,1
+6,85,78,0,0,31.2,0.382,42,0
+0,129,110,46,130,67.1,0.319,26,1
+5,143,78,0,0,45,0.19,47,0
+5,130,82,0,0,39.1,0.956,37,1
+6,87,80,0,0,23.2,0.084,32,0
+0,119,64,18,92,34.9,0.725,23,0
+1,0,74,20,23,27.7,0.299,21,0
+5,73,60,0,0,26.8,0.268,27,0
+4,141,74,0,0,27.6,0.244,40,0
+7,194,68,28,0,35.9,0.745,41,1
+8,181,68,36,495,30.1,0.615,60,1
+1,128,98,41,58,32,1.321,33,1
+8,109,76,39,114,27.9,0.64,31,1
+5,139,80,35,160,31.6,0.361,25,1
+3,111,62,0,0,22.6,0.142,21,0
+9,123,70,44,94,33.1,0.374,40,0
+7,159,66,0,0,30.4,0.383,36,1
+11,135,0,0,0,52.3,0.578,40,1
+8,85,55,20,0,24.4,0.136,42,0
+5,158,84,41,210,39.4,0.395,29,1
+1,105,58,0,0,24.3,0.187,21,0
+3,107,62,13,48,22.9,0.678,23,1
+4,109,64,44,99,34.8,0.905,26,1
+4,148,60,27,318,30.9,0.15,29,1
+0,113,80,16,0,31,0.874,21,0
+1,138,82,0,0,40.1,0.236,28,0
+0,108,68,20,0,27.3,0.787,32,0
+2,99,70,16,44,20.4,0.235,27,0
+6,103,72,32,190,37.7,0.324,55,0
+5,111,72,28,0,23.9,0.407,27,0
+8,196,76,29,280,37.5,0.605,57,1
+5,162,104,0,0,37.7,0.151,52,1
+1,96,64,27,87,33.2,0.289,21,0
+7,184,84,33,0,35.5,0.355,41,1
+2,81,60,22,0,27.7,0.29,25,0
+0,147,85,54,0,42.8,0.375,24,0
+7,179,95,31,0,34.2,0.164,60,0
+0,140,65,26,130,42.6,0.431,24,1
+9,112,82,32,175,34.2,0.26,36,1
+12,151,70,40,271,41.8,0.742,38,1
+5,109,62,41,129,35.8,0.514,25,1
+6,125,68,30,120,30,0.464,32,0
+5,85,74,22,0,29,1.224,32,1
+5,112,66,0,0,37.8,0.261,41,1
+0,177,60,29,478,34.6,1.072,21,1
+2,158,90,0,0,31.6,0.805,66,1
+7,119,0,0,0,25.2,0.209,37,0
+7,142,60,33,190,28.8,0.687,61,0
+1,100,66,15,56,23.6,0.666,26,0
+1,87,78,27,32,34.6,0.101,22,0
+0,101,76,0,0,35.7,0.198,26,0
+3,162,52,38,0,37.2,0.652,24,1
+4,197,70,39,744,36.7,2.329,31,0
+0,117,80,31,53,45.2,0.089,24,0
+4,142,86,0,0,44,0.645,22,1
+6,134,80,37,370,46.2,0.238,46,1
+1,79,80,25,37,25.4,0.583,22,0
+4,122,68,0,0,35,0.394,29,0
+3,74,68,28,45,29.7,0.293,23,0
+4,171,72,0,0,43.6,0.479,26,1
+7,181,84,21,192,35.9,0.586,51,1
+0,179,90,27,0,44.1,0.686,23,1
+9,164,84,21,0,30.8,0.831,32,1
+0,104,76,0,0,18.4,0.582,27,0
+1,91,64,24,0,29.2,0.192,21,0
+4,91,70,32,88,33.1,0.446,22,0
+3,139,54,0,0,25.6,0.402,22,1
+6,119,50,22,176,27.1,1.318,33,1
+2,146,76,35,194,38.2,0.329,29,0
+9,184,85,15,0,30,1.213,49,1
+10,122,68,0,0,31.2,0.258,41,0
+0,165,90,33,680,52.3,0.427,23,0
+9,124,70,33,402,35.4,0.282,34,0
+1,111,86,19,0,30.1,0.143,23,0
+9,106,52,0,0,31.2,0.38,42,0
+2,129,84,0,0,28,0.284,27,0
+2,90,80,14,55,24.4,0.249,24,0
+0,86,68,32,0,35.8,0.238,25,0
+12,92,62,7,258,27.6,0.926,44,1
+1,113,64,35,0,33.6,0.543,21,1
+3,111,56,39,0,30.1,0.557,30,0
+2,114,68,22,0,28.7,0.092,25,0
+1,193,50,16,375,25.9,0.655,24,0
+11,155,76,28,150,33.3,1.353,51,1
+3,191,68,15,130,30.9,0.299,34,0
+3,141,0,0,0,30,0.761,27,1
+4,95,70,32,0,32.1,0.612,24,0
+3,142,80,15,0,32.4,0.2,63,0
+4,123,62,0,0,32,0.226,35,1
+5,96,74,18,67,33.6,0.997,43,0
+0,138,0,0,0,36.3,0.933,25,1
+2,128,64,42,0,40,1.101,24,0
+0,102,52,0,0,25.1,0.078,21,0
+2,146,0,0,0,27.5,0.24,28,1
+10,101,86,37,0,45.6,1.136,38,1
+2,108,62,32,56,25.2,0.128,21,0
+3,122,78,0,0,23,0.254,40,0
+1,71,78,50,45,33.2,0.422,21,0
+13,106,70,0,0,34.2,0.251,52,0
+2,100,70,52,57,40.5,0.677,25,0
+7,106,60,24,0,26.5,0.296,29,1
+0,104,64,23,116,27.8,0.454,23,0
+5,114,74,0,0,24.9,0.744,57,0
+2,108,62,10,278,25.3,0.881,22,0
+0,146,70,0,0,37.9,0.334,28,1
+10,129,76,28,122,35.9,0.28,39,0
+7,133,88,15,155,32.4,0.262,37,0
+7,161,86,0,0,30.4,0.165,47,1
+2,108,80,0,0,27,0.259,52,1
+7,136,74,26,135,26,0.647,51,0
+5,155,84,44,545,38.7,0.619,34,0
+1,119,86,39,220,45.6,0.808,29,1
+4,96,56,17,49,20.8,0.34,26,0
+5,108,72,43,75,36.1,0.263,33,0
+0,78,88,29,40,36.9,0.434,21,0
+0,107,62,30,74,36.6,0.757,25,1
+2,128,78,37,182,43.3,1.224,31,1
+1,128,48,45,194,40.5,0.613,24,1
+0,161,50,0,0,21.9,0.254,65,0
+6,151,62,31,120,35.5,0.692,28,0
+2,146,70,38,360,28,0.337,29,1
+0,126,84,29,215,30.7,0.52,24,0
+14,100,78,25,184,36.6,0.412,46,1
+8,112,72,0,0,23.6,0.84,58,0
+0,167,0,0,0,32.3,0.839,30,1
+2,144,58,33,135,31.6,0.422,25,1
+5,77,82,41,42,35.8,0.156,35,0
+5,115,98,0,0,52.9,0.209,28,1
+3,150,76,0,0,21,0.207,37,0
+2,120,76,37,105,39.7,0.215,29,0
+10,161,68,23,132,25.5,0.326,47,1
+0,137,68,14,148,24.8,0.143,21,0
+0,128,68,19,180,30.5,1.391,25,1
+2,124,68,28,205,32.9,0.875,30,1
+6,80,66,30,0,26.2,0.313,41,0
+0,106,70,37,148,39.4,0.605,22,0
+2,155,74,17,96,26.6,0.433,27,1
+3,113,50,10,85,29.5,0.626,25,0
+7,109,80,31,0,35.9,1.127,43,1
+2,112,68,22,94,34.1,0.315,26,0
+3,99,80,11,64,19.3,0.284,30,0
+3,182,74,0,0,30.5,0.345,29,1
+3,115,66,39,140,38.1,0.15,28,0
+6,194,78,0,0,23.5,0.129,59,1
+4,129,60,12,231,27.5,0.527,31,0
+3,112,74,30,0,31.6,0.197,25,1
+0,124,70,20,0,27.4,0.254,36,1
+13,152,90,33,29,26.8,0.731,43,1
+2,112,75,32,0,35.7,0.148,21,0
+1,157,72,21,168,25.6,0.123,24,0
+1,122,64,32,156,35.1,0.692,30,1
+10,179,70,0,0,35.1,0.2,37,0
+2,102,86,36,120,45.5,0.127,23,1
+6,105,70,32,68,30.8,0.122,37,0
+8,118,72,19,0,23.1,1.476,46,0
+2,87,58,16,52,32.7,0.166,25,0
+1,180,0,0,0,43.3,0.282,41,1
+12,106,80,0,0,23.6,0.137,44,0
+1,95,60,18,58,23.9,0.26,22,0
+0,165,76,43,255,47.9,0.259,26,0
+0,117,0,0,0,33.8,0.932,44,0
+5,115,76,0,0,31.2,0.343,44,1
+9,152,78,34,171,34.2,0.893,33,1
+7,178,84,0,0,39.9,0.331,41,1
+1,130,70,13,105,25.9,0.472,22,0
+1,95,74,21,73,25.9,0.673,36,0
+1,0,68,35,0,32,0.389,22,0
+5,122,86,0,0,34.7,0.29,33,0
+8,95,72,0,0,36.8,0.485,57,0
+8,126,88,36,108,38.5,0.349,49,0
+1,139,46,19,83,28.7,0.654,22,0
+3,116,0,0,0,23.5,0.187,23,0
+3,99,62,19,74,21.8,0.279,26,0
+5,0,80,32,0,41,0.346,37,1
+4,92,80,0,0,42.2,0.237,29,0
+4,137,84,0,0,31.2,0.252,30,0
+3,61,82,28,0,34.4,0.243,46,0
+1,90,62,12,43,27.2,0.58,24,0
+3,90,78,0,0,42.7,0.559,21,0
+9,165,88,0,0,30.4,0.302,49,1
+1,125,50,40,167,33.3,0.962,28,1
+13,129,0,30,0,39.9,0.569,44,1
+12,88,74,40,54,35.3,0.378,48,0
+1,196,76,36,249,36.5,0.875,29,1
+5,189,64,33,325,31.2,0.583,29,1
+5,158,70,0,0,29.8,0.207,63,0
+5,103,108,37,0,39.2,0.305,65,0
+4,146,78,0,0,38.5,0.52,67,1
+4,147,74,25,293,34.9,0.385,30,0
+5,99,54,28,83,34,0.499,30,0
+6,124,72,0,0,27.6,0.368,29,1
+0,101,64,17,0,21,0.252,21,0
+3,81,86,16,66,27.5,0.306,22,0
+1,133,102,28,140,32.8,0.234,45,1
+3,173,82,48,465,38.4,2.137,25,1
+0,118,64,23,89,0,1.731,21,0
+0,84,64,22,66,35.8,0.545,21,0
+2,105,58,40,94,34.9,0.225,25,0
+2,122,52,43,158,36.2,0.816,28,0
+12,140,82,43,325,39.2,0.528,58,1
+0,98,82,15,84,25.2,0.299,22,0
+1,87,60,37,75,37.2,0.509,22,0
+4,156,75,0,0,48.3,0.238,32,1
+0,93,100,39,72,43.4,1.021,35,0
+1,107,72,30,82,30.8,0.821,24,0
+0,105,68,22,0,20,0.236,22,0
+1,109,60,8,182,25.4,0.947,21,0
+1,90,62,18,59,25.1,1.268,25,0
+1,125,70,24,110,24.3,0.221,25,0
+1,119,54,13,50,22.3,0.205,24,0
+5,116,74,29,0,32.3,0.66,35,1
+8,105,100,36,0,43.3,0.239,45,1
+5,144,82,26,285,32,0.452,58,1
+3,100,68,23,81,31.6,0.949,28,0
+1,100,66,29,196,32,0.444,42,0
+5,166,76,0,0,45.7,0.34,27,1
+1,131,64,14,415,23.7,0.389,21,0
+4,116,72,12,87,22.1,0.463,37,0
+4,158,78,0,0,32.9,0.803,31,1
+2,127,58,24,275,27.7,1.6,25,0
+3,96,56,34,115,24.7,0.944,39,0
+0,131,66,40,0,34.3,0.196,22,1
+3,82,70,0,0,21.1,0.389,25,0
+3,193,70,31,0,34.9,0.241,25,1
+4,95,64,0,0,32,0.161,31,1
+6,137,61,0,0,24.2,0.151,55,0
+5,136,84,41,88,35,0.286,35,1
+9,72,78,25,0,31.6,0.28,38,0
+5,168,64,0,0,32.9,0.135,41,1
+2,123,48,32,165,42.1,0.52,26,0
+4,115,72,0,0,28.9,0.376,46,1
+0,101,62,0,0,21.9,0.336,25,0
+8,197,74,0,0,25.9,1.191,39,1
+1,172,68,49,579,42.4,0.702,28,1
+6,102,90,39,0,35.7,0.674,28,0
+1,112,72,30,176,34.4,0.528,25,0
+1,143,84,23,310,42.4,1.076,22,0
+1,143,74,22,61,26.2,0.256,21,0
+0,138,60,35,167,34.6,0.534,21,1
+3,173,84,33,474,35.7,0.258,22,1
+1,97,68,21,0,27.2,1.095,22,0
+4,144,82,32,0,38.5,0.554,37,1
+1,83,68,0,0,18.2,0.624,27,0
+3,129,64,29,115,26.4,0.219,28,1
+1,119,88,41,170,45.3,0.507,26,0
+2,94,68,18,76,26,0.561,21,0
+0,102,64,46,78,40.6,0.496,21,0
+2,115,64,22,0,30.8,0.421,21,0
+8,151,78,32,210,42.9,0.516,36,1
+4,184,78,39,277,37,0.264,31,1
+0,94,0,0,0,0,0.256,25,0
+1,181,64,30,180,34.1,0.328,38,1
+0,135,94,46,145,40.6,0.284,26,0
+1,95,82,25,180,35,0.233,43,1
+2,99,0,0,0,22.2,0.108,23,0
+3,89,74,16,85,30.4,0.551,38,0
+1,80,74,11,60,30,0.527,22,0
+2,139,75,0,0,25.6,0.167,29,0
+1,90,68,8,0,24.5,1.138,36,0
+0,141,0,0,0,42.4,0.205,29,1
+12,140,85,33,0,37.4,0.244,41,0
+5,147,75,0,0,29.9,0.434,28,0
+1,97,70,15,0,18.2,0.147,21,0
+6,107,88,0,0,36.8,0.727,31,0
+0,189,104,25,0,34.3,0.435,41,1
+2,83,66,23,50,32.2,0.497,22,0
+4,117,64,27,120,33.2,0.23,24,0
+8,108,70,0,0,30.5,0.955,33,1
+4,117,62,12,0,29.7,0.38,30,1
+0,180,78,63,14,59.4,2.42,25,1
+1,100,72,12,70,25.3,0.658,28,0
+0,95,80,45,92,36.5,0.33,26,0
+0,104,64,37,64,33.6,0.51,22,1
+0,120,74,18,63,30.5,0.285,26,0
+1,82,64,13,95,21.2,0.415,23,0
+2,134,70,0,0,28.9,0.542,23,1
+0,91,68,32,210,39.9,0.381,25,0
+2,119,0,0,0,19.6,0.832,72,0
+2,100,54,28,105,37.8,0.498,24,0
+14,175,62,30,0,33.6,0.212,38,1
+1,135,54,0,0,26.7,0.687,62,0
+5,86,68,28,71,30.2,0.364,24,0
+10,148,84,48,237,37.6,1.001,51,1
+9,134,74,33,60,25.9,0.46,81,0
+9,120,72,22,56,20.8,0.733,48,0
+1,71,62,0,0,21.8,0.416,26,0
+8,74,70,40,49,35.3,0.705,39,0
+5,88,78,30,0,27.6,0.258,37,0
+10,115,98,0,0,24,1.022,34,0
+0,124,56,13,105,21.8,0.452,21,0
+0,74,52,10,36,27.8,0.269,22,0
+0,97,64,36,100,36.8,0.6,25,0
+8,120,0,0,0,30,0.183,38,1
+6,154,78,41,140,46.1,0.571,27,0
+1,144,82,40,0,41.3,0.607,28,0
+0,137,70,38,0,33.2,0.17,22,0
+0,119,66,27,0,38.8,0.259,22,0
+7,136,90,0,0,29.9,0.21,50,0
+4,114,64,0,0,28.9,0.126,24,0
+0,137,84,27,0,27.3,0.231,59,0
+2,105,80,45,191,33.7,0.711,29,1
+7,114,76,17,110,23.8,0.466,31,0
+8,126,74,38,75,25.9,0.162,39,0
+4,132,86,31,0,28,0.419,63,0
+3,158,70,30,328,35.5,0.344,35,1
+0,123,88,37,0,35.2,0.197,29,0
+4,85,58,22,49,27.8,0.306,28,0
+0,84,82,31,125,38.2,0.233,23,0
+0,145,0,0,0,44.2,0.63,31,1
+0,135,68,42,250,42.3,0.365,24,1
+1,139,62,41,480,40.7,0.536,21,0
+0,173,78,32,265,46.5,1.159,58,0
+4,99,72,17,0,25.6,0.294,28,0
+8,194,80,0,0,26.1,0.551,67,0
+2,83,65,28,66,36.8,0.629,24,0
+2,89,90,30,0,33.5,0.292,42,0
+4,99,68,38,0,32.8,0.145,33,0
+4,125,70,18,122,28.9,1.144,45,1
+3,80,0,0,0,0,0.174,22,0
+6,166,74,0,0,26.6,0.304,66,0
+5,110,68,0,0,26,0.292,30,0
+2,81,72,15,76,30.1,0.547,25,0
+7,195,70,33,145,25.1,0.163,55,1
+6,154,74,32,193,29.3,0.839,39,0
+2,117,90,19,71,25.2,0.313,21,0
+3,84,72,32,0,37.2,0.267,28,0
+6,0,68,41,0,39,0.727,41,1
+7,94,64,25,79,33.3,0.738,41,0
+3,96,78,39,0,37.3,0.238,40,0
+10,75,82,0,0,33.3,0.263,38,0
+0,180,90,26,90,36.5,0.314,35,1
+1,130,60,23,170,28.6,0.692,21,0
+2,84,50,23,76,30.4,0.968,21,0
+8,120,78,0,0,25,0.409,64,0
+12,84,72,31,0,29.7,0.297,46,1
+0,139,62,17,210,22.1,0.207,21,0
+9,91,68,0,0,24.2,0.2,58,0
+2,91,62,0,0,27.3,0.525,22,0
+3,99,54,19,86,25.6,0.154,24,0
+3,163,70,18,105,31.6,0.268,28,1
+9,145,88,34,165,30.3,0.771,53,1
+7,125,86,0,0,37.6,0.304,51,0
+13,76,60,0,0,32.8,0.18,41,0
+6,129,90,7,326,19.6,0.582,60,0
+2,68,70,32,66,25,0.187,25,0
+3,124,80,33,130,33.2,0.305,26,0
+6,114,0,0,0,0,0.189,26,0
+9,130,70,0,0,34.2,0.652,45,1
+3,125,58,0,0,31.6,0.151,24,0
+3,87,60,18,0,21.8,0.444,21,0
+1,97,64,19,82,18.2,0.299,21,0
+3,116,74,15,105,26.3,0.107,24,0
+0,117,66,31,188,30.8,0.493,22,0
+0,111,65,0,0,24.6,0.66,31,0
+2,122,60,18,106,29.8,0.717,22,0
+0,107,76,0,0,45.3,0.686,24,0
+1,86,66,52,65,41.3,0.917,29,0
+6,91,0,0,0,29.8,0.501,31,0
+1,77,56,30,56,33.3,1.251,24,0
+4,132,0,0,0,32.9,0.302,23,1
+0,105,90,0,0,29.6,0.197,46,0
+0,57,60,0,0,21.7,0.735,67,0
+0,127,80,37,210,36.3,0.804,23,0
+3,129,92,49,155,36.4,0.968,32,1
+8,100,74,40,215,39.4,0.661,43,1
+3,128,72,25,190,32.4,0.549,27,1
+10,90,85,32,0,34.9,0.825,56,1
+4,84,90,23,56,39.5,0.159,25,0
+1,88,78,29,76,32,0.365,29,0
+8,186,90,35,225,34.5,0.423,37,1
+5,187,76,27,207,43.6,1.034,53,1
+4,131,68,21,166,33.1,0.16,28,0
+1,164,82,43,67,32.8,0.341,50,0
+4,189,110,31,0,28.5,0.68,37,0
+1,116,70,28,0,27.4,0.204,21,0
+3,84,68,30,106,31.9,0.591,25,0
+6,114,88,0,0,27.8,0.247,66,0
+1,88,62,24,44,29.9,0.422,23,0
+1,84,64,23,115,36.9,0.471,28,0
+7,124,70,33,215,25.5,0.161,37,0
+1,97,70,40,0,38.1,0.218,30,0
+8,110,76,0,0,27.8,0.237,58,0
+11,103,68,40,0,46.2,0.126,42,0
+11,85,74,0,0,30.1,0.3,35,0
+6,125,76,0,0,33.8,0.121,54,1
+0,198,66,32,274,41.3,0.502,28,1
+1,87,68,34,77,37.6,0.401,24,0
+6,99,60,19,54,26.9,0.497,32,0
+0,91,80,0,0,32.4,0.601,27,0
+2,95,54,14,88,26.1,0.748,22,0
+1,99,72,30,18,38.6,0.412,21,0
+6,92,62,32,126,32,0.085,46,0
+4,154,72,29,126,31.3,0.338,37,0
+0,121,66,30,165,34.3,0.203,33,1
+3,78,70,0,0,32.5,0.27,39,0
+2,130,96,0,0,22.6,0.268,21,0
+3,111,58,31,44,29.5,0.43,22,0
+2,98,60,17,120,34.7,0.198,22,0
+1,143,86,30,330,30.1,0.892,23,0
+1,119,44,47,63,35.5,0.28,25,0
+6,108,44,20,130,24,0.813,35,0
+2,118,80,0,0,42.9,0.693,21,1
+10,133,68,0,0,27,0.245,36,0
+2,197,70,99,0,34.7,0.575,62,1
+0,151,90,46,0,42.1,0.371,21,1
+6,109,60,27,0,25,0.206,27,0
+12,121,78,17,0,26.5,0.259,62,0
+8,100,76,0,0,38.7,0.19,42,0
+8,124,76,24,600,28.7,0.687,52,1
+1,93,56,11,0,22.5,0.417,22,0
+8,143,66,0,0,34.9,0.129,41,1
+6,103,66,0,0,24.3,0.249,29,0
+3,176,86,27,156,33.3,1.154,52,1
+0,73,0,0,0,21.1,0.342,25,0
+11,111,84,40,0,46.8,0.925,45,1
+2,112,78,50,140,39.4,0.175,24,0
+3,132,80,0,0,34.4,0.402,44,1
+2,82,52,22,115,28.5,1.699,25,0
+6,123,72,45,230,33.6,0.733,34,0
+0,188,82,14,185,32,0.682,22,1
+0,67,76,0,0,45.3,0.194,46,0
+1,89,24,19,25,27.8,0.559,21,0
+1,173,74,0,0,36.8,0.088,38,1
+1,109,38,18,120,23.1,0.407,26,0
+1,108,88,19,0,27.1,0.4,24,0
+6,96,0,0,0,23.7,0.19,28,0
+1,124,74,36,0,27.8,0.1,30,0
+7,150,78,29,126,35.2,0.692,54,1
+4,183,0,0,0,28.4,0.212,36,1
+1,124,60,32,0,35.8,0.514,21,0
+1,181,78,42,293,40,1.258,22,1
+1,92,62,25,41,19.5,0.482,25,0
+0,152,82,39,272,41.5,0.27,27,0
+1,111,62,13,182,24,0.138,23,0
+3,106,54,21,158,30.9,0.292,24,0
+3,174,58,22,194,32.9,0.593,36,1
+7,168,88,42,321,38.2,0.787,40,1
+6,105,80,28,0,32.5,0.878,26,0
+11,138,74,26,144,36.1,0.557,50,1
+3,106,72,0,0,25.8,0.207,27,0
+6,117,96,0,0,28.7,0.157,30,0
+2,68,62,13,15,20.1,0.257,23,0
+9,112,82,24,0,28.2,1.282,50,1
+0,119,0,0,0,32.4,0.141,24,1
+2,112,86,42,160,38.4,0.246,28,0
+2,92,76,20,0,24.2,1.698,28,0
+6,183,94,0,0,40.8,1.461,45,0
+0,94,70,27,115,43.5,0.347,21,0
+2,108,64,0,0,30.8,0.158,21,0
+4,90,88,47,54,37.7,0.362,29,0
+0,125,68,0,0,24.7,0.206,21,0
+0,132,78,0,0,32.4,0.393,21,0
+5,128,80,0,0,34.6,0.144,45,0
+4,94,65,22,0,24.7,0.148,21,0
+7,114,64,0,0,27.4,0.732,34,1
+0,102,78,40,90,34.5,0.238,24,0
+2,111,60,0,0,26.2,0.343,23,0
+1,128,82,17,183,27.5,0.115,22,0
+10,92,62,0,0,25.9,0.167,31,0
+13,104,72,0,0,31.2,0.465,38,1
+5,104,74,0,0,28.8,0.153,48,0
+2,94,76,18,66,31.6,0.649,23,0
+7,97,76,32,91,40.9,0.871,32,1
+1,100,74,12,46,19.5,0.149,28,0
+0,102,86,17,105,29.3,0.695,27,0
+4,128,70,0,0,34.3,0.303,24,0
+6,147,80,0,0,29.5,0.178,50,1
+4,90,0,0,0,28,0.61,31,0
+3,103,72,30,152,27.6,0.73,27,0
+2,157,74,35,440,39.4,0.134,30,0
+1,167,74,17,144,23.4,0.447,33,1
+0,179,50,36,159,37.8,0.455,22,1
+11,136,84,35,130,28.3,0.26,42,1
+0,107,60,25,0,26.4,0.133,23,0
+1,91,54,25,100,25.2,0.234,23,0
+1,117,60,23,106,33.8,0.466,27,0
+5,123,74,40,77,34.1,0.269,28,0
+2,120,54,0,0,26.8,0.455,27,0
+1,106,70,28,135,34.2,0.142,22,0
+2,155,52,27,540,38.7,0.24,25,1
+2,101,58,35,90,21.8,0.155,22,0
+1,120,80,48,200,38.9,1.162,41,0
+11,127,106,0,0,39,0.19,51,0
+3,80,82,31,70,34.2,1.292,27,1
+10,162,84,0,0,27.7,0.182,54,0
+1,199,76,43,0,42.9,1.394,22,1
+8,167,106,46,231,37.6,0.165,43,1
+9,145,80,46,130,37.9,0.637,40,1
+6,115,60,39,0,33.7,0.245,40,1
+1,112,80,45,132,34.8,0.217,24,0
+4,145,82,18,0,32.5,0.235,70,1
+10,111,70,27,0,27.5,0.141,40,1
+6,98,58,33,190,34,0.43,43,0
+9,154,78,30,100,30.9,0.164,45,0
+6,165,68,26,168,33.6,0.631,49,0
+1,99,58,10,0,25.4,0.551,21,0
+10,68,106,23,49,35.5,0.285,47,0
+3,123,100,35,240,57.3,0.88,22,0
+8,91,82,0,0,35.6,0.587,68,0
+6,195,70,0,0,30.9,0.328,31,1
+9,156,86,0,0,24.8,0.23,53,1
+0,93,60,0,0,35.3,0.263,25,0
+3,121,52,0,0,36,0.127,25,1
+2,101,58,17,265,24.2,0.614,23,0
+2,56,56,28,45,24.2,0.332,22,0
+0,162,76,36,0,49.6,0.364,26,1
+0,95,64,39,105,44.6,0.366,22,0
+4,125,80,0,0,32.3,0.536,27,1
+5,136,82,0,0,0,0.64,69,0
+2,129,74,26,205,33.2,0.591,25,0
+3,130,64,0,0,23.1,0.314,22,0
+1,107,50,19,0,28.3,0.181,29,0
+1,140,74,26,180,24.1,0.828,23,0
+1,144,82,46,180,46.1,0.335,46,1
+8,107,80,0,0,24.6,0.856,34,0
+13,158,114,0,0,42.3,0.257,44,1
+2,121,70,32,95,39.1,0.886,23,0
+7,129,68,49,125,38.5,0.439,43,1
+2,90,60,0,0,23.5,0.191,25,0
+7,142,90,24,480,30.4,0.128,43,1
+3,169,74,19,125,29.9,0.268,31,1
+0,99,0,0,0,25,0.253,22,0
+4,127,88,11,155,34.5,0.598,28,0
+4,118,70,0,0,44.5,0.904,26,0
+2,122,76,27,200,35.9,0.483,26,0
+6,125,78,31,0,27.6,0.565,49,1
+1,168,88,29,0,35,0.905,52,1
+2,129,0,0,0,38.5,0.304,41,0
+4,110,76,20,100,28.4,0.118,27,0
+6,80,80,36,0,39.8,0.177,28,0
+10,115,0,0,0,0,0.261,30,1
+2,127,46,21,335,34.4,0.176,22,0
+9,164,78,0,0,32.8,0.148,45,1
+2,93,64,32,160,38,0.674,23,1
+3,158,64,13,387,31.2,0.295,24,0
+5,126,78,27,22,29.6,0.439,40,0
+10,129,62,36,0,41.2,0.441,38,1
+0,134,58,20,291,26.4,0.352,21,0
+3,102,74,0,0,29.5,0.121,32,0
+7,187,50,33,392,33.9,0.826,34,1
+3,173,78,39,185,33.8,0.97,31,1
+10,94,72,18,0,23.1,0.595,56,0
+1,108,60,46,178,35.5,0.415,24,0
+5,97,76,27,0,35.6,0.378,52,1
+4,83,86,19,0,29.3,0.317,34,0
+1,114,66,36,200,38.1,0.289,21,0
+1,149,68,29,127,29.3,0.349,42,1
+5,117,86,30,105,39.1,0.251,42,0
+1,111,94,0,0,32.8,0.265,45,0
+4,112,78,40,0,39.4,0.236,38,0
+1,116,78,29,180,36.1,0.496,25,0
+0,141,84,26,0,32.4,0.433,22,0
+2,175,88,0,0,22.9,0.326,22,0
+2,92,52,0,0,30.1,0.141,22,0
+3,130,78,23,79,28.4,0.323,34,1
+8,120,86,0,0,28.4,0.259,22,1
+2,174,88,37,120,44.5,0.646,24,1
+2,106,56,27,165,29,0.426,22,0
+2,105,75,0,0,23.3,0.56,53,0
+4,95,60,32,0,35.4,0.284,28,0
+0,126,86,27,120,27.4,0.515,21,0
+8,65,72,23,0,32,0.6,42,0
+2,99,60,17,160,36.6,0.453,21,0
+1,102,74,0,0,39.5,0.293,42,1
+11,120,80,37,150,42.3,0.785,48,1
+3,102,44,20,94,30.8,0.4,26,0
+1,109,58,18,116,28.5,0.219,22,0
+9,140,94,0,0,32.7,0.734,45,1
+13,153,88,37,140,40.6,1.174,39,0
+12,100,84,33,105,30,0.488,46,0
+1,147,94,41,0,49.3,0.358,27,1
+1,81,74,41,57,46.3,1.096,32,0
+3,187,70,22,200,36.4,0.408,36,1
+6,162,62,0,0,24.3,0.178,50,1
+4,136,70,0,0,31.2,1.182,22,1
+1,121,78,39,74,39,0.261,28,0
+3,108,62,24,0,26,0.223,25,0
+0,181,88,44,510,43.3,0.222,26,1
+8,154,78,32,0,32.4,0.443,45,1
+1,128,88,39,110,36.5,1.057,37,1
+7,137,90,41,0,32,0.391,39,0
+0,123,72,0,0,36.3,0.258,52,1
+1,106,76,0,0,37.5,0.197,26,0
+6,190,92,0,0,35.5,0.278,66,1
+2,88,58,26,16,28.4,0.766,22,0
+9,170,74,31,0,44,0.403,43,1
+9,89,62,0,0,22.5,0.142,33,0
+10,101,76,48,180,32.9,0.171,63,0
+2,122,70,27,0,36.8,0.34,27,0
+5,121,72,23,112,26.2,0.245,30,0
+1,126,60,0,0,30.1,0.349,47,1
+1,93,70,31,0,30.4,0.315,23,0
diff --git a/TechTopics/DataAnalystRoadMap2020/data_analyst_learning_path_2020.md b/TechTopics/DataAnalystRoadMap2020/data_analyst_learning_path_2020.md
index 8296e232..9373cb63 100644
--- a/TechTopics/DataAnalystRoadMap2020/data_analyst_learning_path_2020.md
+++ b/TechTopics/DataAnalystRoadMap2020/data_analyst_learning_path_2020.md
@@ -19,19 +19,25 @@ Following is a schedule to learn data science step by step considering **4 hours
 
 ### Week 3, 4, 5: BI tools
 
+Power BI is becoming quite popular and I would suggest learning Power BI over Tableau unless you have a strong reason to pick the later.
+
+* Power BI (project)
+  - My Power BI course that can make you job ready: https://codebasics.io/courses/power-bi-data-analysis-with-end-to-end-project
+  - codebasics sales insights project: https://www.youtube.com/playlist?list=PLeo1K3hjS3uva8pk1FI3iK9kCOKQdz1I9
+  - personal finance project: https://www.youtube.com/watch?v=pqSoCa2NGj4
+   
 * Tableau
   - Codebasics sales insights project: https://www.youtube.com/playlist?list=PLeo1K3hjS3usDI9XeUgjNZs6VnE0meBrL
   - HINDI codebasics sales insights project: https://www.youtube.com/playlist?list=PLPbgcxheSpE2B7YFfOualUTlRhgnQR7Kn
   - Abhishek Agarwal: https://www.youtube.com/playlist?list=PL6_D9USWkG1C4raCOTlTf_oq4XnNNNtm9
   - Bharti consultancy:  https://www.youtube.com/playlist?list=PLyD1XCIRA3gQmN73dHwQWr4R08ABZFMtZ
   
-* Power BI (project)
-  - codebasics sales insights project: https://www.youtube.com/playlist?list=PLeo1K3hjS3uva8pk1FI3iK9kCOKQdz1I9
-  - personal finance project: https://www.youtube.com/watch?v=pqSoCa2NGj4
-  
+ 
 ### Week 6 and 7: Python
 
 * Python
+	- My Python course that is 5X better than the free playlists: https://codebasics.io/courses/python-for-beginner-and-intermediate-learners
+	- If you do above course you do not need to follow the youtube playlists
 	- Codebasics python tutorials (first 16) - https://www.youtube.com/playlist?list=PLeo1K3hjS3uv5U-Lmlnucd7gqF-3ehIh0
 	- Codebasics python HINDI tutorials - https://www.youtube.com/playlist?list=PLPbgcxheSpE1DJKfdko58_AIZRIT0TjpO
 	- Make sure to work on exercises in these folders: https://github.com/codebasics/py/tree/master/Basics/Hindi
@@ -53,6 +59,7 @@ Following is a schedule to learn data science step by step considering **4 hours
 ### Week 10, 11, 12: SQL & MongoDB
 
 * SQL
+	- Check my affordable and latest SQL course: https://codebasics.io/courses/sql-beginner-to-advanced-for-data-professionals
 	- kudavenkat playlist (first 16): https://www.youtube.com/playlist?list=PL08903FB7ACA1C2FB
 	- khanacademy SQL course: https://www.khanacademy.org/computing/computer-programming/sql
   
diff --git a/TechTopics/DataScienceRoadMap2020/data_science_roadmap_2020.md b/TechTopics/DataScienceRoadMap2020/data_science_roadmap_2020.md
index 718ae7ec..8df94aba 100644
--- a/TechTopics/DataScienceRoadMap2020/data_science_roadmap_2020.md
+++ b/TechTopics/DataScienceRoadMap2020/data_science_roadmap_2020.md
@@ -20,6 +20,7 @@ Following is a schedule to learn data science step by step considering **4 hours
 ### Week 3 and 4: Python
 
 * Python
+        - My Python course that is 5X better than the free playlists: https://codebasics.io/courses/python-for-beginner-and-intermediate-learners 
 	- Codebasics python tutorials (first 16) - https://www.youtube.com/playlist?list=PLeo1K3hjS3uv5U-Lmlnucd7gqF-3ehIh0
 	- Codebasics python HINDI tutorials (first 16)- https://www.youtube.com/playlist?list=PLPbgcxheSpE1DJKfdko58_AIZRIT0TjpO
 	- Make sure to work on exercises
@@ -55,6 +56,7 @@ Following is a schedule to learn data science step by step considering **4 hours
 ### Week 17, 18, 19, 20: SQL & MongoDB
 
 * SQL
+	- My SQL course for data professionals, if you do this you don't have to look at any other resources: https://codebasics.io/courses/sql-beginner-to-advanced-for-data-professionals
 	- kudavenkat playlist (first 16): https://www.youtube.com/playlist?list=PL08903FB7ACA1C2FB
 	- khanacademy SQL course: https://www.khanacademy.org/computing/computer-programming/sql
   
@@ -63,14 +65,19 @@ Following is a schedule to learn data science step by step considering **4 hours
   
 ### Week 21, 22, 23, 24: BI tools
 
+If you don't have a strong reason to choose between Power BI and Tableau, I would suggest choosing Power BI as it is increasing becoming popular. Microsoft is investing a lot in this tool and accordingly to Gartner's magic quadrant, Power BI is leading the data analytics market as of 2022.
+
+* Power BI (project)
+  - My Power BI course that can make you job ready: https://codebasics.io/courses/power-bi-data-analysis-with-end-to-end-project
+  - codebasics sales insights project: https://www.youtube.com/playlist?list=PLeo1K3hjS3uva8pk1FI3iK9kCOKQdz1I9
+  - personal finance management project: https://www.youtube.com/watch?v=pqSoCa2NGj4
+
 * Tableau
   - Codebasics sales insights project: https://www.youtube.com/playlist?list=PLeo1K3hjS3usDI9XeUgjNZs6VnE0meBrL
   - HINDI codebasics sales insights project: https://www.youtube.com/playlist?list=PLPbgcxheSpE2B7YFfOualUTlRhgnQR7Kn
   - Abhishek Agarwal: https://www.youtube.com/playlist?list=PL6_D9USWkG1C4raCOTlTf_oq4XnNNNtm9
   - Bharti consultancy:  https://www.youtube.com/playlist?list=PLyD1XCIRA3gQmN73dHwQWr4R08ABZFMtZ
-* Power BI (project)
-  - codebasics sales insights project: https://www.youtube.com/playlist?list=PLeo1K3hjS3uva8pk1FI3iK9kCOKQdz1I9
-  - personal finance management project: https://www.youtube.com/watch?v=pqSoCa2NGj4
+
   
 ## Soft skills
 ---------------