Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save intisarkhalil/14b085d742739de18e55b43e46271114 to your computer and use it in GitHub Desktop.
Save intisarkhalil/14b085d742739de18e55b43e46271114 to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center>\n",
" <img src=\"https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/images/IDSNlogo.png\" width=\"300\" alt=\"cognitiveclass.ai logo\" />\n",
"</center>\n",
"\n",
"# Non Linear Regression Analysis\n",
"\n",
"Estimated time needed: **20** minutes\n",
"\n",
"## Objectives\n",
"\n",
"After completing this lab you will be able to:\n",
"\n",
"* Differentiate between linear and non-linear regression\n",
"* Use non-linear regression model in Python\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If the data shows a curvy trend, then linear regression will not produce very accurate results when compared to a non-linear regression since linear regression presumes that the data is linear.\n",
"Let's learn about non linear regressions and apply an example in python. In this notebook, we fit a non-linear model to the datapoints corrensponding to China's GDP from 1960 to 2014.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"importing_libraries\">Importing required libraries</h2>\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Although linear regression can do a great job at modeling some datasets, it cannot be used for all datasets. First recall how linear regression, models a dataset. It models the linear relationship between a dependent variable y and the independent variables x. It has a simple equation, of degree 1, for example y = $2x$ + 3.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"y = 2*(x) + 3\n",
"y_noise = 2 * np.random.normal(size=x.size)\n",
"ydata = y + y_noise\n",
"#plt.figure(figsize=(8,6))\n",
"plt.plot(x, ydata, 'bo')\n",
"plt.plot(x,y, 'r') \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Independent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Non-linear regression is a method to model the non-linear relationship between the independent variables $x$ and the dependent variable $y$. Essentially any relationship that is not linear can be termed as non-linear, and is usually represented by the polynomial of $k$ degrees (maximum power of $x$). For example:\n",
"\n",
"$$ \\ y = a x^3 + b x^2 + c x + d \\ $$\n",
"\n",
"Non-linear functions can have elements like exponentials, logarithms, fractions, and so on. For example: $$ y = \\log(x)$$\n",
"\n",
"We can have a function that's even more complicated such as :\n",
"$$ y = \\log(a x^3 + b x^2 + c x + d)$$\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's take a look at a cubic function's graph.\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"y = 1*(x**3) + 1*(x**2) + 1*x + 3\n",
"y_noise = 20 * np.random.normal(size=x.size)\n",
"ydata = y + y_noise\n",
"plt.plot(x, ydata, 'bo')\n",
"plt.plot(x,y, 'r') \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Independent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see, this function has $x^3$ and $x^2$ as independent variables. Also, the graphic of this function is not a straight line over the 2D plane. So this is a non-linear function.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some other types of non-linear functions are:\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Quadratic\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ Y = X^2 $$\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"\n",
"y = np.power(x,2)\n",
"y_noise = 2 * np.random.normal(size=x.size)\n",
"ydata = y + y_noise\n",
"plt.plot(x, ydata, 'bo')\n",
"plt.plot(x,y, 'r') \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Independent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exponential\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"An exponential function with base c is defined by $$ Y = a + b c^X$$ where b ≠0, c > 0 , c ≠1, and x is any real number. The base, c, is constant and the exponent, x, is a variable.\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"\n",
"Y= np.exp(X)\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Independent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Logarithmic\n",
"\n",
"The response $y$ is a results of applying the logarithmic map from the input $x$ to the output $y$. It is one of the simplest form of **log()**: i.e. $$ y = \\log(x)$$\n",
"\n",
"Please consider that instead of $x$, we can use $X$, which can be a polynomial representation of the $x$ values. In general form it would be written as\\\n",
"\\begin{equation}\n",
"y = \\log(X)\n",
"\\end{equation}\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/ipykernel_launcher.py:3: RuntimeWarning: invalid value encountered in log\n",
" This is separate from the ipykernel package so we can avoid doing imports until\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"Y = np.log(X)\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Independent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Sigmoidal/Logistic\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ Y = a + \\frac{b}{1+ c^{(X-d)}}$$\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"\n",
"Y = 1-4/(1+np.power(3, X-2))\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Independent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"ref2\"></a>\n",
"\n",
"# Non-Linear Regression example\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For an example, we're going to try and fit a non-linear model to the datapoints corresponding to China's GDP from 1960 to 2014. We download a dataset with two columns, the first, a year between 1960 and 2014, the second, China's corresponding annual gross domestic income in US dollars for that year.\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2021-06-10 22:18:08 URL:https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/data/china_gdp.csv [1218/1218] -> \"china_gdp.csv\" [1]\n"
]
},
{
"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>Year</th>\n",
" <th>Value</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1960</td>\n",
" <td>5.918412e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1961</td>\n",
" <td>4.955705e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1962</td>\n",
" <td>4.668518e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1963</td>\n",
" <td>5.009730e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1964</td>\n",
" <td>5.906225e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1965</td>\n",
" <td>6.970915e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>1966</td>\n",
" <td>7.587943e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1967</td>\n",
" <td>7.205703e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>1968</td>\n",
" <td>6.999350e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>1969</td>\n",
" <td>7.871882e+10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Year Value\n",
"0 1960 5.918412e+10\n",
"1 1961 4.955705e+10\n",
"2 1962 4.668518e+10\n",
"3 1963 5.009730e+10\n",
"4 1964 5.906225e+10\n",
"5 1965 6.970915e+10\n",
"6 1966 7.587943e+10\n",
"7 1967 7.205703e+10\n",
"8 1968 6.999350e+10\n",
"9 1969 7.871882e+10"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"#downloading dataset\n",
"!wget -nv -O china_gdp.csv https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/data/china_gdp.csv\n",
" \n",
"df = pd.read_csv(\"china_gdp.csv\")\n",
"df.head(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Did you know?** When it comes to Machine Learning, you will likely be working with large datasets. As a business, where can you host your data? IBM is offering a unique opportunity for businesses, with 10 Tb of IBM Cloud Object Storage: [Sign up now for free](http://cocl.us/ML0101EN-IBM-Offer-CC)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Plotting the Dataset\n",
"\n",
"This is what the datapoints look like. It kind of looks like an either logistic or exponential function. The growth starts off slow, then from 2005 on forward, the growth is very significant. And finally, it decelerate slightly in the 2010s.\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(8,5))\n",
"x_data, y_data = (df[\"Year\"].values, df[\"Value\"].values)\n",
"plt.plot(x_data, y_data, 'ro')\n",
"plt.ylabel('GDP')\n",
"plt.xlabel('Year')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Choosing a model\n",
"\n",
"From an initial look at the plot, we determine that the logistic function could be a good approximation,\n",
"since it has the property of starting with a slow growth, increasing growth in the middle, and then decreasing again at the end; as illustrated below:\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAApS0lEQVR4nO3dd3yV9fn/8deVSQgQRhiyoyKIDIUAjlqx1lmts+5Zv7W2tfVbW0etWvvD1tZO+61KqbMVtXUjbtu6qiCggGzC3iQEQva8fn+cgx5jCAfMnTsn5/18PM4j5x7n5H2HcK7c9/0Z5u6IiEjySgk7gIiIhEuFQEQkyakQiIgkORUCEZEkp0IgIpLk0sIOsLdyc3N98ODBYccQEUkoc+bMKXL3nk1tS7hCMHjwYGbPnh12DBGRhGJma3a3TZeGRESSnAqBiEiSUyEQEUlyKgQiIkkusEJgZg+a2VYzW7Cb7WZmfzKzAjObb2ZjgsoiIiK7F+QZwcPASc1sPxkYEn1cBdwXYBYREdmNwAqBu78NFDezy+nA3zxiBtDVzPYLKo+IiDQtzH4E/YB1Mcvro+s2Nd7RzK4ictbAwIEDWyWciEhraWhwymvq2FlVR2lVLaVVdZRV1VFaHflaUVNHWXUdYwd14+ghTfYJ+0LCLATWxLomJ0dw9ynAFID8/HxNoCAibZa7U1ZdR1FZDUVl1RSVVrOtvIbi6GN7RQ3bK2rZUVFDSWUtOypqKa2qpSGOT7bvTDyg3RWC9cCAmOX+wMaQsoiI7JG7s6Oilg07Klm/vZKNOyrZvLOKTSVVbCmpYmtpFVt2VlNZW9/k6ztnptEtO4NuHdPp1jGDvNxscrLSyclKp0uHdLpkpdG5QzqdO6TRKTP66JBGdmYa2RlppKY09ffzFxdmIZgGXGNmTwATgBJ3/9xlIRGR1uTubC2tZmVhOauKylm9rZw128pZW1zJuuIKyqrrPrN/RloK++V0oHeXDozs35Wvds6kV5dMcjt9+ujRKYNuHTPISGubLfYDKwRm9jgwEcg1s/XAz4B0AHefDLwEnAIUABXAFUFlERFpyrayapZsLmXJ5lKWbt7J8q1lFGwto7Tq0w/7jLQUBnbvyKDuHZmQ153+3bLo3y2Lfl070rdrB7pnZ2AWzF/qrSWwQuDuF+xhuwPfC+r7i4jE2l5ew9z1O5i3bgcLNpSwcONONpVUfbI9t1MGQ3p15oxD+3Fgr07s3zObvNxs+uZkkRLQJZm2IuFGHxUR2RN3Z2VRObNXF/PBqu3MWVPM6m0VAJjBAT07MSGvO4f0zeHg/bowtE9nenbODDl1eFQIRKRd2LijkneWF/Leim28t2IbhaXVAHTPzmDsoG6cN24gowfkMKp/Vzpl6qMvln4aIpKQ6uobmLV6O/9esoU3lxayfGsZALmdMjnygB4ccUAPxud1Z//c7IS/hh80FQIRSRhVtfW8vayQVxZs5l9LtlJSWUtGagoT9u/OeeMG8OWDejKkVyd98O8lFQIRadPq6ht4t6CI5+du5PVFWyirriMnK53jhvXihEN6c/SQnmTrUs8Xop+eiLRJy7eU8s/Z63hu7kYKS6vJyUrnlJF9+Nqovhx5QA/SU9tmm/xEpEIgIm1GVW09Ly/YxGMz1zJr9XbSU41jh/birDH9+cqwXm22Q1aiUyEQkdBt3VnFozPWMHXmWraV15CXm83Npwzj7DH96dEpeZt1thYVAhEJTcHWUu57cyXT5m2grsE5blhvrjhqMEfs36Pdd+JqS1QIRKTVLdhQwj3/KeCVhZvJTEvhogmDuPzIwQzOzQ47WlJSIRCRVrNsSyl/eH0ZLy/YTOcOaVxz7IFcfuRgXf4JmQqBiARu445KfvvqUp6du4HsjDSuPW4IVx6dR5cO6WFHE1QIRCRA5dV1TH5rBVPeXokDVx29P1cfcwDdsjPCjiYxVAhEpMW5Oy/M38Qd0xextbSar4/uyw0nDaV/t45hR5MmqBCISItaUVjGbc8v4L8F2xjZL4fJl4xlzMBuYceSZqgQiEiLqK1vYMrbK7n7jeVkpqcw6fRDuHDCoMCmV5SWo0IgIl/Yoo07uf6peSzcuJOvjdyPn319OL06dwg7lsRJhUBE9ll9g/PXd1byu9eWkpOVzn0XjeHkkfuFHUv2kgqBiOyTTSWV/PAfc5mxspiTR/Thl2eOVGugBKVCICJ77Y1FW/jRk/OorW/grnNG8Y2x/TUHQAJTIRCRuNXVN/Db15Yx+a0VHNK3C3++cAx5GhYi4akQiEhcCkurueaxD5m5qpgLJwzktlOH0yE9NexY0gJUCERkjxZsKOFbf5vN9ooafn/uaM4a0z/sSNKCVAhEpFkvzt/Ej56cS/eOGTx19ZGM6JcTdiRpYSoEItIkd+feN1fwm1eXMnZQNyZfPJaenTVKaHukQiAin1NX38Ctzy/k8Q/Wcsahffn1OaPITNP9gPZKhUBEPqOipo5rHvuIfy/ZyncnHsD1Jw5V09B2ToVARD5RUlnLFQ99wNx1O5h0xgguOXxQ2JGkFagQiAgARWXVXPLABxRsLeWeCzVURDJRIRARNpVUctH9M9m4o5L7LxvHMQf1DDuStCIVApEkt6mkkvOnzKC4rIa/XzmBcYO7hx1JWllKkG9uZieZ2VIzKzCzm5rYnmNmL5jZPDNbaGZXBJlHRD4rtgj87crxKgJJKrBCYGapwD3AycBw4AIzG95ot+8Bi9x9NDAR+J2ZafhCkVawuaSKC6bMYFtZDY9cOZ7DNItY0gryjGA8UODuK929BngCOL3RPg50tkjbtE5AMVAXYCYRAbaVVXPh/TMoip4JaCrJ5BZkIegHrItZXh9dF+vPwMHARuBj4Fp3b2j8RmZ2lZnNNrPZhYWFQeUVSQo7q2q59MEP2LijkgcvH6ciIIEWgqZ6oHij5ROBuUBf4FDgz2bW5XMvcp/i7vnunt+zp1oziOyrypp6rnx4Fsu2lDL54rGMz9M9AQm2EKwHBsQs9yfyl3+sK4BnPKIAWAUMCzCTSNKqq2/gu1PnMGfNdv543mFMHNor7EjSRgRZCGYBQ8wsL3oD+HxgWqN91gLHAZhZb2AosDLATCJJyd356bML+M/SQiadMYKvjVJnMflUYP0I3L3OzK4BXgVSgQfdfaGZXR3dPhmYBDxsZh8TuZR0o7sXBZVJJFn96V8F/GP2Or7/lQO5aIKGjZDPCrRDmbu/BLzUaN3kmOcbgROCzCCS7P45ex1/eGMZ54ztz3XHHxR2HGmDAu1QJiLhen/FNm5+5mOOHpLLnWeN1Cii0iQVApF2anVROd+ZOofBudncc9EY0lP1312apt8MkXaopKKWbz4yCwMeuCyfLh3Sw44kbZgGnRNpZ+rqG7jm8Q9ZV1zB1P85nEE9ssOOJG2cCoFIO/ObV5fyzvIi7jp7lDqMSVx0aUikHXlh3kb+8vZKLjl8EOeOG7DnF4gQRyGwiIvN7Lbo8kAzGx98NBHZG4s27uSGp+YzbnA3bj218UC/IrsXzxnBvcARwAXR5VIiw0uLSBtRUlnL1Y/OoUtWGvdcNIaMNJ3sS/ziuUcwwd3HmNlHAO6+XXMGiLQd7s71T85j445K/vHtI+jVuUPYkSTBxPNnQ210khkHMLOewOeGihaRcNz/zipeW7SFn5xyMGMHaUhp2XvxFII/Ac8CvczsF8C7wC8DTSUicZm1uphfvbKEk0f04ZtHDQ47jiSoPV4acvepZjaHyCihBpzh7osDTyYizSour+H7j33EgG5Z/PqcURo+QvbZbguBmcU2QN4KPB67zd2LgwwmIrvn7tzw1DyKy2t45rtHquewfCHNnRHMIXJfYHczje0fSCIR2aOH31vNG4u38rPThjOiX07YcSTB7bYQuHteawYRkfgs2FDCnS8t4asH9+LyIweHHUfagbiGmDCzs4AvETkTeMfdnwsylIg0raKmjh88/hHdstO565zRui8gLSKensX3AlcDHwMLgKvNTB3KREJwx4uLWbWtnD+cdyjds9WdR1pGPGcExwAj3H1XP4JHiBQFEWlFbyzawmMz1/LtY/bnyANyw44j7Ug8/QiWAgNjlgcA84OJIyJNKSyt5san5zN8vy6ablJaXHPNR18gck8gB1hsZh9ElycA77VOPBFxd258ej5l1XU8cf6hZKalhh1J2pnmLg39ttVSiMhuPTFrHf9espXbTxvOkN6dw44j7VBzzUffas0gIvJ564oruGP6Io46sAeXHjE47DjSTsXTauhwM5tlZmVmVmNm9Wa2szXCiSSzhgbnx0/Ow8y465zRpKSoqagEI56bxX8mMhfBciAL+J/oOhEJ0EPvrWbmqmJuO204/bpmhR1H2rG4OpS5e4GZpbp7PfCQmelmsUiAVhSWcdcrkd7D3xjbP+w40s7FUwgqohPRzDWzu4BNQHawsUSSV32Dc8NT8+mQnsovzxyp3sMSuHguDV0CpALXAOVE+hGcHWQokWT28HurmbNmOz87bTi9umi2MQlePPMRrIk+rQR+HmwckeS2uqic37y6hOOG9eLMw/qFHUeSRHMdyv7p7uea2cdEp6mM5e6jAk0mkmQaGpwbnp5PemoKv9AlIWlFzZ0RXBv9emprBBFJdlNnruGDVcXcdc4o+uTokpC0nuY6lG2KTlr/gLt/tRUziSSdjTsq+dXLSzh6SK5aCUmra/ZmcbS5aIWZ7dMUSGZ2kpktNbMCM7tpN/tMNLO5ZrbQzNSbWZKOu3PLcwtocNRKSEIRT/PRKuBjM3udSKshANz9B829KHo2cQ9wPLAemGVm09x9Ucw+XYF7gZPcfa2Z9dr7QxBJbNPmbeTfS7Zy66nDGdC9Y9hxJAnFUwhejD721nigwN1XApjZE8DpwKKYfS4EnnH3tQDuvnUfvo9Iwiour+HnLyzi0AFdNe2khCae5qOP7ON79wPWxSyvJzKEdayDgHQzexPoDNzt7n9r/EZmdhVwFcDAgQMbbxZJWHdMX8TOylp+ffYoUjWWkIRkj4XAzIYAdwLDgU+aMrj7/nt6aRPrGjdDTQPGAscRGcfofTOb4e7LPvMi9ynAFID8/PzPNWUVSUTvLi/imY82cM2xBzK0j4aXlvDE07P4IeA+oA44Fvgb8Pc4XreeSC/kXfoDG5vY5xV3L3f3IuBtYHQc7y2S0Cpr6rn52Y/Jy83mmq8cGHYcSXLxFIIsd/8XYO6+xt1vB74Sx+tmAUPMLC86VtH5wLRG+zwPHG1maWbWkcilo8XxxxdJTH/693LWFlfwizNH0CFdM45JuOJqNWRmKcByM7sG2ADssXWPu9dF93+VyFhFD7r7QjO7Orp9srsvNrNXiMyB3ADc7+4L9vVgRBLBks07+evbK/nG2P6ahF7aBHNv+pK7mfV29y1mNo7IX+ldgUlAF+A37j6j1VLGyM/P99mzZ4fxrUW+sIYG5+zJ77FmWwX/uu4YumVnhB1JkoSZzXH3/Ka2NXdGMC86ztDjwDJ3Xw9cEURAkWTx2Adr+WjtDn5/7mgVAWkzmrtH0I/IBPZHA8vM7DkzO8/MNFWSyD7YWlrFr19ZwpEH9NDIotKm7LYQuHu9u7/q7lcQaf3zEHAGsMrMprZSPpF2Y9L0xVTXNXDHGSM0jIS0KfG0GsLda4j0CF4M7CTSp0BE4vTWskJemLeR7008kP17dgo7jshnNFsIzGygmV1vZh8C04m0/jnd3Q9rlXQi7UBVbT23PreA/Xtmc/XEPfXDFGl9zU1M8x6R+wRPAle5u5rqiOyDe/5TwNriCh771gQy09RnQNqe5loN/QR423fXvlRE9qhgaxmT31rBWYf1U58BabOam5hGcwOIfAHuzq3PLSArPZWbv3Zw2HFEdiuum8Uisveem7uB91du48aTh5HbKTPsOCK7tcdCYGZ58awTkU+VVNRyx/TFHDawKxeM09Dp0rbFc0bwdBPrnmrpICLtyV2vLmF7RQ13nDGCFM0zIG1cc62GhgGHADlmdlbMpi7EzEsgIp/10drtPPbBWq44Mo9D+u7TdN8iraq5VkNDgVOJDDZ3Wsz6UuBbAWYSSVh19Q389NkF9OqcyXUnHBR2HJG4NNdq6HngeTM7wt3fb8VMIgnrb++vYdGmndxz4Rg6ZcYzyrtI+OL5TS0ws5uBwbH7u/s3gwolkog2l1Txu9eW8uWDenLKyD5hxxGJWzyF4HngHeANoD7YOCKJa9KLi6htcCadfogGlZOEEk8h6OjuNwaeRCSBvb2skBfnb+K64w9iUI/ssOOI7JV4mo9ON7NTAk8ikqCqauu57fkF7J+bzbeP0aByknjiKQTXEikGVWa208xKzWxn0MFEEsV9b65g9bYKJp0xQoPKSULa46Uhd+/cGkFEEtHKwjLue3MFXx/dl6MO1KBykpjiGWLCzOxiM7s1ujzAzMYHH02kbXN3bn1+AZnpKdxyqgaVk8QVz6Whe4EjgAujy2XAPYElEkkQ0+Zt5L8F27jhpGH06qzO9pK44mk1NMHdx5jZRwDuvt3MMgLOJdKmlVTUMmn6IkYP6MqF4zWonCS2eM4Ias0sFXAAM+sJNASaSqSN+81rSygur+EXZ4wgVYPKSYKLpxD8CXgW6GVmvwDeBX4ZaCqRNuzDtduZOnMtlx05mBH9NKicJL54Wg1NNbM5wHGAAWe4++LAk4m0QbX1Ddz8zMf07tyBH50wNOw4Ii2iuWGou8csbgUej93m7sVBBhNpix58dxVLNpcy+eKxGlRO2o3mfpPnELkvYMBAYHv0eVdgLaBZyiSprCuu4I9vLOerB/fmxEN6hx1HpMXs9h6Bu+e5+/7Aq8Bp7p7r7j2IzFHwTGsFFGkL3J2fTVuIGfxcg8pJOxPPzeJx7v7SrgV3fxk4JrhIIm3Pix9v4t9LtvLDrx5Ev65ZYccRaVHxXOQsMrNbgEeJXCq6GNgWaCqRNqSkopbbpy1iRL8uXHHU4LDjiLS4eM4ILgB6EmlC+hzQK7puj8zsJDNbamYFZnZTM/uNM7N6MzsnnvcVaU2/emUJxeXV/OqsUaSlxvNfRiSxxNN8tJjICKR7JdoJ7R7geGA9MMvMprn7oib2+zWRexEibcoHq4p5/IO1fOvoPPUZkHZrj4XAzA4Cfsznp6r8yh5eOh4ocPeV0fd5AjgdWNRov+8DTwPj4k4t0gqq6+r5yTPz6dc1ix8er4nopf2K5x7Bk8Bk4H72bqrKfsC6mOX1wITYHcysH3Am8BWaKQRmdhVwFcDAgRrXRVrHn/9dwIrCch6+YhwdM9RnQNqveH6769z9vn1476ba13mj5T8CN7p7fXPN8dx9CjAFID8/v/F7iLS4xZt2ct+bKzjrsH5MHNor7DgigYqnELxgZt8lcrO4etfKOHoWrwcGxCz3BzY22icfeCJaBHKBU8yszt2fiyOXSCDqG5ybnp5PTlY6t546POw4IoGLpxBcFv16fcw6B/Y0OessYIiZ5QEbgPP5dE6DyJu4f9I72cweBqarCEjYHvrvKuatL+FPFxxGt2yNuC7tXzythvZpKAl3rzOza4i0BkoFHnT3hWZ2dXT75H15X5EgrS4q57evLeW4Yb04bdR+YccRaRXxtBrqCFwHDHT3q8xsCDDU3afv6bXRHskvNVrXZAFw98vjSiwSkIYG54an55OeksIdZ47QMBKSNOLpHfMQUAMcGV1eD9wRWCKRkDw6cw0frCrm1lOHs1+OhpGQ5BFPITjA3e8CagHcvZKmWwSJJKx1xRX86uUlfPmgnnwjv3/YcURaVTyFoMbMsvh0qsoDiGk9JJLoGhqcG5+eT4oZd541UpeEJOnE02roZ8ArwAAzmwocBVweZCiR1jR15hreW7GNX5w5QiOLSlKKp9XQ62b2IXA4kUtC17p7UeDJRFrB6qJyfvlS5JLQhePVa12SU7z95o8BvkTk8lA6kc5lIgmtvsH58ZPzSE817jp7lC4JSdLa4z0CM7sXuBr4GFgAfNvM7gk6mEjQHnh3JbPXbOfnpx9Cn5wOYccRCU08ZwTHACPcfdfN4keIFAWRhLV0cym/fW0ZJx7SmzMO7Rd2HJFQxdNqaCmRyet3GQDMDyaOSPCqauu59omP6NIhjV+cqVZCIvGcEfQAFpvZB9HlccD7ZjYNwN2/HlQ4kSD87rWlLNlcykOXjyO3U2bYcURCF08huC3wFCKt5L8FRfz1nVVccvggjh2m4aVFIL7mo2+Z2SBgiLu/Ee1clubupcHHE2k5Oypq+NE/57F/z2xuPuXgsOOItBnxtBr6FvAU8Jfoqv5EJrEXSRjuzg1PzWdbeTV3n3cYWRmpYUcSaTPiuVn8PSK9iXcCuPtyQOfUklAenbGG1xZt4YYThzGyvyahF4kVTyGodveaXQtmlsbnp5wUabMWb9rJpBcXc8xBPbnyS/s0vYZIuxZPIXjLzG4GsszseCKT2b8QbCyRllFRU8f3H/+InKx0fnfuaFJS1FRUpLF4CsFNQCGRTmTfJjLRzC1BhhJpCe7OLc8tYEVhGX8491A1FRXZjXhaDTWY2XPAc+5eGHwkkZbxj1nreObDDVx73BC+NCQ37DgibdZuzwgs4nYzKwKWAEvNrNDM1K9A2ryFG0u4bdpCvnRgLj84bkjYcUTatOYuDf0vkdZC49y9h7t3ByYAR5nZD1sjnMi+2FlVy3enfkj3jhncff6hpOq+gEizmisElwIXuPuqXSvcfSVwcXSbSJvT0OBc94+5bNheyZ8vPIweui8gskfNFYL0piagid4nSA8uksi+u/tfy3lj8VZuPXU4+YO7hx1HJCE0Vwhq9nGbSCheX7SFu/+1nHPG9ufSIwaFHUckYTTXami0me1sYr0BmsVD2pSCrWX88B9zGdU/hzvOGKGhpUX2wm4LgbtrMBZJCNvLa7jykVlkpqUw+eKxdEjXr67I3oh3zmKRNqmmroGrH53Dph1VPH7VBPp2zQo7kkjCUSGQhOXu3Pb8AmauKuaP5x3K2EG6OSyyL+IZYkKkTfrrOyt5YtY6rjn2QM44TPMOi+wrFQJJSM/P3cAvX1rC10bux3XHHxR2HJGEpkIgCee9FUX8+Ml5jM/rrhFFRVqACoEklKWbS/n23+cwuEc2f70kXy2ERFpAoIXAzE4ys6VmVmBmNzWx/SIzmx99vGdmo4PMI4ltzbZyLnlgJh0zUnn4m+PJ6agO7iItIbBCYGapwD3AycBw4AIzG95ot1XAMe4+CpgETAkqjyS2zSVVXPzATGrrG3j0ygn0UzNRkRYT5BnBeKDA3VdGp7p8Ajg9dgd3f8/dt0cXZwD9A8wjCaq4vIaLH5hJcVkND18xniG9O4cdSaRdCbIQ9APWxSyvj67bnSuBl5vaYGZXmdlsM5tdWKi5cZLJjooaLnlgJmuLK7j/snGMHtA17Egi7U6QhaCpphxNTnpvZscSKQQ3NrXd3ae4e7675/fs2bMFI0pbtqMiciawfEsZf7lkLEcc0CPsSCLtUpA9i9cDA2KW+wMbG+9kZqOA+4GT3X1bgHkkgZRU1HLxAzNZtrmMv1w6lmOH9go7kki7FeQZwSxgiJnlmVkGcD4wLXYHMxsIPANc4u7LAswiCWRbWTUXPTAjUgQuUREQCVpgZwTuXmdm1wCvAqnAg+6+0Myujm6fDNwG9ADujQ4bXOfu+UFlkrZvc0kVF90/gw07Kply6VgmqgiIBM7cm7xs32bl5+f77Nmzw44hAVizrZyL7p/JjopaHrx8HOPzNIicSEsxszm7+0Nbo49Km/Dx+hKueHgW9Q0NPPatCYzq3zXsSCJJQ0NMSOj+s3Qr5015n8y0FJ68+ggVAZFWpjMCCdUTH6zlp88tYFifzjx0+Th6ddEsqCKtTYVAQlFX38CdLy/hgXdX8eWDenLvRWPolKlfR5Ew6H+etLqSilquefxD3llexOVHDuaWrx1MWqquUoqERYVAWtWSzTv5zqMfsn57Bb86ayTnjx8YdiSRpKdCIK3mqTnrueW5j+ncIZ3HvnU44wareahIW6BCIIGrrKnn5y8s5IlZ6zhi/x7cfcGh9Oqsm8IibYUKgQRqwYYSfvDER6wqKue7Ew/guuMP0v0AkTZGhUACUd/g/PWdlfzutaX0yM5k6pUTOPLA3LBjiUgTVAikxRVsLeX6p+bz0dodnHRIH+48ayTdsjPCjiUiu6FCIC2mtr6Bv76zkj++sZyOGancff6hfH10X6IDCopIG6VCIC1i1upibnl2AUu3lHLyiD78v9NH0LNzZtixRCQOKgTyhWwtreKuV5by1Jz19OuaxZRLxnLCIX3CjiUie0GFQPZJVW0997+zkvveXEFNfQPfmXgA3//KgXTM0K+USKLR/1rZK3X1DTzz0Qb++PoyNpZUceIhvbnp5IPJy80OO5qI7CMVAolLQ4Mz/eNN/PH1ZawsKmdU/xx+f96hHL6/JpQXSXQqBNKs2voGps3dyL1vFrCisJyhvTvzl0vGcsLw3moNJNJOqBBIk8qq63hy9jruf2cVG3ZUMqxPZ/7vgsM4ZeR+pKaoAIi0JyoE8hmri8r5+4w1/HPWOkqr68gf1I1JZxzCsUN76QxApJ1SIRBq6hp4Y/EWHpu5lncLikhLMU4dtR9XHJXH6AFdw44nIgFTIUhS7s6CDTt5+sP1TJu3keLyGvp1zeJHxx/EueMG0FtTRookDRWCJLNsSynT52/ixfkbWVFYTkZaCscP7805Y/rz5YN66vq/SBJSIWjnGhqcj9bt4PVFW3h90WZWFJaTYjAhrwff/FIep47sS07H9LBjikiIVAjaoaKyat5dXsRbywp5Z3khRWU1pKUYE/bvzmVHDuakEX00MYyIfEKFoB0oLq9h1upiZqzcxvsrtrFkcykA3bMz+PKQXI4d1ouJQ3uRk6W//EXk81QIEkx9g7NsSynz1u1g7rodzFpdzIrCcgAy01IYN7g715/Yly8dmMvIfjmk6Jq/iOyBCkEbVlVbz/ItZSzevJOFG0pYsHEnizbupLK2HoCcrHTGDurG2WP7kz+oO6MH5JCZlhpyahFJNCoEbUBJRS2rtpWzqqiM5VvKKNgaeazeVk6DR/bJzkhleN8unDduAKMH5DC6f1fycrPVyUtEvjAVglZQVVvPxh2VbNhRyYbtlazfXsna4opPHsXlNZ/sm5ZiDOrRkSG9O3Ha6L4M69OZoX06M7hHti7ziEggVAj2kbuzs6qO4vIatpVVU1haTVH065ad1WwprWLLzmo2l1SyvaL2M69NTTH6du3AwO4dOfGQ3uTlZjO4RzZ5udkM6pFNRlpKSEclIsko0EJgZicBdwOpwP3u/qtG2y26/RSgArjc3T8MMtMu7k51XQPl1XWUV9dTVl1HWXUdpVW1lFZFvu6sqqOkspaSilp2VNawvaKWHRWRr9vLa6jbdd0mRopBbqdMenXJpG9OB8YO6sp+OVn06dKBft2y6Nc1iz45HUhP1Ye9iLQNgRUCM0sF7gGOB9YDs8xsmrsvitntZGBI9DEBuC/6tcW9uXQrk6YvoqKmPvqoo7b+8x/kjXVITyEnK52crHS6dswgLzebMR0z6JadQY/sDLpnZ9CjUya5nTLo2TmT7h0zSNOHvIgkkCDPCMYDBe6+EsDMngBOB2ILwenA39zdgRlm1tXM9nP3TS0dpktWOsP6dKFjRmrkkZlGp8w0sjNSyc5Mo3OHNDplptOpQxpdOqTRJSudzh3S1ApHRNq9IAtBP2BdzPJ6Pv/XflP79AM+UwjM7CrgKoCBAwfuU5gxA7sx5qJu+/RaEZH2LMhrGE01cWl8LSaefXD3Ke6e7+75PXv2bJFwIiISEWQhWA8MiFnuD2zch31ERCRAQRaCWcAQM8szswzgfGBao32mAZdaxOFASRD3B0REZPcCu0fg7nVmdg3wKpHmow+6+0Izuzq6fTLwEpGmowVEmo9eEVQeERFpWqD9CNz9JSIf9rHrJsc8d+B7QWYQEZHmqcG7iEiSUyEQEUlyKgQiIknOIpfpE4eZFQJrws6xD3KBorBDhCAZjzsZjxmS87gT6ZgHuXuTHbESrhAkKjOb7e75Yedobcl43Ml4zJCcx91ejlmXhkREkpwKgYhIklMhaD1Twg4QkmQ87mQ8ZkjO424Xx6x7BCIiSU5nBCIiSU6FQEQkyakQhMDMfmxmbma5YWcJmpn9xsyWmNl8M3vWzLqGnSlIZnaSmS01swIzuynsPEEzswFm9h8zW2xmC83s2rAztRYzSzWzj8xsethZvigVglZmZgOIzOO8NuwsreR1YIS7jwKWAT8JOU9gYubpPhkYDlxgZsPDTRW4OuBH7n4wcDjwvSQ45l2uBRaHHaIlqBC0vj8AN9DETGztkbu/5u510cUZRCYfaq8+mafb3WuAXfN0t1vuvsndP4w+LyXywdgv3FTBM7P+wNeA+8PO0hJUCFqRmX0d2ODu88LOEpJvAi+HHSJAu5uDOymY2WDgMGBmyFFawx+J/EHXEHKOFhHofATJyMzeAPo0semnwM3ACa2bKHjNHbO7Px/d56dELiNMbc1srSyuObjbIzPrBDwN/K+77ww7T5DM7FRgq7vPMbOJIcdpESoELczdv9rUejMbCeQB88wMIpdIPjSz8e6+uRUjtrjdHfMuZnYZcCpwnLfvjitJOQe3maUTKQJT3f2ZsPO0gqOAr5vZKUAHoIuZPeruF4eca5+pQ1lIzGw1kO/uiTJy4T4xs5OA3wPHuHth2HmCZGZpRG6IHwdsIDJv94XuvjDUYAGyyF81jwDF7v6/IcdpddEzgh+7+6khR/lCdI9AgvZnoDPwupnNNbPJe3pBooreFN81T/di4J/tuQhEHQVcAnwl+u87N/qXsiQQnRGIiCQ5nRGIiCQ5FQIRkSSnQiAikuRUCEREkpwKgYhIklMhkNCYWdle7j8xzJEe9zZvo9debmZ9d7P+8Ubrcs2s0Mwy43zvfDP7Uxzf/8+72bbPxyXtgwqBSOu4HPhcIQCeAY43s44x684Bprl79Z7e1MzS3H22u/+gZWJKMlIhkNBF/9J/08yeis5dMDXaY3XX+P5LzOxd4KyY12Sb2YNmNis6Jvzp0fWXm9nzZvZKdF6An8W85mIz+yDa6ekv0WGjMbMyM/uFmc0zsxlm1ju6Ps/M3o9+j0mNMl8fXT/fzH4eXTc4Oi7/X6Nj879mZllmdg6QD0yNfu+sXe8THZfnbeC0mLc/H3jczE4zs5nR43sjJtftZjbFzF4D/hZ7pmRm483svehr3jOzoTHvO6Cpn8uejkuSgLvroUcoD6As+nUiUEJkbJ4U4H3gS0TGcVkHDCEyoNs/genR1/wSuDj6vCuRoR2yifzlvQnoAWQBC4h8CB8MvACkR19zL3Bp9LkDp0Wf3wXcEn0+LWaf78XkPYHIpOUWzTsd+DIwmMjAeodG9/tnTMY3iQwp0tTP4RvAs9HnfYmMT5QKdOPTTp//A/wu+vx2YA6QFfPz2/Vz6QKkRZ9/FXg6+rzJn0ujf4cmjyvs3xM9gn9o0DlpKz5w9/UAZjaXyIdqGbDK3ZdH1z8KXBXd/wQiA3/9OLrcARgYff66u2+LvuYZIkWlDhgLzIqebGQBW6P71xD50IPIB+zx0edHAWdHn/8d+HXM9z4B+Ci63IlIsVobzTs35r0Gx3Hs04F7zawLcC7wlLvXR8e8/4eZ7QdkAKtiXjPN3SubeK8c4BEzG0KkwKXHbGvq5zI7ZvvujuvtOI5BEpgKgbQVsdfD6/n0d3N3Y6AYcLa7L/3MSrMJTbzGo/s/4u5NzZBW6+67XhP7vXf3/Q24093/0uh7D27iOLLYA3evNLNXgDOJXBb6YXTT/wG/d/dp0cHNbo95Wflu3m4S8B93PzOa581mjqXxcpPHJe2f7hFIW7YEyDOzA6LLF8RsexX4fsy9hMNith1vZt2j1+LPAP4L/As4x8x6RffvbmaD9vD9/0vkgxngokbf+5sWGYMfM+u3632bUUpk8L3deRy4DuhNZCY3iPx1vyH6/LI9vP8usa+5vNG2pn4usfbluKQdUCGQNsvdq4hcCnoxerN4TczmSUQue8w3swXR5V3eJXIpZy6Ra+Sz3X0RcAvwmpnNJzKX8n57iHAtkTl4ZxH5gN2V6zXgMeB9M/sYeIrmP+QBHgYmN75ZHOM1IvcH/hFzdnI78KSZvQPEO1z5XcCdZvZfIvcZYn3u5xK7cR+PS9oBjT4q7YqZXU7kJug1YWcRSRQ6IxARSXI6IxARSXI6IxARSXIqBCIiSU6FQEQkyakQiIgkORUCEZEk9/8BvZixZJ111/gAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"Y = 1.0 / (1.0 + np.exp(-X))\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Independent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The formula for the logistic function is the following:\n",
"\n",
"$$ \\hat{Y} = \\frac1{1+e^{\\beta\\_1(X-\\beta\\_2)}}$$\n",
"\n",
"$\\beta\\_1$: Controls the curve's steepness,\n",
"\n",
"$\\beta\\_2$: Slides the curve on the x-axis.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Building The Model\n",
"\n",
"Now, let's build our regression model and initialize its parameters.\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"def sigmoid(x, Beta_1, Beta_2):\n",
" y = 1 / (1 + np.exp(-Beta_1*(x-Beta_2)))\n",
" return y"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lets look at a sample sigmoid line that might fit with the data:\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f8b87fc0630>]"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEDCAYAAAAlRP8qAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAp8UlEQVR4nO3deXxU1f3/8dcnG4Qdwg5ZWEWQPSyCFVqrIm7tV23FuIGKe+3397VqtYtd7KPa5etepEgVQangRhWlWltRQSRBtoQtrAk7hCUQICRzfn/M8DWGmWRCJpkl7+fjkUdm7tzcfA4k75w599xzzTmHiIhEv7hwFyAiIqGhQBcRiREKdBGRGKFAFxGJEQp0EZEYoUAXEYkRYQ10M5tuZnvMbHUQ+55vZsvMrMzMrq6wPd3McsxsuZnlmtkddVu1iEhksnDOQzez84EjwAzn3DnV7JsBtADuB+Y55+b6tifhbccJM2sGrAZGOed21GnxIiIRJqw9dOfcQqCo4jYz62FmH/h63Z+aWR/fvluccysBT6VjlDrnTvieNkLDSCLSQEVi+E0F7nXODcXbG3++ui8ws1QzWwkUAI+rdy4iDVFCuAuoyDdkMgqYY2anNjeq7uuccwXAADPrDLxtZnOdc7vrrlIRkcgTUYGO9x3DQefcoDP5YufcDjPLBb4FzA1lYSIikS6ihlycc4eBzWZ2DYB5Dazqa8ysq5kl+x63BkYD6+q8WBGRCBPuaYuvAYuBs8ys0MxuAbKAW8xsBZALXOnbd5iZFQLXAC/4euIAZwNLfPt/AvzRObeqvtsiIhJuYZ22KCIioRNRQy4iInLmwnZStG3bti4jIyNc315EJCrl5OTsc8618/da2AI9IyOD7OzscH17EZGoZGZbA72mIRcRkRihQBcRiRHVBnqwKyL6phWWV1wJUURE6k8wPfSXgHFV7WBm8cDjwIIQ1CQiImeg2kD3tyKiH/cCbwB7QlGUiIjUXK3H0M2sC/B9YEoQ+042s2wzy967d29tv7WIiFQQipOiTwIPOufKq9vROTfVOZfpnMts187vNEoRETlDoZiHngnM9i132xYYb2Zlzrm3Q3BsEZGYsXHvET7K203/Li0Z1bNtyI9f60B3znU79djMXgLeVZiLiEC5x7Fs2wE+ytvNh3m72bTvKAB3ju0RnkD3rYg4FmjrW+3wl0AigHOu2nFzEZGGpLTMw+cb9/H+qp18mLebAyUnSYw3RnZP4ebRGVxwdge6tEquk+9dbaA75yYEezDn3M21qkZEJAqVlnn4LH8v763cxYd5uzh8vIzmjRL4ztntuahvR87v3ZbmjRPrvI5Iu2ORiEhU8HgcSzYX8c7y7cxftdMb4o0TuLBvBy7t34nzerWlUUJ8vdakQBcRqYF1u4p566vtzFu+nR2HjtM0KZ6L+3XksoGdGN2z/kO8IgW6iEg1DpaU8vZX23k9u5C8nYeJjzPG9G7Hg5f04cK+HWiSFBlRGhlViIhEGI/H8cWm/cxeWsAHubsoLfNwTpcWPHp5Xy4b2Jm2zRqFu8TTKNBFRCrYf+QEf88u4LUvt1FQdIwWjROYMCyVHwxLpV/nluEur0oKdBFp8JxzLC84yCuLt/Luyp2UlnsY2b0N9190Fhf360jjxPCNi9eEAl1EGqwTZeXMW76DGYu3smr7IZomxXPt8FRuGJlOrw7Nw11ejSnQRaTBOXC0lFlLtvLSoq3sO3KCXu2b8Zsr+/H9IV1p1ih6YzF6KxcRqaEt+47y4mebmZNTwPGTHsb0bsdt3+rO6J4p+NajimoKdBGJeau3H+LZj/NZkLeLxLg4rhzUmVu/1Z2zOkbfsEpVFOgiErNyth7g2Y838O91e2neOIG7xvbgplEZtG/eONyl1QkFuojEFOccizft59mP81m0cT+tmyTyk4vP4oZz02lRD+uphJMCXURixtItRfxhwTq+3FxEu+aN+NmlZ3PdiLSIuZKzrjWMVopITFtZeJA//XM9n6zfS7vmjXj08r5cOzwtauaPh4oCXUSi1vrdxfzpn+tYkLubVk0S+eklfbjx3AySkxpWkJ+iQBeRqLP78HH+/M/1zMkpoElSAj/+bi9uOa9bvaw5HskU6CISNY6eKGPqwk1MXbiJMo+HiaO7cfe3e9KmaVK4S4sICnQRiXjlHsec7AL+9OF69haf4NIBnXjg4rNIT2ka7tIiigJdRCLakk37+eW8XNbuKmZoemumXD+Uoemtw11WRArmJtHTgcuAPc65c/y8ngU86Ht6BLjTObcipFWKSIOz69Bxfjd/DfNW7KBLq2Seu24I4/t3jIlL9OtKMD30l4BngRkBXt8MjHHOHTCzS4CpwIjQlCciDc2JsnJe/Gwzz36cT5nH8aMLenHnmB4NduZKTVQb6M65hWaWUcXriyo8/QLoGoK6RKQB+nTDXn7xTi6b9x3lor4d+PllfUlt0yTcZUWNUI+h3wK8H+JjikiM23fkBL99N4+3l++gW9umvDxpOGN6twt3WVEnZIFuZt/GG+jnVbHPZGAyQFpaWqi+tYhEKeccr2cX8Lv5aykpLeNHF/TirrE9GtwVnqESkkA3swHANOAS59z+QPs556biHWMnMzPTheJ7i0h0yt9zhIffWsWXm4sYntGG3/3XOfRsH1vL2da3Wge6maUBbwI3OOfW174kEYllZeUepn66iSc/3EByUjyPX9Wfa4amEhen2Su1Fcy0xdeAsUBbMysEfgkkAjjnpgC/AFKA533Ticqcc5l1VbCIRK/1u4u5f84KVhYe4tL+nXj0in60a94o3GXFjGBmuUyo5vVbgVtDVpGIxJyycg8vLNzEUx9toHnjBJ67bgiXDugU7rJijq4UFZE6tW6Xt1e+avshLh3QiV9f0Y+UZuqV1wUFuojUCY/HMf3zzTyxYB3NGyXwfNYQxvdXr7wuKdBFJOR2HjrG/XNW8Hn+fr57dgd+f1V/2qpXXucU6CISUu+u3MHDb66izOP4/X/154fDUrX+Sj1RoItISBQfP8kv3snlra+2Myi1FU/+cBAZbbW8bX1SoItIra0sPMg9r37F9oPH+PF3e3HPt3uSEB8X7rIaHAW6iJwx5xwvfraZxz9YS7tmjfj75JFkZrQJd1kNlgJdRM5I0dFSfjJnBf9au4cL+3bgD1cPoFUT3QounBToIlJjSzbt577Zyyk6Wsqjl/flplEZOvEZARToIhI05xwvLNzEHxasI61NE968aRTndGkZ7rLER4EuIkE5fPwk97++gn/m7ebS/p14/OoBNGukCIkk+t8QkWqt2XmYO2fmUHjgGD+/rC+TRmuIJRIp0EWkSnNzCvnZ26tomZzIbM1iiWgKdBHxq7TMw6/fzWXmF9s4t3sKz1w3WJfvRzgFuoicZm/xCe6alcPSLQe4fUx3fnLRWbpQKArof0hEvmFFwUEuf+YzVm0/xDMTBvPTS85WmIfKrFmQkQFxcd7Ps2aF9PDqoYvI/3kjp5CfvrWK9s0b8eado+nbuUW4S4ods2bB5MlQUuJ9vnWr9zlAVlZIvoX+7IoIZeUefvWPXP5nzgoy01sz757zFOah9sgjX4f5KSUl3u0hoh66SAN36NhJ7nl1GZ9u2Mek0d14eHwfDbHUhW3barb9DCjQRRqwLfuOMunlpRQUlfDEVQP4wbDUcJcUu9LSvMMs/raHSLV/hs1supntMbPVAV43M3vazPLNbKWZDQlZdSJSZxZt3MeVz33OgaOlzLxlhMK8rj32GDRp8s1tTZp4t4dIMO+rXgLGVfH6JUAv38dk4C+1L0tE6tKrS7Zx44tf0r55I965+zxGdE8Jd0mxLysLpk6F9HQw836eOjVkJ0QhiCEX59xCM8uoYpcrgRnOOQd8YWatzKyTc25nqIoUkdAo9zgee28N0z/fzJje7XjmusG0aJwY7rIajqyskAZ4ZaEYQ+8CFFR4Xujbdlqgm9lkvL140kI4biQi1SspLeO+2cv5MG83N4/K4GeXan55rAlFoPtbocf529E5NxWYCpCZmel3HxEJvT3Fx7n15WxWbz/Eo5f35ebR3cJdktSBUAR6IVDxbEpXYEcIjisiIbB+dzET/7aUoqOlvHBDJhf27RDukqSOhOL91jzgRt9sl5HAIY2fi0SGz/P3cdVfFlFa7uH1289VmMe4anvoZvYaMBZoa2aFwC+BRADn3BRgPjAeyAdKgIl1VayIBO+NnEIefGMl3ds1ZfrNw+jaukn1XyRRLZhZLhOqed0Bd4esIhGpFeccz/9nI39YsI7RPVP4y/VDNZOlvs2a5b2kf9s274VDjz1Wp7NbTtGVoiIxpNzjeHReLq98sZXvDerME1cPJClBM1nqVT0swhWI/qdFYsTxk+XcOTOHV77Yyu1juvPnHwxSmIdDPSzCFYh66CIx4MDRUm6dkc2ybQf45eV9mahpieFTD4twBaJAF4ly2w8e48YXl1Bw4BjPXTeE8f07hbukhq0eFuEKRO/HRKLYht3FXPX8IvYUn+CVScMV5pGgHhbhCkSBLhKlcrYe4Oopi/E4x+u3n6sFtiJFPSzCFYiGXESi0L/X7eHOmTl0bNGYV24ZQWobzTGPKHW8CFcgCnSRKPPWV4X8ZM5K+nRqzksTh9O2WaNwlyQRQoEuEkVe/Gwzv3k3j1E9UnjhhqE01wVDUoECXSQKOOf484freebjfC45pyNPXjuIRgnx4S5LIowCXSTCeTyOR/+Ry4zFW7l2WCqPfb8/8XH+Vq2Whk6BLhLBTpZ7uH/OCt5ZvoPbz+/OQ5f0wUxhLv4p0EUi1PGT5dw1axkfr93DA+PO4q6xPcNdkkQ4BbpIBCo+fpJbXs5m6ZYiHvv+OWSNSA93SRIFdGGRSIQpOlrKdX9dwrKtB3jq2sEK80g3axZkZEBcnPfzrFlhK0U9dJEIsvvwca6ftoRtRSX89cZMvt2nfbhLkqqEcalcf9RDF4kQBUUlXDNlMTsOHuPlScMV5tEgjEvl+qMeukgEyN9TTNa0JRw/6WHWbSMZlNoq3CVJMMK4VK4/6qGLhNnq7Yf4wQtfUO6Bv9+uMI8qgZbErYelcv1RoIuEUc7WIib89QuSE+OZc8e59OnYItwlSU2Ecalcf4IKdDMbZ2brzCzfzB7y83pLM/uHma0ws1wzmxj6UkViy+f5+7h+2pe0bdaI1+84l25tm4a7JKmpMC6V648556rewSweWA9cCBQCS4EJzrm8Cvs8DLR0zj1oZu2AdUBH51xpoONmZma67OzsEDRBJPp8vHY3d8xcRreUprxy63DaN28c7pIkSphZjnMu099rwfTQhwP5zrlNvoCeDVxZaR8HNDfvNcnNgCKgrBY1i8Ss91buZPKMHM7q0JzZk0cqzCVkggn0LkBBheeFvm0VPQucDewAVgH3Oec8lQ9kZpPNLNvMsvfu3XuGJYtEr7k5hdz72jIGpbZi1m0jaN00KdwlSQwJJtD9rQRUeZzmYmA50BkYBDxrZqed3XHOTXXOZTrnMtu1a1fDUkWi2ytfbOX+OSsY1aMtM24ZTgutZS4hFkygFwKpFZ53xdsTr2gi8Kbzygc2A31CU6JI9Pvrwk38/O3VXNCnPdNuyqRJki4BkdALJtCXAr3MrJuZJQHXAvMq7bMNuADAzDoAZwGbQlmoSDRyzvHURxt4bP4aLh3QiSk3DKVxom5MIXWj2m6Cc67MzO4BFgDxwHTnXK6Z3eF7fQrwG+AlM1uFd4jmQefcvjqsWyTiOef4/QdreeGTTVw1pCtPXD1AN6aQOhXUPHTn3HznXG/nXA/n3GO+bVN8YY5zbodz7iLnXH/n3DnOuZl1WbRIpPN4HI/Oy+WFTzZx/cg0/qAwj34RtKpiIBrIEwmxco/j4TdX8ffsAm77VjceHn+27jIU7SJsVcVAdOm/SAidLPfw339fzt+zC/jRd3oqzGNFhK2qGIh66CIhcqKsnHtf/Yp/5u3mwXF9uHNsj3CXJKESYasqBqIeukgIHCstZ/KMHP6Zt5tHL++rMI81EbaqYiAKdJFaOnKijIkvfcnCDXt5/Kr+3Dy6W7hLklCLsFUVA1Ggi9TCoWMnufHFJSzdcoAnfziIHw6LrB6bhEiEraoYiMbQRc5Q0dFSbpy+hHW7innuusGMO6dTuEuSupSVFXEBXpkCXeQM7Dl8nCzfzZyn3qCbOUtkUKCL1FDhgRKypi1hb/EJ/jZxGKN6tA13SSKAAl2kRjbvO0rWX7+g+EQZM28dwZC01uEuSeT/KNBFgrRuVzFZ05bgcY7XbhvJOV1ahrskkW9QoIsEYVXhIW6cvoTE+Dheu20kvTo0D3dJIqdRoItU48vNRUx6aSktkxN59bYRpKfoZs4SmRToIlX4z7o93DEzh86tkpl5ywg6t0oOd0kiASnQRQJ4f9VOfjT7K3q1b86MW4bTtlmjcJckUiUFuogfc3MKeWDuCgaltuJvE4fTMln3/5TIp0AXqeTlRVv45bxcRvdMYeoNmTRtpF8TiQ76SRXxcc7x7Mf5/OnD9VzYtwPPTBis+39KVFGgi+AN88feW8O0zzbz/cFdeOLqASTGa+06iS76iZUGr6zcwwNzVzLts83cPCqDP10zUGHekEXBvUMDCeqn1szGmdk6M8s3s4cC7DPWzJabWa6ZfRLaMkXqxomycu559Svm5BRy3wW9+OXlfYnTzZwbrlP3Dt26FZz7+t6hURLq5pyregezeGA9cCFQCCwFJjjn8irs0wpYBIxzzm0zs/bOuT1VHTczM9NlZ2fXsnyRM3f0RBm3v5LDZ/n7+MVlfZl0nm5M0eBlZHhDvLL0dNiypb6r8cvMcpxzmf5eC2YMfTiQ75zb5DvYbOBKIK/CPtcBbzrntgFUF+Yi4XbgaCkTX1rKqu2H+OM1A7l6aNdwlySRIEruHRpIMEMuXYCCCs8Lfdsq6g20NrP/mFmOmd3o70BmNtnMss0se+/evWdWsUgtbT94jKunLCJv52H+kjVEYS5fi5J7hwYSTKD7G1CsPE6TAAwFLgUuBn5uZr1P+yLnpjrnMp1zme3atatxsSK1tWF3MVf/ZRF7ik/wyqThXNSvY7hLkkgSJfcODSSYQC8EUis87wrs8LPPB865o865fcBCYGBoShQJjZytB7jmhcWUeRyv334uI7qnhLskiTRRcu/QQIIJ9KVALzPrZmZJwLXAvEr7vAN8y8wSzKwJMAJYE9pSRc7cv9ftIWvaF7RKTuTNO0dxdqcW4S5JIlVWlvcEqMfj/RwlYQ5BnBR1zpWZ2T3AAiAemO6cyzWzO3yvT3HOrTGzD4CVgAeY5pxbXZeFiwTrzWWFPDB3JWd1bM5LE4fTrrkW2ZLYVO20xbqiaYtS15xz/OWTjTzxwTpG9UjhhRuG0ryxFtmS6FbbaYsiUafc4/jVP3KZsXgrVwzszB+vGUhSgq7+lNimQJeYc/xkOffN/ooFubu5/fzuPDiuj67+lAZBgS4x5WBJKbe+nE3OtgO6+lMaHAW6xIyCohJu/tuXFBQd45kJg7lsQOdwlyRSrxToEhOWFxzk1peXUlrmYcYtwxmpOebSAOkskUS9D1bv4tqpi0lOiufNu0YpzCV4UbxUrj/qoUvUcs4x/fMt/Pa9PAZ2bcW0mzJ1I2cJ3qmlcktKvM9PLZULUXUxUUXqoUtUKvc4Hp2Xy2/ezWNcv47MnjxSYS4188gjX4f5KSUl3u1RSj10iTrFx09y3+zlfLx2D5PP785DmpYoZyLKl8r1R4EuUaWgqIRbX84mf+8Rfvu9c7h+ZHq4S5JolZbm/2YWUbJUrj8acpGosXRLEd977nN2HjrGjEnDFeZSO1G+VK4/CnSJCnNzCsn66xJaJCfy9t2jGd2zbbhLkmgX5Uvl+qNAl4jm8Th+//5a7p+zgmHdWvP2XaPp3q5ZuMuSaBNoemIUL5Xrj8bQJWIdPn6SH/tOfmaNSOPRK/qRGK8+iNRQDE5PDES/HRKR8vcc4XvPfs7C9Xv59ZX9+O33zlGYy5mJwemJgaiHLhHno7zd/Pjvy2mUEMesW0foVnFSOzE4PTEQBbpEDI/H8ey/8/nzh+vp36UlL9wwlM6tksNdlkS7GJyeGIjew0pEKD5+kjtn5fDnD9fzX4O7MOeOcxXmEhoxOD0xEPXQJezW7jrMnTOXsa2ohJ9f1pdJozMw05WfEiKnTnw+8oh3mCUtzRvmMXZCFBToEmZvLivk4bdW0aJxIq/dNpLh3dqEuySJRVlZMRnglQU15GJm48xsnZnlm9lDVew3zMzKzezq0JUosehEWTmPvLWK//f6CgZ2bcW7PzpPYS5SS9X20M0sHngOuBAoBJaa2TznXJ6f/R4HFtRFoRI7Cg+UcPesZawoPMQdY3pw/0W9SdCURJFaC2bIZTiQ75zbBGBms4ErgbxK+90LvAEMC2mFElM+WL2LB+auwDl44YahXNyvY7hLEokZwQR6F6CgwvNCYETFHcysC/B94DtUEehmNhmYDJAWg1OGJLDjJ8v53fw1zFi8lQFdW/LMhMGkpzQNd1kiMSWYQPc33cBVev4k8KBzrryq2QnOuanAVIDMzMzKx5AYtXHvEe559SvW7DzMred144FxfUhK0BCLSKgFE+iFQGqF512BHZX2yQRm+8K8LTDezMqcc2+HokiJXm/kFPLzd1bTKCGO6Tdn8p0+HcJdkkjMCibQlwK9zKwbsB24Friu4g7OuW6nHpvZS8C7CvOG7VDJSX72zmr+sWIHI7q14alrB9OxZeNwlyUS06p93+ucKwPuwTt7ZQ3wunMu18zuMLM76rpAiT6L8vcx7qmFvL9qJ/9zYW9evW2kwlzqR6BlchuIoC4scs7NB+ZX2jYlwL43174siUYnysr544J1/PXTzXRv25Q37xrFgK6twl2WNBQNaJncQMy58JybzMzMdNnZ2WH53hJ6a3cd5sezl7N2VzHXj0zj4fFn0yRJFyJLPcrI8L8IV3q69+YVMcLMcpxzmf5e02+c1EpZuYcXFm7iqY820CI5QSc+JXwa0DK5gSjQ5Yyt3XWYn8xZyarth7h0QCd+fUU/Upo1CndZ0lA1oGVyA1GgS42dLPcw5T8befrjDbRonMjzWUMY379TuMuShu6xx745hg4xu0xuIAp0qZHcHYd4YO5Kcncc5vKBnfnVFf1o0zQp3GWJNKhlcgNRoEtQSkrLePKjDbz42WZaN0lkyvVDGHeOeuUSYRrIMrmBKNClWv9eu4efvb2a7QePMWF4Kg+O60OrJuqVi0QaBboEtOfwcX71bh7vrdxJz/bNeP32c7VmuUgEU6DLacrKPcxYvJX//Wg9J8o8/M+Fvbl9TA8tqCUS4fQbKt+weON+Ln36M379bh6DUlvxwX3f4t4LeinMJfI08Mv8/VEPXQDYcfAYj81fw3srd9K1dTIv3DCUi/p20M2aJTLpMn+/dOl/A3estJxpn27i+f9sxOMcd43tye1jutM4MT7cpYkE1kAu8/dHl/7Laco9jre+2s4fF6xj1+HjjOvXkUcuPZvUNk3CXZpI9XSZv18K9Abosw37+N38NeTtPMzAri15esJgzV6R6KLL/P1SoDcga3Ye5vEP1vKfdXvp0iqZpycM5rL+nYiL0zi5RBld5u+XAr0B2LT3CP/70Qb+sWIHzRsn8PD4Ptx4bobGySV66TJ/vxToMazwQAlP/2sDbyzbTlJ8HHeN7cHk87vrKk+JLrNm+Q/uBn6Zvz8K9Bi04+Axpnyykde+3IaZcdO5Gdw5tgftmmtpW4kymp5YI5q2GEO27S/hL5/kMzenEOfgmsxU7v1OTzq3Sg53aSJnpgFPTwxE0xZjXP6eYp7/90beWbGD+Djj2mFp3D6mO11bawqiRDlNT6yRoALdzMYBTwHxwDTn3O8rvZ4FPOh7egS40zm3IpSFyulyth5g2qeb+CB3F40T4pk0OoPbvtWd9i0ah7s0kdDQ9MQaqTbQzSweeA64ECgElprZPOdcXoXdNgNjnHMHzOwSYCowoi4KbujKPY4P83YxdeEmlm07SMvkRO4e25NJ53XTjSYkuvk7+anpiTUSTA99OJDvnNsEYGazgSuB/wt059yiCvt/AXQNZZECR0+UMTenkOmfb2br/hJS2yTzqyv6cfXQrjRtpJEziXKBTn5Oner90PTEoASTBF2AggrPC6m6930L8L6/F8xsMjAZIE1vmYKSv+cIryzewhvLtnPkRBmD01rx0Lg+XNSvI/G6IEhixSOPfLMXDt7njzziPfmpAA9KMIHuLzX8To0xs2/jDfTz/L3unJuKdziGzMzM8EyviQJl5R4+WrOHV77Ywuf5+0mKj+PSAZ244dx0hqS1Dnd5IqGnk58hEUygFwKpFZ53BXZU3snMBgDTgEucc/tDU17DUlBUwuvZBczNKWTnoeN0btmYn1x8Fj8clkrbZppDLjGk8nh5mzaw309s6J18jQQT6EuBXmbWDdgOXAtcV3EHM0sD3gRucM6tD3mVMez4yXIW5O7i9ewCPs/fjxmc36sdj17Rjwv6tCchXjeWkBjjb7w8MRGSkqC09Ov9dPKzxqoNdOdcmZndAyzAO21xunMu18zu8L0+BfgFkAI877shQlmgie8CzjmWbTvIO8u3887yHRw6dpIurZL5fxf25uqhXXUhkMQ2f+PlJ09CSgo0a6aTn7UQ1PQI59x8YH6lbVMqPL4VuDW0pcWeTXuP8PbyHbyzfDtb95fQKCGOi/p15IeZqYzqkaJVDyX2+JuKGGhcvKgI9u2r3/pijOa71bHCAyW8v2oX767cwYrCQ5jB6B5tufc7vbi4XweaN04Md4kioVE5vMePh5dfPn0qosbL64wCvQ4UFJUwf9VO5q/ayYrCQwCc06UFj4w/m8sHdqZjS13JKTHG37j4lClQea2okhJITvaOj+tioZBToIeAc468nYf5KG8PH67ZxerthwHo36UlD47rw/j+HUlPaRrmKkVCxN8wir9x8UAL/xUVwSuv6GKhOqDVFs/QibJylmwq4qM1u/kobzc7Dh3HDAantuLifh0Z37+T7s8psadyTxxO721XpwGvlBgKWm0xRLbuP8on6/fyybq9LNq4n2Mny2mcGMe3erXjx9/tzbf7tNea4xI7gu2Jl5RAfDyUl59+DLNv9tQ1tFKnFOhVOFhSyhebili0cR8L1+9ly37vD3JamyZck9mVMb3bMbpnW93KTaJfsCc0A/XEy8v9j4vfdBPMn6+hlXqiQK/gyIkylm4pYvHG/SzauI/cHYdxDpIT4zm3RwoTR3djTO92ZLTVeLhEKX+9bgj+hGagnnh6+tc9eIV32DToMfS9xSfI3lLE0i0HWLqliLydhyn3OJLi4xic1opRPdoyqmcKA7u2IilBV2xKFAkmuMHbi05O9j+NMBB/PfGpUxXe9URj6HgXvFq7q5ivCg6yfNtBvtp2gE37jgLQKCGOQamtuGtsD4Z3a0NmehuSkzSMIlEq0FK0ycn+x79rekJTPfGIFZOB7vE4thaVsGr7IVZvP8TybQdZuf0gx096AEhpmsTgtFb8YFgqwzLa0L9LS/XAJXpV7o0fOVL74IbAJzSzshTgESrqA/1kuYeNe4+wZudhcrcfZtX2Q+TtOEzxiTIAkuLj6NelBROGpzEotRVD0lrTtXUyvjVnRKKbv954TaWkwLFjOqEZA6Iu0LfsO8qHebtZs/Mwa3YVk7+nmJPl3l5EUkIcZ3dqwZWDO9O/S0vO6dKS3h2ak6gVCyUWBDuNMJBAwf3UU97HGkaJelEX6Gt3FfPY/DV0aNGIPh1bMKZ3O87u1JyzO7WgW9umCm+JTYHGxYMN82CCWwEe9aJulsux0nKOnSzXDZElNgSajeKvJ+5vOCXQNEItRRuzqprlEnWBLhLxgg1pOL2XnZjoPRlZ+UYPVfXENY2wQakq0DU+IbFt1izIyIC4OO/nWbOq3l7bY5waGtm61TtDZOtWmDgRJk365rbJk+G++/zf6KFimMPXF/T4k57uDe/0dO8fglPPFeYNk3MuLB9Dhw51Imdk5kzn0tOdM/N+njnT//Y773SuSRPnvDHq/WjSJPD2mTNrf4yUlG9uC+VHoJqlQQGyXYBcVaA3dMGGo7+wq2rfUBwj0LZgA9bMfzDGx/vfnpJS+2PU1cep9vv7t5MGRYEeaqH4xYqEIK1JOCYmOpeUFNy+oThGoH0D9YDrO2BD8eHvD0igdiu8xafWgQ6MA9YB+cBDfl434Gnf6yuBIdUd84wCvb57iP621+TteiiGAuoySEMRjoH2DcUx6uojFN+vJr38qkK6Jj+jIs7VLtCBeGAj0B1IAlYAfSvtMx543xfsI4El1R23xoFek95kXYZjoLfg/n6RQzUUUFdBGksfgdpd+d/6TMa/a3IMhbTUsdoG+rnAggrPfwr8tNI+LwATKjxfB3Sq6rg1DvT09LoLtroMx2gM2EjuodfkD+ep7TV591bbY4jUsdoG+tXAtArPbwCerbTPu8B5FZ7/C8is6rg1DvRAvdpY+qjvIK1JOEbKGPqZDJvVhEJaIlxtA/0aP4H+TKV93vMT6EP9HGsykA1kp6Wl1awVkdRD9/cWvKbj0cG+ja/LIA3FrJNA+4biGApXkdPExpBLpIyhB3oLfib1RUKQikhUqW2gJwCbgG4VTor2q7TPpZVOin5Z3XGjdpZLVUFYl0MBIiKu6kAPai0XMxsPPOmb8TLdOfeYmd0B4JybYt7FxZ/FO72xBJjonKtyoRat5SIiUnO1vgWdc24+ML/StikVHjvg7toUKSIitaPFuUREYoQCXUQkRijQRURihAJdRCRGhO2ORWa2FziDW5QD0BbYF8JyIlGstzHW2wex30a1LzzSnXPt/L0QtkCvDTPLDjRtJ1bEehtjvX0Q+21U+yKPhlxERGKEAl1EJEZEa6BPDXcB9SDW2xjr7YPYb6PaF2GicgxdREROF609dBERqUSBLiISIyIm0M1supntMbPVFbYNNLPFZrbKzP5hZi0qvDbA91qu7/XGvu1Dfc/zzexp30qQYVeT9plZlpktr/DhMbNBvtcisn1Q4zYmmtnLvu1rzOynFb4mIttYw/YlmdnffNtXmNnYCl8Tqe1LNbN/+/4/cs3sPt/2Nmb2oZlt8H1uXeFrfuprxzozu7jC9ohrY03bZ2Ypvv2PmNmzlY4Vce0Dql8Pvb4+gPOBIcDqCtuWAmN8jycBv3Ffr9G+Ehjoe54CxPsef4n3phyGd432S8Ldtpq2r9LX9Qc2VXgeke07g//D64DZvsdNgC1ARiS3sYbtuxv4m+9xeyAHiIvw9nUChvgeNwfWA32BJ4CHfNsfAh73Pe6L9/4IjfDeL2FjJP8enkH7mgLnAXdw+m03I659zrnI6aE75xYCRZU2nwUs9D3+ELjK9/giYKVzboXva/c758rNrBPQwjm32Hn/1WcA36vz4oNQw/ZVNAF4DSCS2wc1bqMDmppZApAMlAKHI7mNNWxfX7y3YsQ5twc4CGRGePt2OueW+R4XA2uALsCVwMu+3V7m63qvxPtH+YRzbjOQDwyP1DbWtH3OuaPOuc+A4xWPE6ntgwgacglgNXCF7/E1QKrvcW/AmdkCM1tmZg/4tncBCit8faFvW6QK1L6Kfogv0Im+9kHgNs4FjgI7gW3AH51zRURfGwO1bwVwpZklmFk3YKjvtahon5llAIOBJUAH59xO8IYi3ncc4K27oMKXnWpLxLcxyPYFErHti/RAnwTcbWY5eN8ilfq2J+B9K5Tl+/x9M7sA79ufyiJ5Xmag9gFgZiOAEufcqTHbaGsfBG7jcKAc6Iz37fr/mFl3oq+Ngdo3He8vejbeu30tAsqIgvaZWTPgDeDHzrnDVe3qZ5urYntEqEH7Ah7Cz7aIaF9QdywKF+fcWrzDK5hZb7z3LgXvL8onzrl9vtfm4x3bnAl0rXCIrsCOeiu4hqpo3ynX8nXvHLztjpr2QZVtvA74wDl3EthjZp8DmcCnRFEbA7XPOVcG/Pep/cxsEbABOEAEt8/MEvGG3Szn3Ju+zbvNrJNzbqdvuGGPb3sh33xXeaotEftzWsP2BRKx7YvoHrqZtfd9jgN+Bpy67d0CYICZNfGNwY4B8nxvl4rNbKTvrPONwDthKD0oVbTv1LZrgNmntkVb+6DKNm4DvmNeTfHeXHxttLUxUPt8P5tNfY8vBMqccxH9M+qr50VgjXPuzxVemgfc5Ht8E1/XOw+41swa+YaVeuG9QXxEtvEM2udXpLYPiKhZLq/hHU89ifcv4C3AfXjPRK8Hfo/vylbf/tcDuXjHMJ+osD3Tt20j3htXW323JUTtGwt84ec4Edm+mrYRaAbM8f0f5gE/ifQ21rB9GcA6vCfePsK75Gmkt+88vEMHK4Hlvo/xeGeR/QvvO4x/AW0qfM0jvnaso8JMj0hs4xm2bwveE+FHfP/nfSO1fc45XfovIhIrInrIRUREgqdAFxGJEQp0EZEYoUAXEYkRCnQRkRihQBcRiREKdBGRGPH/ARnGfxuWiNipAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"beta_1 = 0.10\n",
"beta_2 = 1990.0\n",
"\n",
"#logistic function\n",
"Y_pred = sigmoid(x_data, beta_1 , beta_2)\n",
"\n",
"#plot initial prediction against datapoints\n",
"plt.plot(x_data, Y_pred*15000000000000.)\n",
"plt.plot(x_data, y_data, 'ro')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Our task here is to find the best parameters for our model. Lets first normalize our x and y:\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"# Lets normalize our data\n",
"xdata =x_data/max(x_data)\n",
"ydata =y_data/max(y_data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### How we find the best parameters for our fit line?\n",
"\n",
"we can use **curve_fit** which uses non-linear least squares to fit our sigmoid function, to data. Optimal values for the parameters so that the sum of the squared residuals of sigmoid(xdata, \\*popt) - ydata is minimized.\n",
"\n",
"popt are our optimized parameters.\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" beta_1 = 690.451715, beta_2 = 0.997207\n"
]
}
],
"source": [
"from scipy.optimize import curve_fit\n",
"popt, pcov = curve_fit(sigmoid, xdata, ydata)\n",
"#print the final parameters\n",
"print(\" beta_1 = %f, beta_2 = %f\" % (popt[0], popt[1]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we plot our resulting regression model.\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.linspace(1960, 2015, 55)\n",
"x = x/max(x)\n",
"plt.figure(figsize=(8,5))\n",
"y = sigmoid(x, *popt)\n",
"plt.plot(xdata, ydata, 'ro', label='data')\n",
"plt.plot(x,y, linewidth=3.0, label='fit')\n",
"plt.legend(loc='best')\n",
"plt.ylabel('GDP')\n",
"plt.xlabel('Year')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Practice\n",
"\n",
"Can you calculate what is the accuracy of our model?\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# write your code here\n",
"#split data into train/ test\n",
"msk=np.random.rand(len(df))<0.8\n",
"train_x=xdata[msk]\n",
"test_x=xdata[~msk]\n",
"train_y=ydata[msk]\n",
"test_y=ydata[~msk]\n",
"#build the model using train set\n",
"popt, pcov=curve_fit(sigmoid, train_x, train_y)\n",
"y_hat=sigmoid(test_x, *popt)\n",
"print(\"Mean absolute error:%.2f\" %np.mean(np.abolute(y_hat-test_y)))\n",
"print(\"Residual sum of Squares (MSE):%.2f\" %np.mean((y_hat-test_y)**2))\n",
"from sklearn.metrics import r2_score\n",
"print(\"R2-score_%.2f\" % r2_score(y_h))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"# split data into train/test\n",
"msk = np.random.rand(len(df)) < 0.8\n",
"train_x = xdata[msk]\n",
"test_x = xdata[~msk]\n",
"train_y = ydata[msk]\n",
"test_y = ydata[~msk]\n",
"\n",
"# build the model using train set\n",
"popt, pcov = curve_fit(sigmoid, train_x, train_y)\n",
"\n",
"# predict using test set\n",
"y_hat = sigmoid(test_x, *popt)\n",
"\n",
"# evaluation\n",
"print(\"Mean absolute error: %.2f\" % np.mean(np.absolute(y_hat - test_y)))\n",
"print(\"Residual sum of squares (MSE): %.2f\" % np.mean((y_hat - test_y) ** 2))\n",
"from sklearn.metrics import r2_score\n",
"print(\"R2-score: %.2f\" % r2_score(y_hat , test_y) )\n",
"\n",
"```\n",
"\n",
"</details>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Want to learn more?</h2>\n",
"\n",
"IBM SPSS Modeler is a comprehensive analytics platform that has many machine learning algorithms. It has been designed to bring predictive intelligence to decisions made by individuals, by groups, by systems – by your enterprise as a whole. A free trial is available through this course, available here: <a href=\"https://www.ibm.com/analytics/spss-statistics-software?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkML0101ENSkillsNetwork20718538-2021-01-01\">SPSS Modeler</a>\n",
"\n",
"Also, you can use Watson Studio to run these notebooks faster with bigger datasets. Watson Studio is IBM's leading cloud solution for data scientists, built by data scientists. With Jupyter notebooks, RStudio, Apache Spark and popular libraries pre-packaged in the cloud, Watson Studio enables data scientists to collaborate on their projects without having to install anything. Join the fast-growing community of Watson Studio users today with a free account at <a href=\"https://www.ibm.com/cloud/watson-studio?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkML0101ENSkillsNetwork20718538-2021-01-01\">Watson Studio</a>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Thank you for completing this lab!\n",
"\n",
"## Author\n",
"\n",
"Saeed Aghabozorgi\n",
"\n",
"### Other Contributors\n",
"\n",
"<a href=\"https://www.linkedin.com/in/joseph-s-50398b136/?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkML0101ENSkillsNetwork20718538-2021-01-01\" target=\"_blank\">Joseph Santarcangelo</a>\n",
"\n",
"## Change Log\n",
"\n",
"| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n",
"|---|---|---|---|\n",
"| 2020-11-03 | 2.1 | Lakshmi | Made changes in URL |\n",
"| 2020-08-27 | 2.0 | Lavanya | Moved lab to course repo in GitLab |\n",
"| | | | |\n",
"| | | | |\n",
"\n",
"## <h3 align=\"center\"> © IBM Corporation 2020. All rights reserved. <h3/>\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python",
"language": "python",
"name": "conda-env-python-py"
},
"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.6.13"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment