diff --git a/Regresi.machine_learning/Aryo Saputro-202310715049-Multiple Linear Regression.ipynb b/Regresi.machine_learning/Aryo Saputro-202310715049-Multiple Linear Regression.ipynb new file mode 100644 index 0000000..eda754d --- /dev/null +++ b/Regresi.machine_learning/Aryo Saputro-202310715049-Multiple Linear Regression.ipynb @@ -0,0 +1 @@ +{"cells":[{"cell_type":"markdown","id":"8bce3099-03e1-483b-a739-b6fd4a4641a1","metadata":{},"outputs":[],"source":["

\n"," \n"," \"Skills\n"," \n","

\n","\n","\n","# Multiple Linear Regression\n","\n","\n","Estimated time needed: **15** minutes\n"," \n","\n","## Objectives\n","\n","After completing this lab you will be able to:\n","\n","* Use scikit-learn to implement Multiple Linear Regression\n","* Create a model, train it, test it and use the model\n"]},{"cell_type":"markdown","id":"d17ffc46-1ae1-415b-8b99-dc821caea88c","metadata":{},"outputs":[],"source":["

Table of contents

\n","\n","
\n","
    \n","
  1. Understanding the Data
  2. \n","
  3. Reading the Data in
  4. \n","
  5. Multiple Regression Model
  6. \n","
  7. Prediction
  8. \n","
  9. Practice
  10. \n","
\n","
\n","
\n","
\n"]},{"cell_type":"markdown","id":"858bb4d5-d752-4f8b-b76d-bfceb3e72218","metadata":{},"outputs":[],"source":["### Importing Needed packages\n"]},{"cell_type":"code","id":"e05ef94a-2dc3-4d2c-89a6-2f8884e4ce1e","metadata":{},"outputs":[],"source":["import matplotlib.pyplot as plt\nimport pandas as pd\nimport pylab as pl\nimport numpy as np\n%matplotlib inline"]},{"cell_type":"markdown","id":"d2b035fe-ec1e-4095-9900-9ad9be9b2474","metadata":{},"outputs":[],"source":["### Downloading Data\n","To download the data, we will use !wget to download it from IBM Object Storage.\n"]},{"cell_type":"code","id":"c3d2fb99-a884-4dcf-9c01-30598945b60a","metadata":{},"outputs":[],"source":["!wget -O FuelConsumption.csv https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/data/FuelConsumptionCo2.csv"]},{"cell_type":"markdown","id":"e294be91-c42d-4b39-aac6-6a3f87fa4e63","metadata":{},"outputs":[],"source":["\n","

Understanding the Data

\n","\n","### `FuelConsumption.csv`:\n","We have downloaded a fuel consumption dataset, **`FuelConsumption.csv`**, which contains model-specific fuel consumption ratings and estimated carbon dioxide emissions for new light-duty vehicles for retail sale in Canada. [Dataset source](http://open.canada.ca/data/en/dataset/98f1a129-f628-4ce4-b24d-6f16bf24dd64)\n","\n","- **MODELYEAR** e.g. 2014\n","- **MAKE** e.g. Acura\n","- **MODEL** e.g. ILX\n","- **VEHICLE CLASS** e.g. SUV\n","- **ENGINE SIZE** e.g. 4.7\n","- **CYLINDERS** e.g 6\n","- **TRANSMISSION** e.g. A6\n","- **FUELTYPE** e.g. z\n","- **FUEL CONSUMPTION in CITY(L/100 km)** e.g. 9.9\n","- **FUEL CONSUMPTION in HWY (L/100 km)** e.g. 8.9\n","- **FUEL CONSUMPTION COMB (L/100 km)** e.g. 9.2\n","- **CO2 EMISSIONS (g/km)** e.g. 182 --> low --> 0\n"]},{"cell_type":"markdown","id":"44b30cef-a664-4f35-90b3-1204bd1d3436","metadata":{},"outputs":[],"source":["

Reading the data in

\n"]},{"cell_type":"code","id":"df4516c8-735a-4d8a-ace3-63d77d460f68","metadata":{},"outputs":[],"source":["df = pd.read_csv(\"FuelConsumption.csv\")\n\n# take a look at the dataset\ndf.head()"]},{"cell_type":"markdown","id":"8b62ca92-f920-4b47-b187-17a46c6fc2a2","metadata":{},"outputs":[],"source":["Let's select some features that we want to use for regression.\n"]},{"cell_type":"code","id":"0f8f2471-4d7c-4d9e-8ef8-370b1f3cbf0d","metadata":{},"outputs":[],"source":["cdf = df[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY','FUELCONSUMPTION_COMB','CO2EMISSIONS']]\ncdf.head(9)"]},{"cell_type":"markdown","id":"a8795f9b-6e42-41c0-b43f-e2e267587793","metadata":{},"outputs":[],"source":["Let's plot Emission values with respect to Engine size:\n"]},{"cell_type":"code","id":"d0b68243-f269-4ca3-b646-59083d0c857e","metadata":{},"outputs":[],"source":["plt.scatter(cdf.ENGINESIZE, cdf.CO2EMISSIONS, color='blue')\nplt.xlabel(\"Engine size\")\nplt.ylabel(\"Emission\")\nplt.show()"]},{"cell_type":"markdown","id":"99acc3b8-151c-4ac8-b0c0-e19e3e80f051","metadata":{},"outputs":[],"source":["#### Creating train and test dataset\n","Train/Test Split involves splitting the dataset into training and testing sets respectively, which are mutually exclusive. After which, you train with the training set and test with the testing set. \n","This will provide a more accurate evaluation on out-of-sample accuracy because the testing dataset is not part of the dataset that have been used to train the model. Therefore, it gives us a better understanding of how well our model generalizes on new data.\n","\n","We know the outcome of each data point in the testing dataset, making it great to test with! Since this data has not been used to train the model, the model has no knowledge of the outcome of these data points. So, in essence, it is truly an out-of-sample testing.\n","\n","Let's split our dataset into train and test sets. Around 80% of the entire dataset will be used for training and 20% for testing. We create a mask to select random rows using the __np.random.rand()__ function: \n"]},{"cell_type":"code","id":"211d7935-ba34-4335-bade-f57057abdca2","metadata":{},"outputs":[],"source":["msk = np.random.rand(len(df)) < 0.8\ntrain = cdf[msk]\ntest = cdf[~msk]"]},{"cell_type":"markdown","id":"fb7b100e-fd1b-4d72-a67b-402507407e30","metadata":{},"outputs":[],"source":["#### Train data distribution\n"]},{"cell_type":"code","id":"a76455a7-e115-461a-b1a0-bf8521b237b6","metadata":{},"outputs":[],"source":["plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\nplt.xlabel(\"Engine size\")\nplt.ylabel(\"Emission\")\nplt.show()"]},{"cell_type":"markdown","id":"a6a3c826-bb47-4b58-972c-5da37ef553ab","metadata":{},"outputs":[],"source":["

Multiple Regression Model

\n"]},{"cell_type":"markdown","id":"139832c0-9ce0-44ca-8cf6-10d365e164c7","metadata":{},"outputs":[],"source":["In reality, there are multiple variables that impact the co2emission. When more than one independent variable is present, the process is called multiple linear regression. An example of multiple linear regression is predicting co2emission using the features FUELCONSUMPTION_COMB, EngineSize and Cylinders of cars. The good thing here is that multiple linear regression model is the extension of the simple linear regression model.\n"]},{"cell_type":"code","id":"3e64de0a-b876-4590-8ada-2afbc7783b03","metadata":{},"outputs":[],"source":["from sklearn import linear_model\nregr = linear_model.LinearRegression()\nx = np.asanyarray(train[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB']])\ny = np.asanyarray(train[['CO2EMISSIONS']])\nregr.fit (x, y)\n# The coefficients\nprint ('Coefficients: ', regr.coef_)"]},{"cell_type":"markdown","id":"132e9ef1-d13e-43af-b52d-31de017438fc","metadata":{},"outputs":[],"source":["As mentioned before, __Coefficient__ and __Intercept__ are the parameters of the fitted line. \n","Given that it is a multiple linear regression model with 3 parameters and that the parameters are the intercept and coefficients of the hyperplane, sklearn can estimate them from our data. Scikit-learn uses plain Ordinary Least Squares method to solve this problem.\n","\n","#### Ordinary Least Squares (OLS)\n","OLS is a method for estimating the unknown parameters in a linear regression model. OLS chooses the parameters of a linear function of a set of explanatory variables by minimizing the sum of the squares of the differences between the target dependent variable and those predicted by the linear function. In other words, it tries to minimizes the sum of squared errors (SSE) or mean squared error (MSE) between the target variable (y) and our predicted output ($\\hat{y}$) over all samples in the dataset.\n","\n","OLS can find the best parameters using of the following methods:\n","* Solving the model parameters analytically using closed-form equations\n","* Using an optimization algorithm (Gradient Descent, Stochastic Gradient Descent, Newton’s Method, etc.)\n"]},{"cell_type":"markdown","id":"93100117-7dd1-45ed-a99f-b13790aed707","metadata":{},"outputs":[],"source":["

Prediction

\n"]},{"cell_type":"code","id":"33390fdd-2f81-401f-b2a2-1ed6299ccd6a","metadata":{},"outputs":[],"source":["y_hat= regr.predict(test[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB']])\nx = np.asanyarray(test[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB']])\ny = np.asanyarray(test[['CO2EMISSIONS']])\nprint(\"Mean Squared Error (MSE) : %.2f\"\n % np.mean((y_hat - y) ** 2))\n\n# Explained variance score: 1 is perfect prediction\nprint('Variance score: %.2f' % regr.score(x, y))"]},{"cell_type":"markdown","id":"12bd64a0-5c70-485e-821e-906cc730f914","metadata":{},"outputs":[],"source":["__Explained variance regression score:__ \n","Let $\\hat{y}$ be the estimated target output, y the corresponding (correct) target output, and Var be the Variance (the square of the standard deviation). Then the explained variance is estimated as follows:\n","\n","$\\texttt{explainedVariance}(y, \\hat{y}) = 1 - \\frac{Var\\{ y - \\hat{y}\\}}{Var\\{y\\}}$ \n","The best possible score is 1.0, the lower values are worse.\n"]},{"cell_type":"markdown","id":"9f81be90-78a1-4748-849b-19729af21c25","metadata":{},"outputs":[],"source":["

Practice

\n","Try to use a multiple linear regression with the same dataset, but this time use FUELCONSUMPTION_CITY and FUELCONSUMPTION_HWY instead of FUELCONSUMPTION_COMB. Does it result in better accuracy?\n"]},{"cell_type":"code","id":"2345a604-c847-40f8-8218-dbfc087e89a8","metadata":{},"outputs":[],"source":["# write your code here\n\n"]},{"cell_type":"markdown","id":"846eb454-bbf7-454d-a8e0-d40e1ad040fa","metadata":{},"outputs":[],"source":["
Click here for the solution\n","\n","```python\n","regr = linear_model.LinearRegression()\n","x = np.asanyarray(train[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY']])\n","y = np.asanyarray(train[['CO2EMISSIONS']])\n","regr.fit (x, y)\n","print ('Coefficients: ', regr.coef_)\n","y_= regr.predict(test[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY']])\n","x = np.asanyarray(test[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY']])\n","y = np.asanyarray(test[['CO2EMISSIONS']])\n","print(\"Residual sum of squares: %.2f\"% np.mean((y_ - y) ** 2))\n","print('Variance score: %.2f' % regr.score(x, y))\n","\n","```\n","\n","
\n"]},{"cell_type":"markdown","id":"9db6d66b-df07-4dc3-9b80-6a4dd574d646","metadata":{},"outputs":[],"source":["### Thank you for completing this lab!\n","\n","\n","## Author\n","\n","Saeed Aghabozorgi\n","\n","\n","### Other Contributors\n","\n","Joseph Santarcangelo\n","\n","##

© IBM Corporation 2020. All rights reserved.

\n"," \n","\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.7.12"},"prev_pub_hash":"c1170d4cb1c9bbce7dbbef74b645fc6b265a5aaf4ce89c4ac861feed8769ed99"},"nbformat":4,"nbformat_minor":4} \ No newline at end of file diff --git a/Regresi.machine_learning/Aryo Saputro-202310715049-Non-Linear Regression.ipynb b/Regresi.machine_learning/Aryo Saputro-202310715049-Non-Linear Regression.ipynb new file mode 100644 index 0000000..fea18c4 --- /dev/null +++ b/Regresi.machine_learning/Aryo Saputro-202310715049-Non-Linear Regression.ipynb @@ -0,0 +1,857 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\n", + " \n", + " \"Skills\n", + " \n", + "

\n", + "\n", + "\n", + "# Non Linear Regression Analysis\n", + "\n", + "\n", + "Estimated time needed: **20** minutes\n", + " \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": [ + "

Importing required libraries

\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "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": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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D379FYA1NKYvU1hMG5/G42lpyc53FPCu4SIScnbv317XqZk+fTqDBg3in//8J0eOHMnMoSlVqhTJyck+D1ikoLFT0fePP+D++81jG02qM89LTPRcNC5f9W527YI77zSJPr/+CqVLkzHlRW6puoolDvcBTV7jgXPLX126mN+uAMWbqsciIl4HNVOmTOGVV15h6NChxGb5p1GLFi349e9/tYlI3uwuD9WpY5ZYXLM2uclrK/b8+Wbmo1076NrV/K5RwxzP1alTpot2vXrw7rsQEwMPPACbNxPT50EmTb4g2/vbHU9e1J9JRLzhdVCzbds2Lr300hzH4+LiOHHihF8GJVIQeFPRNykJtm83SzizZ5vf771nll6ySkjwnGPiyk05f+bDlZviNrCxLPjgA2jQAJ5+2gQ3rVvDTz/BtGlQtixwLjfm/MArt/HY/ez+PE9EopvXicI1a9Zk9erVORKGP//8cxo0aODhVSJyPm97D7nboXTbbdlzUa68EpYuNUtL5+em5NWRe8AAU4Quc0Zl3Trzom++MY+rVoUJE8zyk5u1sEAUsVN/JhHxhtdBzeDBg3nooYc4ffo0lmXx448/MmfOHMaOHcuMGTMCMUaRqOSPir5ZA53586F2bffbnsuU8aIjd9MjMGIETJlioqFChWDwYHj8cShWLM/P5M/kZH9XPRaRKGf54OWXX7aqVatmORwOy+FwWAkJCdaMGTN8uVRQHT161AKso0ePhnooIpnmzbOshATLMrds85OYaI57cw2HI/s1wBxzOCxrwICcz+U4F6e1/P4ZllW+/LmDt9xiWVu2BO7De/H58vsdiUjksnv/9mlLt8vBgwfJyMigQoUK/ouyAkhbuiVc+aOib27bnvNqSXAFy5hMPy5jpTlQr56ZIunQwavPEUiqKCxScAWsorDL/v372bhxIw6HA4fDQfny5X29lEiBl59lGzvbng8cMN28Dx7MvoRTib2M4zF68KY5t0QJHMOHm0p5hQr5NqAAUX8mEcmL17ufUlNTufvuu6lSpQpt2rThmmuuoUqVKvz73//m6NGjgRijSNjKV80XP7G7nblbN/Pb4YALOcPDTGAj9TIDmu3t78WxaZNpyBRmAY2IiB1eBzW9evXif//7H5999hlHjhzh6NGjfPrpp6xcuZL7XVXCRAoAn2u++Jnd7czFi5u2C93KfsGvNGYC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OvD+++/TsmVLEhISQji66LN7927atWtH8+bNmTVrlv5PyU9atmxJ8+bNmTZtWuaxBg0a0KlTJyUK+5llWfTt25cPPviAlJQU6tSpE+ohRaVjx46xY8eObMfuvfdeLr74Yh599FEt97mhnBqhWrVq2R4XL14cgNq1ayug8bM9e/bQtm1bqlWrxoQJEzhw4EDmc5UqVQrhyCLfoEGDuPvuu2nRogWtWrXi5ZdfZufOnfTu3TvUQ4s6Dz30ELNnz+ajjz6iRIkSmXlL8fHxFClSJMSjix4lSpTIEbgUK1aMsmXLKqDxQEGNSBB99dVXbNmyhS1btuQIGDVpmj933nknf/31FyNHjmTv3r00atSIBQsWUL169VAPLeq4ts23bds22/HXX3+de+65J/gDEvmblp9EREQkKig7UURERKKCghoRERGJCgpqREREJCooqBEREZGooKBGREREooKCGhEREYkKCmpEREQkKiioERERkaigoEakAHE4HHz44YehHoYtw4cPp2nTpqEeht+1bduWAQMG2D4/JSUFh8PBkSNHPJ4zc+ZMSpUqle+xiUQ6BTUiEeCee+7h1ltvDfUwIp6dm//EiROJj4/n5MmTOZ47ffo0pUqVYtKkST6PYf78+YwaNcrn14uIZwpqRESy6N69O6dOnWLevHk5nps3bx4nT57k7rvv9vq6Z8+eBaBMmTKUKFEi3+MUkZwU1IhEoLZt29KvXz+GDBlCmTJlqFSpEsOHD892zubNm7nmmmsoXLgwDRo04Ouvv85xnd27d3PnnXdSunRpypYtS6dOndi+fXvm864ZohEjRlChQgVKlizJf/7zH86cOZN5jmVZjB8/nlq1alGkSBGaNGnC+++/n/m8a/nk22+/pUWLFhQtWpQrr7ySjRs3ZhvLuHHjqFixIiVKlKBnz56cPn06x3hff/116tevT+HChbn44ouZNm1a5nPbt2/H4XAwf/582rVrR9GiRWnSpAnLli3LHMe9997L0aNHcTgcOByOHN8ZQPny5bn55pt57bXXcjz32muvccstt1C+fHkeffRR6tatS9GiRalVqxZPPfVUZuAC55bPXnvtNWrVqkVcXByWZeVYfpo1axYtWrSgRIkSVKpUia5du7J///4c7/3DDz/QpEkTChcuTMuWLfn1119znJPVJ598QvPmzSlcuDC1atVixIgRpKen5/oakYhniUjY69Gjh9WpU6fMx23atLFKlixpDR8+3Nq0aZP1xhtvWA6Hw/rqq68sy7Isp9NpNWrUyGrbtq31888/W4sWLbIuvfRSC7A++OADy7Is68SJE1adOnWs++67z1qzZo21bt06q2vXrla9evWstLS0zPctXry4deedd1q//fab9emnn1rly5e3nnjiicyxPPHEE9bFF19sffHFF9bvv/9uvf7661ZcXJyVkpJiWZZlLVy40AKsli1bWikpKdbatWut1q1bW1deeWXmNebOnWsVKlTIeuWVV6wNGzZYQ4cOtUqUKGE1adIk85yXX37Zqly5sjVv3jxr69at1rx586wyZcpYM2fOtCzLsrZt22YB1sUXX2x9+umn1saNG63OnTtb1atXt86ePWulpaVZycnJVsmSJa29e/dae/futY4dO+b2+/7ss88sh8Nhbd26NfPYtm3bLIfDYS1YsMCyLMsaNWqU9cMPP1jbtm2zPv74Y6tixYrWs88+m3n+sGHDrGLFilkdOnSwVq1aZf3yyy9WRkaG1aZNG6t///6Z57366qvWggULrN9//91atmyZdcUVV1gdO3bMfN71/dWvX9/66quvrDVr1lg33XSTVaNGDevMmTOWZVnW66+/bsXHx2e+5osvvrBKlixpzZw50/r999+tr776yqpRo4Y1fPhw9/+BiUQJBTUiEcBdUHP11VdnO+eyyy6zHn30UcuyLOvLL7+0YmNjrV27dmU+//nnn2cLal599VWrXr16VkZGRuY5aWlpVpEiRawvv/wy833LlCljnThxIvOc6dOnW8WLF7ecTqd1/Phxq3DhwtbSpUuzjaVnz55Wly5dLMs6d1P+5ptvMp//7LPPLMA6deqUZVmW1apVK6t3797ZrtGyZctsQU1iYqI1e/bsbOeMGjXKatWqlWVZ54KaGTNmZD6/du1aC7DWr19vWVbOm78n6enpVtWqVa2nn34689jTTz9tVa1a1UpPT3f7mvHjx1vNmzfPfDxs2DDrwgsvtPbv35/tvPODmvP9+OOPFpAZcLm+v3feeSfznL/++ssqUqSINXfuXLefq3Xr1tYzzzyT7bpvvfWWVbly5dw/uEiEuyBEE0Qikk+XXHJJtseVK1fOXLZYv3491apVIyEhIfP5Vq1aZTv/p59+YsuWLTnyO06fPs3vv/+e+bhJkyYULVo023WOHz/Orl272L9/P6dPn+Yf//hHtmucOXOGSy+91ON4K1euDMD+/fupVq0a69evp3fv3tnOb9WqFQsXLgTgwIED7Nq1i549e3L//fdnnpOenk58fLyt97n44ouxKzY2lh49ejBz5kyGDRuGw+HgjTfe4J577iE2NhaA999/n+TkZLZs2cLx48dJT0+nZMmS2a5TvXp1ypcvn+t7/fzzzwwfPpzVq1dz6NAhMjIyANi5cycNGjTI9n24lClThnr16rF+/Xq31/zpp59YsWIFY8aMyTzmdDo5ffo0J0+ezPb3KRJNFNSIRKgLL7ww22OHw5F5Q7QsK8f5Docj2+OMjAyaN2/O22+/nePcvG7E57/fZ599RtWqVbM9HxcX53G8rrG4Xp8X13mvvPIKLVu2zPacK8jwx/tkdd999zF27Fi+++47wAQZ9957LwDLly/nrrvuYsSIEXTo0IH4+HjeeecdJk6cmO0axYoVy/U9Tpw4wfXXX8/111/PrFmzKF++PDt37qRDhw7Z8pY8Of/v1CUjI4MRI0aQlJSU47nChQvneV2RSKWgRiQKNWjQgJ07d7Jnzx6qVKkCkJkw69KsWTPmzp2bmQDsyS+//MKpU6coUqQIYG7oxYsXJyEhgdKlSxMXF8fOnTtp06aNz+OtX78+y5cvp3v37pnHli9fnvnnihUrUrVqVbZu3Uq3bt18fp9ChQrhdDptnVu7dm3atGnD66+/npngW7t2bcAk7VavXp2hQ4dmnr9jxw6vx7NhwwYOHjzIuHHjSExMBGDlypVuz12+fDnVqlUD4PDhw2zatMnj7FOzZs3YuHEjF110kddjEolkCmpEotB1111HvXr16N69OxMnTiQ1NTXbDRigW7duPPfcc3Tq1ImRI0eSkJDAzp07mT9/PoMHD85cujpz5gw9e/bkySefZMeOHQwbNow+ffoQExNDiRIleOSRRxg4cCAZGRlcffXVpKamsnTpUooXL06PHj1sjbd///706NGDFi1acPXVV/P222+zdu1aatWqlXnO8OHD6devHyVLlqRjx46kpaWxcuVKDh8+zKBBg2y9T40aNTh+/Djffvtt5rJabksxWZe7ZsyYkXn8oosuYufOnbzzzjtcdtllfPbZZ3zwwQe2xpBVtWrVKFSoEFOmTKF379789ttvHmvYjBw5krJly1KxYkWGDh1KuXLlPNYuevrpp7nppptITEzkX//6FzExMaxZs4Zff/2V0aNHez1OkUihLd0iUSgmJoYPPviAtLQ0Lr/8cnr16pUtvwKgaNGiLF68mGrVqpGUlET9+vW57777OHXqVLaZm2uvvZY6depwzTXXcMcdd3DzzTdn2wo9atQonn76acaOHUv9+vXp0KEDn3zyCTVr1rQ93jvvvJOnn36aRx99lObNm7Njxw4eeOCBbOf06tWLGTNmMHPmTBo3bkybNm2YOXOmV+9z5ZVX0rt3b+68807Kly/P+PHjcz3/9ttvJy4ujri4uGxLOZ06dWLgwIH06dOHpk2bsnTpUp566inb43ApX748M2fO5L333qNBgwaMGzeOCRMmuD133Lhx9O/fn+bNm7N3714+/vhjChUq5PbcDh068Omnn/L1119z2WWXccUVVzBp0iSqV6/u9RhFIonDcrf4LiKCqVNz5MiRiGmtICIFm2ZqREREJCooqBEREZGooOUnERERiQqaqREREZGooKBGREREooKCGhEREYkKCmpEREQkKiioERERkaigoEZERESigoIaERERiQoKakRERCQq/D+9o2xGvpNhzAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "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": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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xH333WdxTETujMkREZnVvn17PPDAA+jfvz8++OADZGVlGZ3IAaBv376YOXMmunfvjnfffRcxMTFITU1FcnIyRo8ere+Sy83NxaBBgzB+/HicP38eEydOxGuvvQYfHx8EBQVh1KhRGDFiBAoKCvDYY48hKysLO3fuRLly5TBgwABF8Q4fPhwDBgxA06ZN8dhjj+GLL77A0aNHUaNGDf0+CQkJGDZsGIKDg9GpUyfk5ORg3759uH79OkaOHKnodapVq4Zbt27hl19+0XcXFtfFZNiNt2jRIv32++67D6mpqVi9ejUefvhhbNy4EevXr1cUg6EqVarA398fc+fOxZAhQ3DkyBGzNZDeffddVKxYEREREXj77bcRFhZmtvbVhAkT0KVLF8TGxuLZZ5+Fj48PDh06hMOHD2Py5MkWx0nkLjiVn4jM8vHxwfr165GTk4NHHnkEL730ktH4EwAoU6YMtm/fjipVqiAuLg516tTBiy++iDt37hi1JLVr1w61atXC448/jueeew5du3Y1mgL/3nvvYcKECUhMTESdOnXQsWNHfPPNN6hevbrieHv16oUJEybgzTffRJMmTXD+/Hm88sorRvu89NJLWLRoEZKSklC/fn20bt0aSUlJFr1Oy5YtMWTIEPTq1Qvh4eGYMWNGsfs/88wzCAgIQEBAgFEXVffu3TFixAi89tpraNSoEXbu3Il33nlHcRw64eHhSEpKwldffYW6deti2rRpeP/9903uO23aNAwfPhxNmjRBeno6/u///g/+/v4m9+3YsSO+/fZb/PTTT3j44YfRvHlzfPjhh6hatarFMRK5E40wNaiAiEhFAwcOxI0bN9xmyREi8m5sOSIiIiIywOSIiIiIyAC71YiIiIgMsOWIiIiIyACTIyIiIiIDTI6IiIiIDDA5IiIiIjLA5IiIiIjIAJMjIiIiIgNMjoiIiIgMMDkiIiIiMvD/HICuMG+mGccAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "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": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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HWrIc/e9dn4w7dixg86dO9O6dWumTZtGRIS+XxTFiRMniI6O5qOPPuK6667L2j5s2DBWrFjBwoULAxhd+Lrrrrv45JNPWLRoEQ0aNAh0OGHnk08+4brrriMyMjJrW0ZGBg6Hg4iICNLS0nI8JkpqBNi6dSupqalZ93fs2EHXrl35+OOPad26NXFxcQGMLvxs376dzp0707JlS95//319KPlI69atadmyJRMnTsza1rhxY7p166aBwj5mjOGuu+5izpw5LFiwgDPPPDPQIYWlQ4cOsWXLlhzb+vXrxznnnMMDDzyg7j4XNKZGqFu3bo775cuXB6Bhw4ZKaHxsx44ddOrUibp16/Lcc8+xZ8+erMdq1qwZwMhC34gRI7jlllto1aoVbdu25c0332Tr1q0MGjQo0KGFncGDBzN9+nT+97//ERMTkzVuqUKFCpQrVy7A0YWPmJiYPInLaaedRpUqVZTQ5ENJjUgx+uabb9i4cSMbN27MkzCq0bRoevXqxb59+3j88cfZuXMnTZo0Ye7cudSrVy/QoYUd57T5Tp065dg+depU+vbtW/wBifxL3U8iIiISFjQ6UURERMKCkhoREREJC0pqREREJCwoqREREZGwoKRGREREwoKSGhEREQkLSmpEREQkLCipERERkbCgpEakBHE4HHzyySeBDsMto0ePpnnz5oEOw+c6derE8OHD3d5/wYIFOBwODh48mO8+06ZNo2LFikWOTSTUKakRCQF9+/ale/fugQ4j5Llz8n/++eepUKECR48ezfPY8ePHqVixIi+88ILXMSQmJvLEE094/XwRyZ+SGhGRbPr06cOxY8eYPXt2nsdmz57N0aNHueWWWzw+7smTJwGoXLkyMTExRY5TRPJSUiMSgjp16sTQoUO5//77qVy5MjVr1mT06NE59tmwYQMdOnSgbNmyNG7cmG+//TbPcbZv306vXr2oVKkSVapUoVu3bmzevDnrcWcL0ZgxY6hevTqxsbHcfvvtnDhxImsfYwzjx4/n9NNPp1y5cjRr1oyPP/4463Fn98l3331Hq1atiI6O5qKLLmL9+vU5Ynn66aepUaMGMTEx9O/fn+PHj+eJd+rUqTRq1IiyZctyzjnnMHHixKzHNm/ejMPhIDExkc6dOxMdHU2zZs1YunRpVhz9+vUjJSUFh8OBw+HI854BVKtWjWuuuYa33347z2Nvv/021157LdWqVeOBBx7grLPOIjo6mtNPP51HH300K3GBU91nb7/9NqeffjpRUVEYY/J0P73//vu0atWKmJgYatasSe/evdm9e3ee1/7hhx9o1qwZZcuWpXXr1qxevTrPPtl99tlntGzZkrJly3L66aczZswY0tPTC3yOSMgzIhL0br31VtOtW7es+x07djSxsbFm9OjR5s8//zTvvPOOcTgc5ptvvjHGGJORkWGaNGliOnXqZH777TezcOFC06JFCwOYOXPmGGOMOXLkiDnzzDPNbbfdZlatWmX++OMP07t3b3P22WebtLS0rNctX7686dWrl/n999/N559/bqpVq2YeeuihrFgeeughc84555ivvvrKbNq0yUydOtVERUWZBQsWGGOMSUpKMoBp3bq1WbBggVmzZo1p3769ueiii7KOMWvWLFOmTBkzefJks27dOvPwww+bmJgY06xZs6x93nzzTVOrVi0ze/Zs89dff5nZs2ebypUrm2nTphljjElOTjaAOeecc8znn39u1q9fb3r27Gnq1atnTp48adLS0syECRNMbGys2blzp9m5c6c5dOiQy/f7iy++MA6Hw/z1119Z25KTk43D4TBz5841xhjzxBNPmB9++MEkJyebTz/91NSoUcM888wzWfuPGjXKnHbaaaZr167m119/NStXrjSZmZmmY8eOZtiwYVn7vfXWW2bu3Llm06ZNZunSpaZNmzbmyiuvzHrc+f41atTIfPPNN2bVqlXm6quvNvXr1zcnTpwwxhgzdepUU6FChaznfPXVVyY2NtZMmzbNbNq0yXzzzTemfv36ZvTo0a7/wETChJIakRDgKqlp165djn0uuOAC88ADDxhjjPn6669NZGSk2bZtW9bjX375ZY6k5q233jJnn322yczMzNonLS3NlCtXznz99ddZr1u5cmVz5MiRrH0mTZpkypcvbzIyMszhw4dN2bJlzZIlS3LE0r9/f3PjjTcaY06dlOfNm5f1+BdffGEAc+zYMWOMMW3btjWDBg3KcYzWrVvnSGri4+PN9OnTc+zzxBNPmLZt2xpjTiU1U6ZMyXp8zZo1BjBr1641xuQ9+ecnPT3d1KlTxzz22GNZ2x577DFTp04dk56e7vI548ePNy1btsy6P2rUKFO6dGmze/fuHPvlTmpy++mnnwyQlXA537+ZM2dm7bNv3z5Trlw5M2vWLJc/V/v27c1TTz2V47jvvfeeqVWrVsE/uEiIKxWgBiIRKaLzzjsvx/1atWpldVusXbuWunXrEhcXl/V427Ztc+z/yy+/sHHjxjzjO44fP86mTZuy7jdr1ozo6Ogcxzl8+DDbtm1j9+7dHD9+nMsuuyzHMU6cOEGLFi3yjbdWrVoA7N69m7p167J27VoGDRqUY/+2bduSlJQEwJ49e9i2bRv9+/dn4MCBWfukp6dToUIFt17nnHPOwV2RkZHceuutTJs2jVGjRuFwOHjnnXfo27cvkZGRAHz88cdMmDCBjRs3cvjwYdLT04mNjc1xnHr16lGtWrUCX+u3335j9OjRrFixgv3795OZmQnA1q1bady4cY73w6ly5cqcffbZrF271uUxf/nlF5YvX87YsWOztmVkZHD8+HGOHj2a4/cpEk6U1IiEqNKlS+e473A4sk6Ixpg8+zscjhz3MzMzadmyJR988EGefQs7Eed+vS+++II6derkeDwqKirfeJ2xOJ9fGOd+kydPpnXr1jkecyYZvnid7G677TbGjRvH/PnzAZtk9OvXD4Bly5Zxww03MGbMGLp27UqFChWYOXMmzz//fI5jnHbaaQW+xpEjR7j88su5/PLLef/996lWrRpbt26la9euOcYt5Sf379QpMzOTMWPGkJCQkOexsmXLFnpckVClpEYkDDVu3JitW7eyY8cOateuDZA1YNbp/PPPZ9asWVkDgPOzcuVKjh07Rrly5QB7Qi9fvjxxcXFUqlSJqKgotm7dSseOHb2Ot1GjRixbtow+ffpkbVu2bFnW7Ro1alCnTh3++usvbrrpJq9fp0yZMmRkZLi1b8OGDenYsSNTp07NGuDbsGFDwA7arVevHg8//HDW/lu2bPE4nnXr1rF3716efvpp4uPjAfj5559d7rts2TLq1q0LwIEDB/jzzz/zbX06//zzWb9+PWeccYbHMYmEMiU1ImGoS5cunH322fTp04fnn3+e1NTUHCdggJtuuolnn32Wbt268fjjjxMXF8fWrVtJTEzkvvvuy+q6OnHiBP379+eRRx5hy5YtjBo1iiFDhhAREUFMTAz33nsvd999N5mZmbRr147U1FSWLFlC+fLlufXWW92Kd9iwYdx66620atWKdu3a8cEHH7BmzRpOP/30rH1Gjx7N0KFDiY2N5corryQtLY2ff/6ZAwcOMGLECLdep379+hw+fJjvvvsuq1utoK6Y7N1dU6ZMydp+xhlnsHXrVmbOnMkFF1zAF198wZw5c9yKIbu6detSpkwZXnnlFQYNGsTvv/+ebw2bxx9/nCpVqlCjRg0efvhhqlatmm/toscee4yrr76a+Ph4/u///o+IiAhWrVrF6tWrefLJJz2OUyRUaEq3SBiKiIhgzpw5pKWlceGFFzJgwIAc4ysAoqOjWbRoEXXr1iUhIYFGjRpx2223cezYsRwtN5deeilnnnkmHTp04Prrr+eaa67JMRX6iSee4LHHHmPcuHE0atSIrl278tlnn9GgQQO34+3VqxePPfYYDzzwAC1btmTLli3ccccdOfYZMGAAU6ZMYdq0aTRt2pSOHTsybdo0j17noosuYtCgQfTq1Ytq1aoxfvz4Avfv0aMHUVFRREVF5ejK6datG3fffTdDhgyhefPmLFmyhEcffdTtOJyqVavGtGnT+Oijj2jcuDFPP/00zz33nMt9n376aYYNG0bLli3ZuXMnn376KWXKlHG5b9euXfn888/59ttvueCCC2jTpg0vvPAC9erV8zhGkVDiMK4630VEsHVqDh48GDJLK4hIyaaWGhEREQkLSmpEREQkLKj7SURERMKCWmpEREQkLCipERERkbCgpEZERETCgpIaERERCQtKakRERCQsKKkRERGRsKCkRkRERMKCkhoREREJC/8PLoUaUARvdlIAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "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", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "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": 22, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/jupyterlab/conda/envs/python/lib/python3.7/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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W05chRBATKgbAlztpY5DRETULuldhiZMmIDXX38dtbW1AACZTIasrCz885//xEMPPaTXey1ZskR31/ubPZKSkvSN2Mif19QRQtxynR25XA4nJ6dGD1Ok1Qp8e6L+FNkjnDhNRER0U3pfWv/ee+9h3Lhx8PT0RFVVFYYPH478/HzExMTgrbfe0uu95s6diylTptxyn+DgYH0jAgC8vb0B1I8Q+fj8sbZOQUFBk9Gijuj45WJkFVfCQW6Fsb28pY5DRETUbuldhpycnPDLL79g3759OHnyJLRaLfr374977rlH7w93d3eHu7txbg0REhICb29v7N27F/369QNQf0XagQMH8M477xjlM9uT//4+KnRfbx/Y2+j9j5mIiMhstPpbctSoURg1apQhs9xSVlYWiouLkZWVBY1Gg+TkZABAly5d4ODgAADo0aMH4uLi8OCDD0Imk2HevHl4++230bVrV3Tt2hVvv/027O3tMXXq1DbLLYUKdR12nq2/dxxPkREREd2aXmVIq9UiPj4eW7duxeXLlyGTyRASEoKHH34Y06ZNM+o9rxYtWoT169frnjeM9uzfvx8jRowAUD+JW6lU6vZ58cUXUVVVhaeffholJSWIjo7Gnj174OjoaLSc7cGOs3morNEg1L0TIoNcpI5DRETUrsmEEKIlOwohMH78eOzcuRMRERHo0aMHhBBITU3F2bNn8cADD+C7774zcty2p1KpoFAooFQqTWYy9aP/Popjl4vxwpjueGZkF6njEBERtTl9vr9bPDIUHx+PgwcP4ueff8bIkSMbvbZv3z5MnDgRGzZswPTp01uXmgzicmEFjl0uhoUMmNTfT+o4RERE7V6LL63/+uuv8fLLLzcpQkD9/KF//vOf2LRpk0HDkf62nKyfOD2kqwd8FHYSpyEiImr/WlyGzpw5g7Fjx9709djYWJw+fdogoah1NFqBLQ1rC3HFaSIiohZpcRkqLi6+5fo8Xl5eKCkpMUgoap0jGYXIVVbDydYK94Z3/LWUiIiIDKHFZUij0cDK6uZTjCwtLVFXV2eQUNQ6DTdlndDXD7bWlhKnISIiMg0tnkAthMDMmTMhl8ubfV2tVhssFOlPWVWL3Sn191zjTVmJiIharsVlaMaMGbfdh1eSSeeHM7lQ12nRzcsBffwVUschIiIyGS0uQ1988YUxc9AdajhF9khkgFEX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kJSU1Oy+iYmJCAwMBACUlJTgt99+u+loV//+/ZGWloYuXbronYnIlLEMEZHOPffcg+7du2P69Ol4//33oVKpGn1xA8Bjjz2Gd999FxMmTMDrr78Of39/ZGVlYevWrXjhhRd0p9hqamowa9YsvPrqq7hy5QoWL16MuXPnwsLCAo6OjliwYAGef/55aLVaDBkyBCqVCkeOHIGDgwNmzJjRorzPPfccZsyYgaioKAwZMgSbNm1CSkoKQkNDdfssWbIEzz77LJycnBAbGwu1Wo2kpCSUlJRg/vz5Lfqc4OBglJeX4+eff9ad/rvVKaMbT8utXbtWt71Lly7IysrCN998gwEDBmDHjh3Ytm1bizLcKDAwEDY2Nvj4448xZ84cnDt37qZrEL3++utwc3ODl5cXXnnlFbi7u9907alFixbh/vvvR0BAAB555BFYWFjgzJkzOHv2LN588029cxKZCl5aT0Q6FhYW2LZtG9RqNQYOHIgnn3yy0fwRALC3t8fBgwcRGBiISZMmISwsDE888QSqqqoajRTdfffd6Nq1K4YNG4ZHH30U48ePb3RJ+htvvIFFixYhLi4OYWFhGDNmDLZv346QkJAW5508eTIWLVqEl156CZGRkbhy5Qr+9re/NdrnySefxNq1axEfH4/evXtj+PDhiI+P1+tzBg8ejDlz5mDy5Mnw8PDA8uXLb7n/Qw89BLlcDrlc3uiU04QJE/D8889j7ty56Nu3L44cOYLXXnutxTkaeHh4ID4+Hv/9738RHh6OZcuW4b333mt232XLluG5555DZGQk8vLy8P3338PGxqbZfceMGYMffvgBe/fuxYABAzBo0CB88MEHCAoK0jsjkSmRieYmCRAR3YGZM2eitLTUZG7hQUTmjSNDREREZNZYhoiIiMis8TQZERERmTWODBEREZFZYxkiIiIis8YyRERERGaNZYiIiIjMGssQERERmTWWISIiIjJrLENERERk1liGiIiIyKz9P1m3lW0a/c3hAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "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": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Z87g5MmTUkexCBwZojIWLlwImUxW6e3UqVNYvnw5NBoN5s6dK3Vki1XVz/p+KSkpGDhwIF544QVMmjRJouR1j0wmK/NYCFFuGZnOlClTcP78eXz77bdSR6mTkpKSMG3aNGzZsgX29vZSx7EIPGaIysjMzERmZmal6/j7+2PkyJHYtWtXmV8YOp0OCoUCL730EjZt2mTuqBavqp/1vX/MUlJSEBYWhpCQEGzcuBFyOf8vU11FRUVwdHTEDz/8gKFDhxqWT5s2DVFRUTh8+LCE6eqmN954Az/99BOOHDmCgIAAqePUST/99BOGDh0KhUJhWKbT6SCTySCXy6HVass8RyxD9IgSExOh0WgMj1NSUjBgwAD8+OOPCAkJQePGjSVMV/ckJycjLCwMwcHB2LJlC/8hM6GQkBAEBwdj5cqVhmWtW7fGc889xwOoTUgIgTfeeAM7d+5EZGQkmjdvLnWkOisnJwcJCQlllo0fPx6tWrXCnDlzuGuyAjxmiB5JkyZNyjx2cnICADRt2pRFyMRSUlLQp08fNGnSBEuWLEFGRobhOS8vLwmT1Q0zZ87E6NGj0aVLF4SGhmLNmjVITExEeHi41NHqlNdffx3/+c9/8N///hfOzs6GY7JUKhUcHBwkTle3ODs7lys89erVQ8OGDVmEHoBliKiW279/P2JjYxEbG1uuaHJgt/pGjBiB27dv47333kNqairatm2LvXv3ws/PT+podcq9qQv69OlTZvmGDRswbty4mg9EdB/uJiMiIiKrxiMwiYiIyKqxDBEREZFVYxkiIiIiq8YyRERERFaNZYiIiIisGssQERERWTWWISIiIrJqLENE9FAymQw//fST1DGqZOHChejYsaPUMUyuT58+mD59epXXj4yMhEwmQ3Z29gPX2bhxI+rXr1/tbESWjmWIqA4bN24chgwZInUMi1eV0rB06VKoVCrk5+eXe66wsBD169fHZ5999sgZduzYgffff/+RtyeiB2MZIiIygTFjxqCgoADbt28v99z27duRn5+P0aNHG/26xcXFAABXV1c4OztXOycRlccyRGRF+vTpg6lTp2L27NlwdXWFl5cXFi5cWGada9euoVevXrC3t0fr1q1x4MCBcq+TnJyMESNGoEGDBmjYsCGee+45xMfHG56/NyK1aNEieHh4wMXFBa+88gqKiooM6wghsHjxYgQG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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "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": [ + "\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": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2025-10-20 16:54:16 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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
YearValue
019605.918412e+10
119614.955705e+10
219624.668518e+10
319635.009730e+10
419645.906225e+10
519656.970915e+10
619667.587943e+10
719677.205703e+10
819686.999350e+10
919697.871882e+10
\n", + "
" + ], + "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": 24, + "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", + "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 decelerates slightly in the 2010s.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "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": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "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": [ + "\n", + "\n", + "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", + "Now, let's build our regression model and initialize its parameters. \n" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "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": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGsCAYAAAAPJKchAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRFElEQVR4nO3deVyU1f4H8M8wwIAIo+wgiLgvKCruSS4laWUamZbmrmllala3rG5qty7dfrfScjeXLFPT0OxmlmUq7oLgvoOyOIiADptsM+f3x8QksjgDA88sn/frNS/jzJmZ75yA+XCe55xHJoQQICIiIpKIndQFEBERkW1jGCEiIiJJMYwQERGRpBhGiIiISFIMI0RERCQphhEiIiKSFMMIERERSYphhIiIiCTFMEJERESSYhghIiIiSVlUGNm/fz+GDh0Kf39/yGQybN++3ajHFxYWYsKECejYsSPs7e0xfPjwCn0OHDiAhx56CB4eHnB2dkbbtm3x+eefm+YNEBERUQX2UhdgjPz8fISGhmLixIl45plnjH68RqOBs7MzZs6ciR9++KHSPi4uLpgxYwY6deoEFxcXHDhwANOmTYOLiwtefPHF2r4FIiIiuo/MUi+UJ5PJsG3btnKzG8XFxXjvvfewYcMG3LlzByEhIfjPf/6D/v37V3j8hAkTcOfOHYNmVyIjI+Hi4oJvvvnGdG+AiIiIAFjYYZoHmThxIg4ePIhNmzbh1KlTePbZZzF48GBcvny5xs8ZHx+PQ4cOoV+/fiaslIiIiMpY1GGa6ly9ehUbN25Eamoq/P39AQBvvPEGdu3ahbVr1+Lf//63Uc8XEBCAW7duobS0FPPnz8eUKVPqomwiIiKbZzVh5MSJExBCoHXr1uXai4qK4OHhYfTzxcTEIC8vD0eOHMHbb7+Nli1b4vnnnzdVuURERPQXqwkjWq0WcrkccXFxkMvl5e5r2LCh0c8XHBwMAOjYsSNu3ryJ+fPnM4wQERHVAasJI126dIFGo0FGRgbCw8NN+txCCBQVFZn0OYmIiEjHosJIXl4erly5ov86KSkJCQkJcHd3R+vWrTFmzBiMGzcOn376Kbp06YLMzEzs2bMHHTt2xOOPPw4AOHfuHIqLi5GdnY3c3FwkJCQAADp37gwAWLJkCZo2bYq2bdsC0O078t///hevvvpqvb5XIiIiW2FRS3v37t2LAQMGVGgfP3481q1bh5KSEnz44YdYv3490tLS4OHhgd69e2PBggXo2LEjAKBZs2a4fv16hecoG4Yvv/wSK1asQFJSEuzt7dGiRQtMnToV06ZNg52dVS0+IiIiMgsWFUaIiIjI+vBPfSIiIpIUwwgRERFJyiJOYNVqtbhx4wZcXV0hk8mkLoeIiIgMIIRAbm4u/P39qz3v0iLCyI0bNxAYGCh1GURERFQDKSkpCAgIqPJ+iwgjrq6uAHRvxs3NTeJqiIiIyBA5OTkIDAzUf45XxSLCSNmhGTc3N4YRIiIiC/OgUyx4AisRERFJimGEiIiIJMUwQkRERJIyOozs378fQ4cOhb+/P2QyGbZv327wYw8ePAh7e3v9dWCIiIiIjA4j+fn5CA0NxeLFi416nFqtxrhx4/DII48Y+5JERERkxYxeTTNkyBAMGTLE6BeaNm0aRo8eDblcbtRsChEREVm3ejlnZO3atbh69SrmzZtnUP+ioiLk5OSUuxEREZF1qvMwcvnyZbz99tvYsGED7O0Nm4iJioqCUqnU37j7KhERkfWq0zCi0WgwevRoLFiwAK1btzb4cXPnzoVardbfUlJS6rBKIiIiklKd7sCam5uL2NhYxMfHY8aMGQB0F70TQsDe3h6//fYbBg4cWOFxCoUCCoWiLksjIiIiM1GnYcTNzQ2nT58u17Z06VLs2bMHW7duRXBwcF2+PBEREVkAo8NIXl4erly5ov86KSkJCQkJcHd3R9OmTTF37lykpaVh/fr1sLOzQ0hISLnHe3t7w8nJqUI7ERER2SajzxmJjY1Fly5d0KVLFwDAnDlz0KVLF7z//vsAAJVKheTkZNNWSURERCZXUFyKHxPSMOXrWGTlFUlWh0wIISR7dQPl5ORAqVRCrVbzqr1ERES1UFyqRczlW/gx4QZ2n7uJuyUaAMC/hodgbK8gk76WoZ/fdXrOCBEREUlPqxU4mpSNHSdv4JczKtwpKNHfF+TRAE+F+iO8padk9TGMEBERWalLN3OxNS4VOxJuID2nUN/u5arA0E7+eKqzP0IDlJDJZBJWyTBCRERkVdR3S/DTyRvYEpeKkyl39O2uTvZ4PMQPT3X2R6/mHpDbSRtA7sUwQkREZOG0WoFDV7OwJS4Fu86ko6hUCwCwt5NhYFtvRHYNwIC2XlDYyyWutHIMI0RERBYq7c5dbD6egh/iUpF2566+vbVPQ4zsFojhXZrAs6H5byLKMEJERGRBtFqB/Zdv4dsjydhz4Sa0f62JdXOyx1Od/fFsWCA6mcF5IMZgGCEiIrIA2fnF2BKbgu+OJeN6VoG+vXdzDzzfsyki2vvAycE8D8M8CMMIERGRmRJCID7lDr49fB3/O61C8V/ngrg62WNEWADG9AxCS++GEldZewwjREREZqZEo8XO0yp8FZOE02lqfXtIEzeM7RWEoaH+aOBoPR/h1vNOiIiILJy6oAQbjydj3cFr+n1BFPZ2GBrqjxd6BZnFniB1gWGEiIhIYtcy87H2YBK2xKWioFi3PbuXqwLjegVhTK8guLs4Slxh3WIYISIiksjxa9lYtT8Ru8/fRNmV4tr6umJKeHMMDfUz231BTI1hhIiIqB4JIbDv0i0s+fMKjl+7rW8f0MYLU8Kbo08LD6s8FFMdhhEiIqJ6oNUK/HYuHUv+vKo/KdVRbodnwppgct9gtPR2lbhC6TCMEBER1aFSjRY/nbqBpX9exeWMPACAs4Mco3s2xdTw5vBVOklcofQYRoiIiOpAcakWW+NSsXzfVSRn6zYpc3Wyx/jezTCpb7DVn5RqDIYRIiIiEyrVaBEdn4ZFv1/WXy/G3cURk/sGY2zvILg5OUhcoflhGCEiIjIBrVbgf6dVWLj7EhIz8wEA3q4KTO/XAs/3aApnR9tYGVMTDCNERES1IITAb+du4rPfLuHizVwAupmQl/q1wAu9ghhCDMAwQkREVANCCOy/nIlPf7uIU6m61TGuTvZ4Mbw5JvYNRkMFP2INxZEiIiIy0qnUO/jo5/M4mpQNAGjgKMfEh5rhxfAWUDbgOSHGYhghIiIyUNqdu/i/XRewPeEGAMDR3g5jewXhpf4t4NlQIXF1lothhIiI6AFyCkuwbO9VrD6QhOJSLQAgsksTvP5YGzRp5CxxdZaPYYSIiKgKJRotNh1Lxue/X0Z2fjEAoFdzd7z3RHuENFFKXJ31YBghIiK6jxACf5zPwL9/OY/EW7plus29XPDOkHZ4pJ23zV07pq4xjBAREd0j8VYeFvx0Dvsu3QIAeLg4Yvag1niueyAc5HYSV2edGEaIiIgAFBSX4ss9V/BVTCJKNAKOcjtM6huMlwe04K6pdYxhhIiIbJoQAj+fVuGjn89DpS4EAPRv44V5Qzsg2NNF4upsA8MIERHZrEs3czHvx7M4nJgFAAh0d8b7T3bAozwvpF4xjBARkc3JKyrFwt2XsO7QNZRqBRT2dnipfwtM79cCTg7cvr2+MYwQEZFN+f3cTfzzxzP6QzIR7X3wzyfbI9C9gcSV2S6GESIisgkZOYVY8NM5/HxaBQBo6t4AHwzrgP5tvCWujBhGiIjIqmm1AptjU/DvneeRW1gKuZ0MU8ObY9YjrXhFXTPBMEJERFbr6q08zI0+jWN/XdCuU4ASUZEd0cGfu6eaE4YRIiKyOsWlWizfdxWL91xBsUYLZwc5Xo9ojQl9msGeG5eZHYYRIiKyKmdvqPH69ydxIT0XANCvtRc+HB7CE1TNGMMIERFZhRKNFsv2XsUXf1xGqVbA3cUR84a2x1Oh/twzxMwxjBARkcW7dDMXr39/EqfT1ACAwR188eHTIfBsqJC4MjKE0QfO9u/fj6FDh8LfX5c0t2/fXm3/6OhoDBo0CF5eXnBzc0Pv3r3x66+/1rReIiIiPY1WYMW+q3jyiwM4naaG0tkBi57rjGUvdGUQsSBGh5H8/HyEhoZi8eLFBvXfv38/Bg0ahJ07dyIuLg4DBgzA0KFDER8fb3SxREREZZIy8zFyxWFE/XIBxRotBrTxwm+vPYxhnZvwsIyFkQkhRI0fLJNh27ZtGD58uFGP69ChA0aNGoX333/foP45OTlQKpVQq9Vwc3OrQaVERGQthBBYf/g6on45j8ISLRoq7PHPJ9thZLdAhhAzY+jnd72fM6LVapGbmwt3d/cq+xQVFaGoqEj/dU5OTn2URkREZu5WbhHe3HoSey/eAgD0aeGBT0Z0QkBjrpSxZPUeRj799FPk5+dj5MiRVfaJiorCggUL6rEqIiIyd3svZuCNLSeRmVcMhb0d3nm8Hcb2CoKdHWdDLF297vyyceNGzJ8/H5s3b4a3d9XXApg7dy7UarX+lpKSUo9VEhGROSkq1eCDn85hwtrjyMwrRhsfV+yY0Rfj+zRjELES9TYzsnnzZkyePBlbtmzBo48+Wm1fhUIBhYJnQRMR2borGbl4dWMCzqt0h+sn9GmGt4e0hZMDryljTeoljGzcuBGTJk3Cxo0b8cQTT9THSxIRkQUTQmDjsRR88L+zKCzRwt3FEf83ohMeaecjdWlUB4wOI3l5ebhy5Yr+66SkJCQkJMDd3R1NmzbF3LlzkZaWhvXr1wPQBZFx48Zh0aJF6NWrF9LT0wEAzs7OUCp5oSIiIirvTkEx3v7hNHad1X1ehLfyxKfPhsLbzUniyqiuGL20d+/evRgwYECF9vHjx2PdunWYMGECrl27hr179wIA+vfvj3379lXZ3xBc2ktEZBsSUu7glQ0nkHbnLhzkMrz5WBtM6duc54ZYKEM/v2u1z0h9YRghIrJuZXuHfPjzOZRoBII8GmDx813RMYAz6JbMbPcZISIiuldeUSne/uEU/ndKBQB4rIMP/u/ZULg5OUhcGdUXhhEiIpLMhfQcvPztCSRm5sPeToa3h7TF5L7B3EnVxjCMEBGRJLbGpeK97adRWKKFr5sTlozpgrCgqnfnJuvFMEJERPWqsESDeT+exeZY3YaW4a08sXBUZ3jwKrs2i2GEiIjqTUp2AaZ9E4dzqhzIZMDsR1pjxsCWkHO1jE1jGCEionpx6EomXvnuBG4XlMDDxRGLnuuCvq08pS6LzADDCBER1SkhBNYevIaPdp6HRivQsYkSK8aGwb+Rs9SlkZlgGCEiojpTWKLBO9tOI/pEGgDg6S5NEBXZkdeWoXIYRoiIqE7cuHMX07+Nw6lUNeR2MrzzeDtMeqgZl+1SBQwjRERkcseSsvHyhjhk5hWjcQMHLB7dFQ+15PkhVDmGESIiMhkhBL49mowFO86iVCvQzs8NK8eGIdC9gdSlkRljGCEiIpMo1Wix4Kdz+ObIdQDAk5388MmITmjgyI8aqh6/Q4iIqNZyCkvwyoYTiLmcCZkM+MdjbTG9X3OeH0IGYRghIqJaSc4qwOSvj+NyRh6cHeRY+FxnPNbBV+qyyIIwjBARUY3FXsvGi9/EITu/GD5uCqwe3x0hTZRSl0UWhmGEiIhqZHt8Gv6x9RSKNVqENHHDV+O6w1fpJHVZZIEYRoiIyCharcDC3y/hiz1XAACPdfDB56M680RVqjF+5xARkcEKSzR4fctJ/HxKBQCY3q8F/vFYG9jxQndUCwwjRERkkNv5xZj89XGcSL4DB7kMHz3dESO7BUpdFlkBhhEiInqglOwCjF9zDImZ+XBzsseKsd3Qu4WH1GWRlWAYISKiap1OVWPiuuPIzCtCk0bO+HpSd7T0dpW6LLIiDCNERFSlPy9m4JUNJ1BQrEE7Pzesm9gdPm5cMUOmxTBCRESV+v54CuZuOw2NViC8lSeWjukKVycHqcsiK8QwQkRE5QghsOiPy1j4+2UAQGTXJvg4shMc7e0kroysFcMIERHplWq0eG/7GWw6ngIAmDGgJV6PaM1rzFCdYhghIiIAwN1iDV757gT2XMiAnQz41/AQjOkZJHVZZAMYRoiICOq7JZi87jhir9+Gk4Mdvny+Kwa195G6LLIRDCNERDYuI6cQ49Ycw4X0XLg52WPtxO4IC3KXuiyyIQwjREQ2LDmrAC+sPork7AJ4uSqwflIPtPNzk7ossjEMI0RENuq8Kgfj1hzDrdwiNHVvgG8n90RTjwZSl0X1SaMBYmIAlQrw8wPCwwG5vN7LYBghIrJBsdeyMWndceQUlqKtryvWT+4Bb1duZmZToqOBWbOA1NS/2wICgEWLgMjIei2Fi8aJiGzMnxcz8MLqo8gpLEW3oMbYPK03g4itiY4GRowoH0QAIC1N1x4dXa/lMIwQEdmQHxPSMPXrWBSWaDGgjRe+mdwTSmfuqmpTNBrdjIgQFe8ra5s9W9evnjCMEBHZiA1Hr2P25gSUagWGdfbHynHd4OxY/+cHkMRiYirOiNxLCCAlRdevnvCcESIiG/BVTCI+/Pk8AGBc7yDMH9oBdnbcVdUmqVSm7WcCDCNERFZu8Z7L+O9vlwAA0/u1wFuD23B7d1vm52fafibAwzRERFZKCIH/+/WCPojMGdSaQYR0y3cDAoCqvg9kMiAwUNevnjCMEBFZISEEPvjfOSz58yoA4J3H22LmI60YREi3j8iiRbr/vv/7oezrhQvrdb8Ro8PI/v37MXToUPj7+0Mmk2H79u0PfMy+ffsQFhYGJycnNG/eHMuXL69JrUREZACtVuCdbWew9uA1AMC/hnXAiw+3kLYoMi+RkcDWrUCTJuXbAwJ07ea+z0h+fj5CQ0OxePFig/onJSXh8ccfR3h4OOLj4/HOO+9g5syZ+OGHH4wuloiIqleq0eL1LSex8Vgy7GTAJyM6YWzvZlKXReYoMhK4dg3480/gu+90/yYl1XsQAQCZEJUtNDbwwTIZtm3bhuHDh1fZ56233sKOHTtw/vx5fdv06dNx8uRJHD582KDXycnJgVKphFqthpsbr5lARFSZ4lItZm2Kxy9n0iG3k+HzUZ3xVKi/1GWRDTP087vOzxk5fPgwIiIiyrU99thjiI2NRUlJSaWPKSoqQk5OTrkbERFVrahUg5c3xOGXM+lwlNth2ZiuDCJkMeo8jKSnp8PHx6dcm4+PD0pLS5GZmVnpY6KioqBUKvW3wMDAui6TiMhiFZVq8NK3J/D7+Qwo7O2wclwYIjr4Sl0WkcHqZTXN/Wdvlx0Zquqs7rlz50KtVutvKSkpdV4jEZElKizRYPo3cdhzQRdEVo/vjv5tvKUui8godb7pma+vL9LT08u1ZWRkwN7eHh4eHpU+RqFQQKFQ1HVpREQWrbBEg2nfxGHfpVtwctAFkYdaekpdFpHR6nxmpHfv3ti9e3e5tt9++w3dunWDgwMvzkREVBOFJRpMXR+rDyJrJjCIkOUyOozk5eUhISEBCQkJAHRLdxMSEpCcnAxAd4hl3Lhx+v7Tp0/H9evXMWfOHJw/fx5r1qzB6tWr8cYbb5jmHRAR2ZiyIBJzORPODnKsndADfVowiJDlMvowTWxsLAYMGKD/es6cOQCA8ePHY926dVCpVPpgAgDBwcHYuXMnXnvtNSxZsgT+/v744osv8Mwzz5igfCIi23K3WIMp64/j4JUsNHCUY+2E7ujZvPJD3kSWolb7jNQX7jNCRAQUFJdi8rpYHE7MgoujHGsn9kCPYHepyyKqkqGf37xqLxGRBbhbrCkXRL6e1APdmjGIkHVgGCEiMnNl54gcTsxCQ4U9vp7UHWFBDCJkAI0GiIkBVCrAz093Jd56vACeoRhGiIjMWNny3QNXMtHAUY51ExlEyEDR0cCsWUBq6t9tAQG6K/ZKcP2Z6tTLpmdERGS84lItXtlwQr98d+2E7jw0Q4aJjgZGjCgfRAAgLU3XHh0tTV1VYBghIjJDJRotXt14An/8tbPqmvFcNUMG0mh0MyKVrU8pa5s9W9fPTDCMEBGZmVKNFrM3JeDXszfhaG+HVeO6oQ83NCNDxcRUnBG5lxBASoqun5lgGCEiMiMarcCc70/i59MqOMhlWPFCGB5u7SV1WWRJVCrT9qsHDCNERGZCoxV4c+tJ7Dh5A/Z2MiwdE4YBbXnROzKSn59p+9UDhhEiIjOg1Qq8E30a0SfSILeT4cvnu2BQex+pyyJLFB6uWzUjk1V+v0wGBAbq+pkJhhEiIokJITBvx1lsjk2BnQxYOKozhnQ0n79aycLI5brlu0DFQFL29cKFZrXfCMMIEZGEhBD4+JcL+ObIdchkwH+fDcXQUH+pyyJLFxkJbN0KNGlSvj0gQNduZvuMcNMzIiIJffHHFazYnwgA+Gh4R0R2DZC4IrIakZHAsGHcgZWIiKq2an8iPv/9EgDgn0+2x+ieTSWuiKyOXA707y91FQ/EwzRERBL49sh1fLTzPADg9UGtMblvsMQVEUmHYYSIqJ79EJeK97afAQC81L8FZgxsKXFFRNJiGCEiqkc7T6vw5taTAIAJfZrhH4+1gayqJZhENoJhhIionuy5cBMzN8ZDK4CR3QLw/pPtGUSIwDBCRFQvDl3NxPRvT6BUKzA01B9RkZ1gZ8cgQgQwjBAR1bn45NuY8nUsiku1GNTeB5+NDIWcQYRIj2GEiKgOXUzPxYS1x1FQrEHflp5YPLoLHOT81Ut0L/5EEBHVketZ+Xhh9VGo75agS9NGWDE2DAp789twikhqDCNERHUgXV2IMV8dxa3cIrT1dcW6CT3gouA+k0SVYRghIjKx7PxivLD6KFJv30UzjwZYP7kHlA0cpC6LyGwxjBARmVBuYQnGrzmGKxl58HVzwjeTe8Lb1UnqsojMGsMIEZGJFJZoMPnrWJxOU8PdxRHfTumBQPcGUpdFZPYYRoiITKBEo8XLG07gWFI2XBX2WD+pB1p6u0pdFpFF4NlURES1pNEKvP79Sey5kAGFvR2+Gt8NIU2UUpdFtkCjAWJiAJUK8PMDwsN1V+q1MAwjRES1IITA/B1nsePkDdjbybD8hTD0bO4hdVlkC6KjgVmzgNTUv9sCAoBFi4DISOnqqgEepiEiqoXPf7+Mb45ch0wGfDaqMwa09Za6JLIF0dHAiBHlgwgApKXp2qOjpamrhhhGiIhqaO3BJHzxx2UAwAfDQvBUqL/EFZFN0Gh0MyJCVLyvrG32bF0/C8EwQkRUA9vj07Dgp3MAgDmDWmNsryCJKyKbERNTcUbkXkIAKSm6fhaCYYSIyEh7LtzE61tOAgAm9GmGVwe2lLgisikqlWn7mQGGESIiIxxLysZL356ARiswvLM/3n+yPWQyXoGX6pGfn2n7mQGGESIiA527kYPJXx9HUakWA9t64/+eDYWdHYMI1bPwcN2qmapCsEwGBAbq+lkIhhEiIgNcz8rHuDXHkFtYiu7NGmPJ6K5wkPNXKElALtct3wUqBpKyrxcutKj9RviTRET0ABk5hXhh9VFk5umuwPvV+O5wdrScX/RkhSIjga1bgSZNyrcHBOjaLWyfEW56RkRUDfXdEoxbcwwp2XcRVHYFXmdegZfMQGQkMGwYd2AlIrJmhSUaTP06FhfSc+HlqsA3k3gFXjIzcjnQv7/UVdRajQ7TLF26FMHBwXByckJYWBhiHrCWecOGDQgNDUWDBg3g5+eHiRMnIisrq0YFExHVh1KNFjO+i8exa7oL3309sQeaevAKvER1wegwsnnzZsyePRvvvvsu4uPjER4ejiFDhiA5ObnS/gcOHMC4ceMwefJknD17Flu2bMHx48cxZcqUWhdPRFQXhBCYG30av5+/Cce/LnzX3t9N6rKIrJbRYeSzzz7D5MmTMWXKFLRr1w4LFy5EYGAgli1bVmn/I0eOoFmzZpg5cyaCg4PRt29fTJs2DbGxsbUunoioLvxn10VsiUuFnQxY/HwXXviOqI4ZFUaKi4sRFxeHiIiIcu0RERE4dOhQpY/p06cPUlNTsXPnTgghcPPmTWzduhVPPPFEla9TVFSEnJyccjciovqwan8ilu+7CgD4OLITIjr4SlwRkfUzKoxkZmZCo9HAx8enXLuPjw/S09MrfUyfPn2wYcMGjBo1Co6OjvD19UWjRo3w5ZdfVvk6UVFRUCqV+ltgYKAxZRIR1cgPcan4aOd5AMBbg9tiZHf+7iGqDzU6gfX+rY+FEFVuh3zu3DnMnDkT77//PuLi4rBr1y4kJSVh+vTpVT7/3LlzoVar9beUlJSalElEZLA9F27iHz+cAgBM6RuM6f2aS1wRke0wammvp6cn5HJ5hVmQjIyMCrMlZaKiovDQQw/hzTffBAB06tQJLi4uCA8Px4cffgi/SvbOVygUUCgUxpRGRFRjsdey8fIG3fVmIrs0wTuPt+P1ZojqkVEzI46OjggLC8Pu3bvLte/evRt9+vSp9DEFBQWwsyv/MvK/NmQRQhjz8kREJnfpZi4mrTuOwhItBrTxwn9GdOL1ZojqmdGHaebMmYOvvvoKa9aswfnz5/Haa68hOTlZf9hl7ty5GDdunL7/0KFDER0djWXLliExMREHDx7EzJkz0aNHD/j7+5vunRARGSntzl2MW30MOYWl6Nq0EZaM4fVmiKRg9A6so0aNQlZWFj744AOoVCqEhIRg586dCAoKAgCoVKpye45MmDABubm5WLx4MV5//XU0atQIAwcOxH/+8x/TvQsiIiNl5xdj7OqjSM8pRCvvhlgzoTsaOHJTaiIpyIQFHCvJycmBUqmEWq2Gmxs3HiKi2skvKsXor47iZMod+Cud8MPLfeCndJa6LCKrY+jnN+cjicimlGi0eGnDCZxMuYNGDRywfnIPBhEiiXFOkohshlYr8OaWk9h/6RacHeRYM6E7Wnq7Sl0WUeU0Gqu4Iq8hGEaIyCYIIfDRzvPYnnAD9nYyLH2hK7o2bSx1WUSVi44GZs0CUlP/bgsIABYtAiIjpaurjvAwDRHZhOX7ErH6QBIA4P+e7YQBbbwlroioCtHRwIgR5YMIAKSl6dqjo6Wpqw4xjBCR1dsSm4L/7LoAAHjviXZ4ukuAxBURVUGj0c2IVLa2pKxt9mxdPyvCMEJEVu33czfxdvRpAMC0fs0xJZzbvJMZi4mpOCNyLyGAlBRdPyvCMEJEViv2WjZe+U63zfszXQPw9uC2UpdEVD2VyrT9LATDCBFZpbJt3otKtRjY1hsfP9OR15sh81fJ9dpq1c9CMIwQkdW5d5v3sKDGWDKa27yThQgP162aqSo4y2RAYKCunxXhTycRWZX7t3lfPb4bnB2tc28GskJyuW75LlAxkJR9vXCh1e03wjBCRFajoLgUE9cdR+KtfPgrnbB+cg80auAodVlExomMBLZuBZo0Kd8eEKBrt8J9RrjpGRFZhRKNFi99y23eyUpERgLDhnEHViIiS1G2zfu+v7Z5X8tt3skayOVA//5SV1EveJiGiCxaZdu8d+E270QWhWGEiCzaiv3c5p3I0jGMEJHF+v54Cj7+hdu8E1k6hhEiski7z93E29GnAHCbdyJLxzBCRBbnWFI2Znx3AloBPBvGbd6JLB3DCBFZlPOqHEz+WrfN+6PtfBAVyW3eiSwdwwgRWYyU7AKMW3MMuYWl6N6sMRaP7gJ7bvNOZPH4U0xEFuFWbhHGrj6KW7lFaOvriq/Gd4eTg3VuAEVkaxhGiMjs5RaWYMLaY7iWVYCAxs5YP6kHlM4OUpdFRCbCMEJEZq2wRIMX18fh7I0ceLg44pvJPeHt5iR1WURkQgwjRGS2NFqB2ZsScDgxCw0V9vh6Ug8Ee7pIXRYRmRjDCBGZJSEE3t12GrvOpsNRboeVY8MQ0kQpdVlEVAcYRojILP1n10VsOp4COxnwxfOd0aelp9QlEVEdYRghIrOzYt9VLN93FQAQFdkRg0P8JK6IiOoSwwgRmZXvj6cg6q/rzbw9pC1GdW8qcUVEVNcYRojIbPx6Nv3v68083BzT+7WQuCIiqg8MI0RkFg5dzcSrG+OhFcCoboF4ewivN0NkKxhGiEhyp1PVeHF9HIpLtXisgw8+ejqE15shsiEMI0Qkqau38jB+7THkFZWiTwsPLHqO15shsjX8iSciydy4cxfjVh9Ddn4xOgUosXJcN15vhsgGMYwQkSQy84rwwuqjSLtzF829XLB2Qnc0VNhLXRYRSYBhhIjqnfpuCcatPobEW/lo0sgZ307uCY+GCqnLIiKJMIwQUb26W6zBlK+P45wqB54NHfHtlJ7wb+QsdVlEJCGGESKqN8WlWkz/Ng7Hr92Gq5M91k/qyQvfERF4gJaI6oVGK/Da5gTsu3QLzg5yrJvYHe393aQui0g6Gg0QEwOoVICfHxAeDsht8wRuhhEiqnNCCLwTfRo/n1bBQS7DirFhCAtyl7osIulERwOzZgGpqX+3BQQAixYBkZHS1SWRGh2mWbp0KYKDg+Hk5ISwsDDExMRU27+oqAjvvvsugoKCoFAo0KJFC6xZs6ZGBRORZRFC4N87z2Nz7F9X4H2uCx5u7SV1WUTSiY4GRowoH0QAIC1N1x4dLU1dEjJ6ZmTz5s2YPXs2li5dioceeggrVqzAkCFDcO7cOTRtWvkFrUaOHImbN29i9erVaNmyJTIyMlBaWlrr4onI/C358wpWxSQBAD5+phOGdOQVeMmGaTS6GREhKt4nBCCTAbNnA8OG2dQhG5kQlY1I1Xr27ImuXbti2bJl+rZ27dph+PDhiIqKqtB/165deO6555CYmAh395pNy+bk5ECpVEKtVsPNjceYiSzFuoNJmP/TOQDAP59sj8l9gyWuiEhie/cCAwY8uN+ffwL9+9d1NXXO0M9vow7TFBcXIy4uDhEREeXaIyIicOjQoUofs2PHDnTr1g2ffPIJmjRpgtatW+ONN97A3bt3q3ydoqIi5OTklLsRkWX5/niKPojMfKQVgwgRoDtZ1ZT9rIRRh2kyMzOh0Wjg4+NTrt3Hxwfp6emVPiYxMREHDhyAk5MTtm3bhszMTLz88svIzs6u8ryRqKgoLFiwwJjSiMiM7Dh5A29FnwIATOkbjNcebSVxRURmws/Aw5SG9rMSNTqB9f6raQohqrzCplarhUwmw4YNG9CjRw88/vjj+Oyzz7Bu3boqZ0fmzp0LtVqtv6WkpNSkTCKSwG9n0/Ha5gQIAYzp2RTvPtGOV+AlKhMerls1U9XPhEwGBAbq+tkQo8KIp6cn5HJ5hVmQjIyMCrMlZfz8/NCkSRMolUp9W7t27SCEQOr9ZxL/RaFQwM3NrdyNiMzf/ku3MOO7eGi0ApFdmuBfw0IYRIjuJZfrlu8CFQNJ2dcLF9rUyauAkWHE0dERYWFh2L17d7n23bt3o0+fPpU+5qGHHsKNGzeQl5enb7t06RLs7OwQEBBQg5KJyBwdTczCi9/EolijxeMdffHJiE6ws2MQIaogMhLYuhVo0qR8e0CArt0G9xkxejXN5s2bMXbsWCxfvhy9e/fGypUrsWrVKpw9exZBQUGYO3cu0tLSsH79egBAXl4e2rVrh169emHBggXIzMzElClT0K9fP6xatcqg1+RqGiLzlpByBy98dRR5RaUY0MYLK8Z2g6M9rzZBVC0b2IHV0M9vo/cZGTVqFLKysvDBBx9ApVIhJCQEO3fuRFBQEABApVIhOTlZ379hw4bYvXs3Xn31VXTr1g0eHh4YOXIkPvzwwxq8LSIyN+dVORi/5hjyikrRp4UHlr0QxiBCZAi53CqW75qC0TMjUuDMCJF5upKRh1ErDiMrvxhhQY2xflIPuCh4lQki0qmTfUaIiMpcz8rHC18dRVZ+MUKauGHNhO4MIkRUIwwjRGS0lOwCPL/yCNJzCtHapyHWT+oJpbOD1GURkYViGCEio6TduYvnVx3BDXUhWni5YMOUXnB3cZS6LCKyYAwjRGSwdHUhnl95BKm37yLY0wUbp/aCl6tC6rKIyMIxjBCRQTJyCvH8qiNIzi5AU/cG+G5qT3i7OUldFhFZAYYRInqgW7lFeH7VESRl5qNJI2d8N7Un/JTOUpdFRFaCYYSIqpWdX4wXvjqKq7fy4ad0wqYXeyGgcQOpyyIiK8IwQkRVulNQjDFfHcXFm7nwcVNg49ReCHRnECEi02IYIaJKqQtK8MLqozivyoFnQwW+m9oLzTxdpC6LiKwQwwgRVXCnoBhjVh/BmbQceLg4YuPUnmjh1VDqsojISnG7RCIqp+zQzNkbuiDy3dReaOXjKnVZRGTFGEaISO92vi6InFPlwLOhLoi0ZhAhqhkbuCqvqTCMEBEA3aqZ0auO4EJ6LjwbKrBxak/OiBDVVHQ0MGsWkJr6d1tAALBoERAZKV1dZornjBARsvKKygWRTS8yiBDVWHQ0MGJE+SACAGlpuvboaGnqMmMMI0Q2LjOvCKNXHcWF9Fx4uSqw6cVeaOnNIEJUIxqNbkZEiIr3lbXNnq3rR3oMI0Q27FZuEZ5feQQXb+bCWx9EuGqGqMZiYirOiNxLCCAlRdeP9HjOCJGNupWrOzRzOSNPv6FZcy7fJaodlcq0/WwEwwiRDVKp72LMqqNIzMyHr5sTNr7YC8Hc0Iyo9vz8TNvPRvAwDZGNSckuwMgVh5H410XvNjGIEJlOeLhu1YxMVvn9MhkQGKjrR3oMI0Q2JPFWHp5dfhgp2XcR5NEAm6dxi3cik5LLdct3gYqBpOzrhQu538h9GEaIbMTF9FyMXHEE6TmFaOndEN9P682r7xLVhchIYOtWoEmT8u0BAbp27jNSAc8ZIbIBp1PVGLvmKO4UlKC9nxu+mdwDHg0VUpdFZL0iI4Fhw7gDq4EYRoisXNz1bExYcxy5RaUIDWyE9RN7QNnAQeqyiKyfXA707y91FRaBYYTIih26mokpX8eioFiDHs3csXpCN7g6MYgQ1RqvO2NSDCNEVmrvxQxM+yYORaVahLfyxMqx3eDsyF+WRLXG686YHE9gJbJCP528ganrY1FUqsWj7byxahyDCJFJ8LozdYJhhMjKfHPkOmZuikeJRmBoqD+WvRAGJwcGEaJa43Vn6gzDCJGVEELgyz8u45/bz0AIYGyvICwa1RkOcv6YE5kErztTZ3jOCJEV0GoFPvz5PNYcTAIAzHykFV57tBVkVe0CSUTG43Vn6gzDCJGFK9Fo8dYPpxB9Ig0AMG9oe0x8KFjiqoisEK87U2cYRogsWGGJBjO+O4Hfz2dAbifDf5/thKe7BEhdFpF1KrvuTFpa5eeNyGS6+3ndGaPxYDKRhcopLMG41cfw+/kMKOztsHJsGIMIUV3idWfqDMMIkQXKyC3EcyuO4Ni1bLgq7LF+Ug880s5H6rKIrB+vO1MneJiGyMJcvZWH8WuOIfX2XXg2dMTXk3qgg79S6rKIbAevO2NyDCNEFiTuejYmfx2LOwUlaObRAOsm9kAzTxepyyKyPbzujEkxjBBZiF1n0jFrUzyKSrUIDWyENeO78cq7RGQVGEaILMD6w9cwb8dZCAE80tYbX47uggaO/PElIuvA32ZEZkyrFfjk14tYvu8qAGB0z6b44KkOsOeuqkRkRWr0G23p0qUIDg6Gk5MTwsLCEGPg1rcHDx6Evb09OnfuXJOXJbIpxaVazPk+QR9E3ohojY+GhzCIEJHVMfq32ubNmzF79my8++67iI+PR3h4OIYMGYLk5ORqH6dWqzFu3Dg88sgjNS6WyFbkFJZgwtpj2J5wA/Z2Mvz32VDMGMjt3YnIOsmEqGwbuar17NkTXbt2xbJly/Rt7dq1w/DhwxEVFVXl45577jm0atUKcrkc27dvR0JCgsGvmZOTA6VSCbVaDTc3N2PKJbI4KdkFmPz1cVy6mQcXRzmWvRCGh1t7SV0WEZHRDP38NmpmpLi4GHFxcYiIiCjXHhERgUOHDlX5uLVr1+Lq1auYN2+eQa9TVFSEnJyccjciWxB3PRvDlxzEpZt58HFTYPO03gwiRGT1jAojmZmZ0Gg08PEpv9Ojj48P0tPTK33M5cuX8fbbb2PDhg2wtzfsfNmoqCgolUr9LTAw0JgyiSzSjwlpeH7VUWTlF6ODvxt+fKUvQppwMzMisn41OhPu/uPWQohKj2VrNBqMHj0aCxYsQOvWrQ1+/rlz50KtVutvKSkpNSmTyCIIIfDZ7kuYtSkBxaVaRLT3wZbpveGrdJK6NCKiemHU0l5PT0/I5fIKsyAZGRkVZksAIDc3F7GxsYiPj8eMGTMAAFqtFkII2Nvb47fffsPAgQMrPE6hUECh4GZOZP0KSzR4Y8tJ/O+UCgAwrV9zvPVYW9jZ8URVIrIdRoURR0dHhIWFYffu3Xj66af17bt378awYcMq9Hdzc8Pp06fLtS1duhR79uzB1q1bERwcXMOyiSxfRm4hXlwfh4SUO7C3k+HfT3fEyO48JElEtsfoTc/mzJmDsWPHolu3bujduzdWrlyJ5ORkTJ8+HYDuEEtaWhrWr18POzs7hISElHu8t7c3nJycKrQT2ZIL6TmYvC4WaXfuQunsgOUvhKF3Cw+pyyIikoTRYWTUqFHIysrCBx98AJVKhZCQEOzcuRNBQUEAAJVK9cA9R4hs2a4zKsz5/iQKijUI9nTBmgndEcyL3RGRDTN6nxEpcJ8RsgZarcDC3y/hiz1XAAB9Wnhg6ZiuaNTAUeLKiKgCjQaIiQFUKsDPDwgP112pl4xi6Oc3r01DVA9yCkvw2qYE/HEhAwAw6aFgvPN4W27tTmSOoqOBWbOA1NS/2wICgEWLgMhI6eqyYgwjRHXs6q08TF0fi8Rb+XC0t8PHkR0R2TVA6rKIqDLR0cCIEcD9Bw3S0nTtW7cykNQB/llGVIf+OH8TwxcfROKtfPgpnbB1em8GESJzpdHoZkQqO3uhrG32bF0/MimGEaI6oNUKfPnHZUxZH4vcolL0aOaOHTP6olNAI6lLI6KqxMSUPzRzPyGAlBRdPzIpHqYhMrG8olK8ueUkfjmj2xxwXO8gvPdEezjaM/sTmTWVyrT9yGAMI0QmdCE9By9/ewKJmflwlNvhX8M7YFT3plKXRUSG8PMzbT8yGMMIkYlsiU3BP388g8ISLfyUTlgypiu6Nm0sdVlEZKjwcN2qmbS0ys8bkcl094eH139tVo7zxkS1VFiiwT+2nsSbW0+hsESLfq298PPMcAYRIksjl+uW7wK64HGvsq8XLuR+I3WAYYSoFpIy8/H00kP4PjYVdjLgjYjWWDuhO9xduJEZkUWKjNQt323SpHx7QACX9dYhHqYhqqFfTqvw5tZTyCsqhWdDR3zxXBf0aekpdVlEVFuRkcCwYdyBtR4xjBAZqbhUi6hfzmPtwWsAgB7N3PHl6C7wcXOStjAiMh25HOjfX+oqbAbDCJERrmXmY9ameJxMVQMApvdrgTciWnNbdyKiWmAYITKAEAI/nEjDvB/PIL9YA6WzAz59NhSPtveRujQiIovHMEL0ADmFJXh32xn8dPIGAKBnsDsWPtcZfkpniSsjIrIODCNE1Yi7no1ZmxKQevsu5HYyzBnUGtP7tYDcTvbgBxMRkUEYRogqodEKLN5zBV/suQyNViDQ3RlfPNcFXbh3CBGRyTGMEN0n7c5dvLYpAceuZQMAhnf2x7+Gh8DVyUHiyoiIrBPDCNFfhBCIPpGG+T+dRW5hKRoq7PGv4R3wdJcAqUsjIrJqDCNEADJyC/FO9Bn8fv4mAKBzYCMseq4zgjxcJK6MiMj6MYyQzfvfqRv45/YzuF1QAge5DLMfbY1pDzfn3iFE1kyj4Q6rZoRhhGzW7fxi/PPHM/jfKRUAoL2fGz4dGYp2fm4SV0ZEdSo6Gpg1C0hN/bstIEB3kTxee0YSDCNkk3afu4m50aeRmVcEuZ0Mr/RvgRkDW8HRnrMhRFYtOhoYMQIQonx7WpqunRfDk4RMiPv/j5ifnJwcKJVKqNVquLnxr1aqOXVBCT743zn8cEL3F1FL74b4bGQoOgU0krYwIqp7Gg3QrFn5GZF7yWS6GZKkJB6yMRFDP785M0I2QQiBn0+rMH/HOWTmFUEmA14Mb47XBrWGkwN/6RDZhJiYqoMIoJstSUnR9eNF8uoVwwhZvRt37uKf28/gjwsZAIAWXi74zzOd0K2Zu8SVEVG9UqlM249MhmGErJZGK/DN4Wv4v18vIr9YAwe5DC/3b4mXB7SAwp6zIUQ2x8/PtP3IZBhGyCpdSM/B2z+cRkLKHQBAWFBjfBzZEa18XKUtjIikEx6uOyckLa3iCazA3+eMhIfXf202jmGErEphiQaL91zB8n1XUaoVcFXY4x9D2mJMj6aw48XtiGybXK5bvjtihC543BtIZH/9fli4kCevSoBhhKzGH+dvYsFP55CcXQAAeKyDDxY8FQJfpZPElRGR2YiM1C3frWyfkYULuaxXIgwjZPGuZ+Xjg5/O6U9Q9XFTYMFTIRgc4itxZURkliIjgWHDuAOrGWEYIYt1t1iDZXuvYPn+RBSXauEgl2FS32DMHNgKLgp+axPZLEO2epfLuXzXjPA3NlkcIQR+PZuOf/3vPNLu3AUAhLfyxLyhHdDSu6HE1RGRpLjVu0ViGCGLcvVWHubvOIuYy5kAgCaNnPHPJ9vjsQ4+kMl4giqRTeNW7xaL28GTRcjOL8YXf1zGt0euo1Qr4Ghvh+kPN8dL/VvC2ZHHeYlsHrd6N0vcDp6sQmGJBusOXcOSPVeQW1QKAHikrTfeH9oeQR4uEldHRGaDW71bNIYRMktarcBPp27gk10X9eeFtPdzw7tPtMNDLT0lro6IzA63erdoDCNkdo4lZeOjn8/hZKoaAODr5oQ3H2uDp7s04cZlRFQ5bvVu0RhGyGxcycjF//16Eb+evQkAcHGU46X+LTC5b3OeF0JE1eNW7xbNriYPWrp0KYKDg+Hk5ISwsDDExMRU2Tc6OhqDBg2Cl5cX3Nzc0Lt3b/z66681Lpisz/WsfMzZnICIz/fj17M3YScDxvRsir1vDsCMga0YRIioPI0G2LsX2LhR969G8/dW78DfW7uX4VbvZs/oMLJ582bMnj0b7777LuLj4xEeHo4hQ4YgOTm50v779+/HoEGDsHPnTsTFxWHAgAEYOnQo4uPja108WbYbd+5ibvRpPPLpPkTHp0ErdFu4/zr7YXz0dEd4uSqkLpGIzE10tG7VzIABwOjRun+bNdO1l2313qRJ+ccEBHBZr5kzemlvz5490bVrVyxbtkzf1q5dOwwfPhxRUVEGPUeHDh0watQovP/++wb159Je65KRW4ilf17Fd0eTUazRAgD6tfbC6xGt0SmgkbTFEZH5qmofkbKZj7LAYcgOrFQv6mRpb3FxMeLi4vD222+Xa4+IiMChQ4cMeg6tVovc3Fy4u7tX2aeoqAhFRUX6r3Nycowpk8zU7fxirNifiK8PXcPdEg0AoGewO954rA26N6v6+4GICBqNbmfVyv5+FkIXSGbP1l1zhlu9WxyjwkhmZiY0Gg18fHzKtfv4+CA9Pd2g5/j000+Rn5+PkSNHVtknKioKCxYsMKY0MmMZOYX46kASvj1yHQXFuhASGtgIb0a0wUMtPbhzKhE9GPcRsWo1Wk1z/4eHEMKgD5SNGzdi/vz5+PHHH+Ht7V1lv7lz52LOnDn6r3NychAYGFiTUklCqbcLsGJfIjbHpqC4VHc4pr2fG+YMao1H2nkzhBCR4biPiFUzKox4enpCLpdXmAXJyMioMFtyv82bN2Py5MnYsmULHn300Wr7KhQKKBQ8edFSXb2Vh2V7r2J7fBpKtbop1bCgxpgxoCX6t/FiCCEi43EfEatmVBhxdHREWFgYdu/ejaefflrfvnv3bgwbNqzKx23cuBGTJk3Cxo0b8cQTT9S8WjJr527kYMneK9h5WqU/rNu3pSdeGdASvZq7M4QQ0YNVdfIp9xGxakYfppkzZw7Gjh2Lbt26oXfv3li5ciWSk5Mxffp0ALpDLGlpaVi/fj0AXRAZN24cFi1ahF69eulnVZydnaFUKk34VkgKWq3Avku38NWBRBy8kqVvf7SdD14Z0AJdmjaWsDoisijR0bqTVO89NyQgQLd/SGSk7t8RI3TB495Awn1ELJ7RYWTUqFHIysrCBx98AJVKhZCQEOzcuRNBQUEAAJVKVW7PkRUrVqC0tBSvvPIKXnnlFX37+PHjsW7dutq/A5JEYYkG0SfSsPpAIq7eygcAyO1keLyjH17u3wLt/LgEm4iMUNWy3bQ0XXvZst2tWysPLAsXch8RC2b0PiNS4D4j5iMjtxDfHr6Ob48mIzu/GADgqrDHcz0CMb5PMwQ0biBxhURkcTQa3cZlVa2WKTsEk5Skm/ngPiIWo072GSHbdSZNjXWHrmFHwg39RmUBjZ0x8aFgjOwWAFcnB4krJCKLZeyyXe4jYnUYRqhKhSUa/O+UCt8cuY6TKXf07WFBjTGlbzAGtfeBvbxGlzciIltV2awGl+3aPIYRqiApMx8bjlzHlrhUqO+WAAAc5DIMCfHDhIeaoStPSiWimqjqBNWpUw17PJftWi2eM0IAgFKNFn9cyMC3R64j5nKmvr1JI2eM6dUUI7sFwrMh934hohqq7royQgAeHkB2dvXLdsvOGSGLwXNGyCBXb+VhS2wqok+kIiNXdz0gmQzo39oLY3sHoV9rb8jtuD8IERmossMwwIOvK1OGy3ZtEsOIDcotLMHPp1T4PjYFJ5Lv6NvdXRwxqnsgRvdoikB3roohIiNVdxjmQSeoZmUBCxYAq1Zx2a4NYhixEVqtwNGkbGyJTcHOMyoUluhWxMjtZOjf2gvPdgvAwLY+cLTnCalEVAPV7RMyb55hz9GqFXDtGpft2iCGESt3MT0XO06m4ceEG0i9fVff3tK7IZ4NC8DTXZrA281JwgqJyGJUtb+HRlP9YRhD+flx2a6NYhixQinZBdhx8gZ+OnkDF9Jz9e2uCns8GeqPZ7sFoEtgI14rhogMV91W7e7u1R+GeRBeV8bmMYxYicy8Ivx8SoUdJ28g7vptfbuj3A792nhhWGd/PNLWB86OnO4kIiM9aKv2WbMMfy6eoEqVYBixYOnqQvx2Lh27zqTjaFI2NFrdD7hMBvRp4YGnQv0xuIMflA24OyoRGaCmK2E2bDDs+XmCKlWBYcTCJGcVYNdZFXadSS+3EgYAQgMbYVioP57s5MfzQIioouqu6VKblTC3bgFeXkBmZvX7hLz7ru7GE1TpPgwjZk4IgUs38/DrWd0MyDlVTrn7w4IaY3AHXwwO8eVyXCKqWnXnfAC1XwkzZozuuQw5DMMTVOk+DCNmqLBEg8OJWdhzPgN7LmQg7c7fq2DkdjL0DHbHkBBfRHTwhQ9nQIgIePCsR1Vh45lndLuf1nYlzLBhutesLPDwMAw9ALeDNxPp6kLsuZCBPRdu4uCVLNwt0ejvU9jb4aGWnhjcwRePtveBu4ujhJUSkdmpbtZj2DCgWbParXapzv1btVcXisjmcDt4M1dYokHc9dvYf/kWYi5lVjj84uvmhIHtvPFIW2/0aeHJVTBEVLkHrXSZP990QcSQQzDcJ4RqgGGkngghcPFmLmIuZSLmSiaOJWXpd0EFdD/TnQMb4ZG23hjY1gft/Fy5DwgR/a2mK13KzgmpLa6EoTrEMFJHhBBIvX0XhxOzcORqFmKuZOLWXxeiK+PtqkB4Ky+Et/JE31aevCouEVWuNitdsrNr99pcCUP1gGHERIQQSMm+iyOJWTiSmIWjSdnlTjwFACcHO/Rq7oG+LT3xcGsvtPJuyNkPIqqeKa754u4O3L5d9bJbd/e/QwtXwpAEGEZqSKsVuHIrD3HXb+NYUjaOJGZBpS4s18feToZOAUpdAGnlibCgxlDY868IIqpETQ7DGGrWLN25I1Wd87Fy5d/9eBiGJMAwYqD8olKcTLmDuOu3EZd8Gyeu30ZOYWm5Pg5yGUIDGqFXcw/0bO6OsKDGaODIISaiB6jpYZgHufcQS0jIg8PGsGE8DEOS4NLeSmi1AomZ+TiZcgenUu8gLvk2zqty9dutl3F2kKNzYCN0a9YYvZp7oGvTxlz1QkTGqeowzP2zGA9S1azH1q1/hw0uu6V6xqW9BhJC4Ia6EKdS7uBkqhonU+7gTJoauUWlFfr6K53QNagxugU1RliQO9r6ucJBbidB1URkFTQa0xyGMXSlC5fdkpmy6TDywU/nsOPkDWTmFVW4z8nBDiH+SnQKaISuQY3QtWlj+DdylqBKIrJ4Vc1IxMSY7jAMV7qQBbPpMJJfVIrMvCLI7WRo6+uKTgGNEBqgRGhgI7Tybgh7znoQUW1VtztqUcU/hKrEa76QFbPpMDKpbzBGdg9EB383ODnwLwgiMjFDdkc1BDccIyvHE1iJiB7kQSd+VrUst7prwshkQJMmuv9OS6t6D5Cy674APAxDFocnsBIRGeJBQaO6wyyRkbXbHTU1VTfrUd0eIDwMQzaAMyNEZNlqMmtRdr8hQaOqZbcA8MYbwH//W7tlud99BygUFesIDORhGLJ4hn5+M4wQUc3UJgSY6jVqOmtRdvG46oLG5s3AnDnVz27I5boaa+PPP3UzHtwDhKwQwwgR1U5tZxSqu99Ur1GbWQsPDyArq/L3LpMBnp7ArVuGj5ex7j0fhKGDrBTDCBFVrTYzDkDNQwDw946gljBrYSqG7I5KZIUYRojqQn0cejDkNaQ6T+JBMwpA9SGgbDbgs8+AkSPNd9bClCpblsvzQchGGPz5LSyAWq0WAIRarZa6FJJSaakQf/4pxHff6f4tLTXu/to+xw8/CBEQIITu41J3CwjQtZvqOQx5jdo8xw8/CCGTlb8P0LXJZEJ8/33Fx9bFzcur7l/DVHVWNl5lN7m86vtlMiECA3X//w353iSyQoZ+fjOMkGnUdVAw9w9xUzzHm28++DVq8xyAEB4eVX+wymSWExLq+lYWJLZs+Xtsqxvvqu6/P6gS2RiGkQep67+irek1HtSnroOCJXyI3/vBVZPnAHR/ZVf3GgEBD561qO45rO1W21kLDw/DgkRl35uBgYbfT2TDGEaqU9d/RVvTazyoT10HBcByPsQ5q/D3WFYXAmo7TqactTA0SJgi0BPZIIaRqhgy3V7bD9i6/ku9vl7DXIICb/V7q27GwZAZhQeFgLLzUsxl1oJBgqjO1GkYWbJkiWjWrJlQKBSia9euYv/+/dX237t3r+jatatQKBQiODhYLFu2zKjXM1kYKS2t/oPPVH9F18df6nX9GgwKtnczdMbBkBkFQ+7nrAWR1auzMLJp0ybh4OAgVq1aJc6dOydmzZolXFxcxPXr1yvtn5iYKBo0aCBmzZolzp07J1atWiUcHBzE1q1bDX5Nk4WRP/+U/hc+b9Z3M9WJnw86vFEWDs3hPAkhah8COGtBZPXqLIz06NFDTJ8+vVxb27Ztxdtvv11p/3/84x+ibdu25dqmTZsmevXqZfBrmiyMfPed9B9cvJn+Zg4f4qY49GDoOQ7mcp6EKTBsEFm1OgkjRUVFQi6Xi+jo6HLtM2fOFA8//HCljwkPDxczZ84s1xYdHS3s7e1FcXFxpY8pLCwUarVaf0tJSTHozTwQZ0bq/1bboGBJH+KmOPRgSFDgeRJEZCHqJIykpaUJAOLgwYPl2j/66CPRunXrSh/TqlUr8dFHH5VrO3jwoAAgbty4Uelj5s2bJwBUuJnsnJG6/CvaFB/A5vAa5hQULOlDvD4Ob5jqOYiI6lidhpFDhw6Va//www9FmzZtKn1Mq1atxL///e9ybQcOHBAAhEqlqvQxdTYzIoThH3y1+YCtj7/U63M2wByCghCW8yHOIEBEJISw8MM096uXfUZM/Ve0tbyGoX3qIygQEZFFMfTzWyaEEMZc9KZnz54ICwvD0qVL9W3t27fHsGHDEBUVVaH/W2+9hZ9++gnnzp3Tt7300ktISEjA4cOHDXrNOrlQXl1fjMyaXsPQPkRERPeos6v2bt68GWPHjsXy5cvRu3dvrFy5EqtWrcLZs2cRFBSEuXPnIi0tDevXrwcAJCUlISQkBNOmTcPUqVNx+PBhTJ8+HRs3bsQzzzxj0jdDRERE5sPQz297Y5941KhRyMrKwgcffACVSoWQkBDs3LkTQUFBAACVSoXk5GR9/+DgYOzcuROvvfYalixZAn9/f3zxxRcGBxEiIiKybkbPjEiBMyNERESWx9DPb7t6rImIiIioAoYRIiIikhTDCBEREUmKYYSIiIgkxTBCREREkmIYISIiIkkxjBAREZGkjN70TAplW6Hk5ORIXAkREREZquxz+0FbmllEGMnNzQUABAYGSlwJERERGSs3NxdKpbLK+y1iB1atVosbN27A1dUVMpnMZM+bk5ODwMBApKSkcGdXE+B4mg7H0rQ4nqbDsTQtax9PIQRyc3Ph7+8PO7uqzwyxiJkROzs7BAQE1Nnzu7m5WeU3gVQ4nqbDsTQtjqfpcCxNy5rHs7oZkTI8gZWIiIgkxTBCREREkrLpMKJQKDBv3jwoFAqpS7EKHE/T4ViaFsfTdDiWpsXx1LGIE1iJiIjIetn0zAgRERFJj2GEiIiIJMUwQkRERJJiGCEiIiJJWXwY2b9/P4YOHQp/f3/IZDJs37693P03b97EhAkT4O/vjwYNGmDw4MG4fPlyhec5fPgwBg4cCBcXFzRq1Aj9+/fH3bt39fffvn0bY8eOhVKphFKpxNixY3Hnzp06fnf1r7bjee3aNchkskpvW7Zs0fezhfE0xfdmeno6xo4dC19fX7i4uKBr167YunVruT62MJaAacbz6tWrePrpp+Hl5QU3NzeMHDkSN2/eLNfHFsYzKioK3bt3h6urK7y9vTF8+HBcvHixXB8hBObPnw9/f384Ozujf//+OHv2bLk+RUVFePXVV+Hp6QkXFxc89dRTSE1NLdfH2sfTVGO5cuVK9O/fH25ubpDJZJWOkTWPpcWHkfz8fISGhmLx4sUV7hNCYPjw4UhMTMSPP/6I+Ph4BAUF4dFHH0V+fr6+3+HDhzF48GBERETg2LFjOH78OGbMmFFu69rRo0cjISEBu3btwq5du5CQkICxY8fWy3usT7Udz8DAQKhUqnK3BQsWwMXFBUOGDNE/ly2Mpym+N8eOHYuLFy9ix44dOH36NCIjIzFq1CjEx8fr+9jCWAK1H8/8/HxERERAJpNhz549OHjwIIqLizF06FBotVr9c9nCeO7btw+vvPIKjhw5gt27d6O0tBQRERHlvvc++eQTfPbZZ1i8eDGOHz8OX19fDBo0SH+tMACYPXs2tm3bhk2bNuHAgQPIy8vDk08+CY1Go+9j7eNpqrEsKCjA4MGD8c4771T5WlY9lsKKABDbtm3Tf33x4kUBQJw5c0bfVlpaKtzd3cWqVav0bT179hTvvfdelc977tw5AUAcOXJE33b48GEBQFy4cMG0b8KM1HQ879e5c2cxadIk/de2OJ41HUsXFxexfv36cs/l7u4uvvrqKyGEbY6lEDUbz19//VXY2dkJtVqt75OdnS0AiN27dwshbHc8MzIyBACxb98+IYQQWq1W+Pr6io8//ljfp7CwUCiVSrF8+XIhhBB37twRDg4OYtOmTfo+aWlpws7OTuzatUsIYZvjWZOxvNeff/4pAIjbt2+Xa7f2sbT4mZHqFBUVAQCcnJz0bXK5HI6Ojjhw4AAAICMjA0ePHoW3tzf69OkDHx8f9OvXT38/oJs5USqV6Nmzp76tV69eUCqVOHToUD29G+kZMp73i4uLQ0JCAiZPnqxv43gaPpZ9+/bF5s2bkZ2dDa1Wi02bNqGoqAj9+/cHwLEsY8h4FhUVQSaTldtcysnJCXZ2dvo+tjqearUaAODu7g4ASEpKQnp6OiIiIvR9FAoF+vXrpx+HuLg4lJSUlOvj7++PkJAQfR9bHM+ajKUhrH0srTqMtG3bFkFBQZg7dy5u376N4uJifPzxx0hPT4dKpQIAJCYmAgDmz5+PqVOnYteuXejatSseeeQR/fHm9PR0eHt7V3h+b29vpKen198bkpgh43m/1atXo127dujTp4++jeNp+Fhu3rwZpaWl8PDwgEKhwLRp07Bt2za0aNECAMeyjCHj2atXL7i4uOCtt95CQUEB8vPz8eabb0Kr1er72OJ4CiEwZ84c9O3bFyEhIQCgf68+Pj7l+vr4+OjvS09Ph6OjIxo3blxtH1saz5qOpSGsfSytOow4ODjghx9+wKVLl+Du7o4GDRpg7969GDJkCORyOQDojxVPmzYNEydORJcuXfD555+jTZs2WLNmjf65ZDJZhecXQlTabq0MGc973b17F9999125WZEytj6eho7le++9h9u3b+P3339HbGws5syZg2effRanT5/W97H1sQQMG08vLy9s2bIFP/30Exo2bAilUgm1Wo2uXbuWG3NbG88ZM2bg1KlT2LhxY4X77n/PhozD/X1saTxNPZYPeo6aPo85spe6gLoWFhaGhIQEqNVqFBcXw8vLCz179kS3bt0AAH5+fgCA9u3bl3tcu3btkJycDADw9fWtcMY9ANy6datC2rV2DxrPe23duhUFBQUYN25cuXaOp86DxvLq1atYvHgxzpw5gw4dOgAAQkNDERMTgyVLlmD58uUcy3sY8r0ZERGBq1evIjMzE/b29mjUqBF8fX0RHBwMwPa+N1999VXs2LED+/fvR0BAgL7d19cXgO6v8bLfkYDusHbZOPj6+qK4uBi3b98uNzuSkZGhnwm1pfGszVgawtrH0qpnRu6lVCrh5eWFy5cvIzY2FsOGDQMANGvWDP7+/hWWYl26dAlBQUEAgN69e0OtVuPYsWP6+48ePQq1Wl3u8IMtqWo877V69Wo89dRT8PLyKtfO8SyvqrEsKCgAgHKrugDduRBlM3ocy4oM+d709PREo0aNsGfPHmRkZOCpp54CYDvjKYTAjBkzEB0djT179ujDWJng4GD4+vpi9+7d+rbi4mLs27dPPw5hYWFwcHAo10elUuHMmTP6PrYwnqYYS0NY/VhKctqsCeXm5or4+HgRHx8vAIjPPvtMxMfHi+vXrwshhPj+++/Fn3/+Ka5evSq2b98ugoKCRGRkZLnn+Pzzz4Wbm5vYsmWLuHz5snjvvfeEk5OTuHLlir7P4MGDRadOncThw4fF4cOHRceOHcWTTz5Zr++1PphiPIUQ4vLly0Imk4lffvml0texhfGs7VgWFxeLli1bivDwcHH06FFx5coV8d///lfIZDLx888/6/vZwlgKYZrvzTVr1ojDhw+LK1euiG+++Ua4u7uLOXPmlOtjC+P50ksvCaVSKfbu3StUKpX+VlBQoO/z8ccfC6VSKaKjo8Xp06fF888/L/z8/EROTo6+z/Tp00VAQID4/fffxYkTJ8TAgQNFaGioKC0t1fex9vE01ViqVCoRHx8vVq1aJQCI/fv3i/j4eJGVlaXvY81jafFhpGwZ1P238ePHCyGEWLRokQgICBAODg6iadOm4r333hNFRUUVnicqKkoEBASIBg0aiN69e4uYmJhy92dlZYkxY8YIV1dX4erqKsaMGVNh6ZU1MNV4zp07VwQEBAiNRlPp69jCeJpiLC9duiQiIyOFt7e3aNCggejUqVOFpb62MJZCmGY833rrLeHj4yMcHBxEq1atxKeffiq0Wm25PrYwnpWNIwCxdu1afR+tVivmzZsnfH19hUKhEA8//LA4ffp0uee5e/eumDFjhnB3dxfOzs7iySefFMnJyeX6WPt4mmos582b98DnseaxlAkhRF3NuhARERE9iM2cM0JERETmiWGEiIiIJMUwQkRERJJiGCEiIiJJMYwQERGRpBhGiIiISFIMI0RERCQphhEiIiKSFMMIERERSYphhIiIiCTFMEJERESSYhghIiIiSf0/pg+c+exO4f8AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "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": 29, + "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", + "we can use __curve_fit__ which uses non-linear least squares to fit our sigmoid function, to data. Optimize 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": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " beta_1 = 690.451712, 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": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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xsbq1ltv1X333adPP/1UGzZs0E033aSwMPcp7tq1qyIjI/XPf/5T27dv1wcffKBHHnnE9BrdunWTzWbTRx99pAMHDujIkSNq3769OnTooOeff15bt27Vv//9b9McZAAA0ILl5ko7dkhLl0pvvun+mZ8fNEFWsvgCsOzs7Ca/Hn/llVfqtV1yySX67rvv/FiVD+TmutddC/Ct3x577DEdOXJE11xzjeLi4vS73/1OJSUlkqROnTrplVde0R/+8Ac9+eSTuuCCC/T3v/9d11xzTe3+qampevjhhzV16lTdfPPNmjBhgl555RW99dZbuvvuu5WZmalevXrpySefrJ1vCwAAWji7XQri/+7bjOYmW7YwpaWlSkhIUElJSb2LwY4fP678/HxlZGQoOjraogpDH39HAABwJprKa3WF1AVgAAAAwKkIswAAAAhZhFkAAACELMIsAAAAQhZhFgAAACGLMAsAAICQRZgFAABAyCLMAgAAIGQRZlsIwzD0m9/8RomJibLZbGrXrp0mT55sdVkAAAB+ZentbOE7ixYt0iuvvKJly5apR48eCgsLU5s2bWqf7969uyZPnkzABQAALQphtoXYtm2bkpOTNXToUKtLAQAACBjCbBNcLkOHyistraF9TKTCwmxN9rnpppv06quvSpJsNpu6deum7t27a8CAAZo5c6ays7O1c+dO3XPPPbrnnnskuaclAAAAhDrCbBMOlVdq4F/+ZWkNq/94hTrERjXZZ9asWerZs6eef/55ffvtt7Lb7frlL39Z+3xeXp769++v3/zmN7r99tv9XTIAAEDAEGZbgISEBMXFxclut6tLly71nk9MTJTdbldcXFyDzwMAAIQqVjMAAABAyCLMAgAAIGQxzaAJ7WMitfqPV1hegy9ERkbK6XT65LUAAEAL4HRKK1ZIDoeUnCxlZUl2u9VVeY0w24SwMFuzF1+Fiu7du2v58uW64YYbFBUVpY4dO1pdEgAAsEpenjRpkrRnz8m2tDRp1iwpN9e6uk4D0wxaienTp2vHjh3q2bOnOnXqZHU5AADAKnl50tix5iArSXv3utvz8qyp6zTZjFa24GhpaakSEhJUUlKi+Ph403PHjx9Xfn6+MjIyFB0dbVGFoY+/IwAAQcrplLp3rx9ka9hs7hHa/HxLpxw0ldfqYmQWAACgtVixovEgK0mGIe3e7e4XIgiz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G+w/ZMgQ49577zW1TZo0ybj44osbPcY//vEPIy4uzjhy5Eht20MPPWT079//9AtvBfxxbu666y7jsssuM/WZMmWKMWzYsNM+bmtk1bnhc+MZf5yf5ORk46mnnjL1ycnJMf7jP/7jtI/bGll1bvjseMeTMPv73//e6N27t6ntjjvuMC666KLa7euvv974xS9+YeozYsQI44YbbqjdDtTnhmkGLVRlZaVWr16t4cOHm9qHDx+ulStXNrhPRUWFoqOjTW1t2rTRN998o6qqqgb3mTNnjm644Qa1bdvW1P7TTz8pJSVFGRkZuuGGG7R9+/YzeDcti7/OzbBhw7R69Wp98803kqTt27dr4cKFtVNATue4rY1V56YGn5um+ev8NNbn888/P+3jtjZWnZsafHZ868svv6x3LkeMGKFVq1bVnpvG+tSc70B+bgizLVRRUZGcTqeSkpJM7UlJSSooKGhwnxEjRujFF1/U6tWrZRiGVq1apZdeeklVVVUqKiqq1/+bb77Rhg0bdNttt5naL7zwQr322mv65JNP9MILL6igoEBDhw5VcXGx795gCPPXubnhhhv0yCOPaNiwYYqIiFDPnj116aWXaurUqad93NbGqnMj8bnxhL/Oz4gRI/TEE0/op59+ksvl0pIlS/T+++/L4XCc9nFbG6vOjcRnxx8KCgoaPJfV1dW156axPjXnO5CfG8JsC2ez2UzbhmHUa6vxpz/9SSNHjtRFF12kiIgI5eTk6KabbpIk2e32ev3nzJmjzMxMDR482NQ+cuRIXXfddTrvvPN0xRVX6OOPP5Ykvfrqqz54Ry2Hr8/NsmXL9P/+3//T7Nmz9d133ykvL08fffSRHnnkkdM+bmtlxbnhc+M5X5+fWbNm6eyzz1bv3r0VGRmp3/72t7r55pvr/XuPz07zrDg3fHb8o6FzWbfdk/MdiM8NYbaF6tixo+x2e73/+yksLKz3f0k12rRpo5deeknl5eXasWOHdu3ape7duysuLk4dO3Y09S0vL9dbb71Vb1S2IW3bttV5552nn3766fTfUAvir3Pzpz/9STfeeKNuu+02nXfeebr22mv16KOPasaMGXK5XKd13NbGqnPTED439fnr/HTq1Envvfeejh49qp07d+qHH35QbGysMjIyTvu4rY1V56YhfHbOXJcuXRo8l+Hh4erQoUOTfWrOdyA/N4TZFioyMlIDBw7UkiVLTO1LlizR0KFDm9w3IiJCaWlpstvteuuttzRq1CiFhZn/UXn77bdVUVGh//zP/2y2loqKCm3evFnJycnev5EWyF/npry8vN55stvtMtwXep7RcVsLq85NQ/jc1Ofvf69FR0crNTVV1dXVWrBggXJycs74uK2FVeemIXx2ztyQIUPqncvFixdr0KBBioiIaLJPzfkO6OfGp5eTIajULIkxZ84cY9OmTcbkyZONtm3bGjt27DAMwzCmTp1q3HjjjbX9t2zZYvzv//6v8eOPPxpff/21MW7cOCMxMdHIz8+v99rDhg0zxo0b1+Bxf/e73xnLli0ztm/fbnz11VfGqFGjjLi4uNrjwj/n5qGHHjLi4uKMuXPnGtu3bzcWL15s9OzZ07j++us9Pi6sOzd8bjzjj/Pz1VdfGQsWLDC2bdtmLF++3LjsssuMjIwM49ChQx4fF9adGz47zSsrKzPWrFljrFmzxpBkPPHEE8aaNWtql8iqe25qlua65557jE2bNhlz5syptzTXF198YdjtduOvf/2rsXnzZuOvf/1ro0tz+ftzQ5ht4Z5++mmjW7duRmRkpHHBBRcYn332We1zv/71r41LLrmkdnvTpk3GgAEDjDZt2hjx8fFGTk6O8cMPP9R7zS1bthiSjMWLFzd4zHHjxhnJyclGRESEkZKSYuTm5hobN270+XsLdb4+N1VVVcaf//xno2fPnkZ0dLSRnp5u3HnnnaZ/6Td3XLhZcW743HjO1+dn2bJlRp8+fYyoqCijQ4cOxo033mjs3bvXq+PCzYpzw2eneUuXLjUk1Xv8+te/Ngyj/rkxDPff/vzzzzciIyON7t27G88880y9133nnXeMXr16GREREUbv3r2NBQsW1OsTiM+NzTAa+Y4LAAAACHLMmQUAAEDIIswCAAAgZBFmAQAAELIIswAAAAhZhFkAAACELMIsAAAAQhZhFgAAACGLMAsAAICQRZgFgCBiGIauuOIKjRgxot5zs2fPVkJCgnbt2mVBZQAQnAizABBEbDabXn75ZX399dd67rnnatvz8/N1//33a9asWeratatPj1lVVeXT1wOAQCLMAkCQSU9P16xZs3TvvfcqPz9fhmHo1ltv1eWXX67BgwfrqquuUmxsrJKSknTjjTeqqKiodt9FixZp2LBhateunTp06KBRo0Zp27Zttc/v2LFDNptNb7/9trKzsxUdHa3XX3/dircJAD5hMwzDsLoIAEB9Y8aM0eHDh3XdddfpkUce0bfffqtBgwbp9ttv14QJE3Ts2DHdf//9qq6u1r///W9J0oIFC2Sz2XTeeefp6NGjevDBB7Vjxw6tXbtWYWFh2rFjhzIyMtS9e3c9/vjjOv/88xUVFaWUlBSL3y0AnB7CLAAEqcLCQmVmZqq4uFjz58/XmjVr9PXXX+uTTz6p7bNnzx6lp6dry5YtOuecc+q9xoEDB9S5c2d9//33yszMrA2zM2fO1KRJkwL5dgDAL5hmAABBqnPnzvrNb36jPn366Nprr9Xq1au1dOlSxcbG1j569+4tSbVTCbZt26bx48erR48eio+PV0ZGhiTVu2hs0KBBgX0zAOAn4VYXAABoXHh4uMLD3f+qdrlcGj16tP72t7/V65ecnCxJGj16tNLT0/XCCy8oJSVFLpdLmZmZqqysNPVv27at/4sHgAAgzAJAiLjgggu0YMECde/evTbgnqq4uFibN2/Wc889p6ysLEnS559/HugyASCgmGYAACHirrvu0sGDB/WrX/1K33zzjbZv367FixfrlltukdPpVPv27dWhQwc9//zz2rp1q/79739rypQpVpcNAH5FmAWAEJGSkqIvvvhCTqdTI0aMUGZmpiZNmqSEhASFhYUpLCxMb731llavXq3MzEzdc889euyxx6wuGwD8itUMAAAAELIYmQUAAEDIIswCAAAgZBFmAQAAELIIswAAAAhZhFkAAACELMIsAAAAQhZhFgAAACGLMAsAAICQRZgFAABAyCLMAgAAIGQRZgEAABCyCLMAAAAIWf8fXBoC3zSbYjgAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "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", + "Can you calculate what is the accuracy of our model?\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean absolute error: 0.04\n", + "Residual sum of squares (MSE): 0.00\n", + "R2-score: 0.97\n" + ] + } + ], + "source": [ + "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(test_y,y_hat) )\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Click here for the solution\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(test_y,y_hat) )\n", + "\n", + "```\n", + "\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

Want to learn more?

\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: SPSS Modeler\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 Watson Studio\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Thank you for completing this lab!\n", + "\n", + "\n", + "## Author\n", + "\n", + "Saeed Aghabozorgi\n", + "\n", + "\n", + "### Other Contributors\n", + "\n", + "Joseph Santarcangelo\n", + "\n", + "\n", + "##

© IBM Corporation 2020. All rights reserved.

\n", + "\n", + "\n", + "\n", + "\n", + "\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.7.12" + }, + "prev_pub_hash": "f873d3177bf529d2d648c46bab1627042a257e5ec6ce42ca68028520459f817e" + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Regresi.machine_learning/Aryo Saputro-202310715049-Polynomial Regression.ipynb b/Regresi.machine_learning/Aryo Saputro-202310715049-Polynomial Regression.ipynb new file mode 100644 index 0000000..143240f --- /dev/null +++ b/Regresi.machine_learning/Aryo Saputro-202310715049-Polynomial Regression.ipynb @@ -0,0 +1 @@ +{"cells":[{"cell_type":"markdown","id":"2e6762b5-6b8c-4ce9-ad41-92e4bcb6d8df","metadata":{},"outputs":[],"source":["

\n"," \n"," \"Skills\n"," \n","

\n","\n","\n","# Polynomial Regression\n","\n","\n","Estimated time needed: **15** minutes\n"," \n","\n","## Objectives\n","\n","After completing this lab you will be able to:\n","\n","* Use scikit-learn to implement Polynomial Regression\n","* Create a model, train it, test it and use the model\n"]},{"cell_type":"markdown","id":"e618a869-5310-4ba0-b490-c8e579f93c1c","metadata":{},"outputs":[],"source":["

Table of contents

\n","\n","
\n","
    \n","
  1. Downloading Data
  2. \n","
  3. Polynomial regression
  4. \n","
  5. Evaluation
  6. \n","
  7. Practice
  8. \n","
\n","
\n","
\n","
\n"]},{"cell_type":"markdown","id":"392f7014-a344-431e-9b8d-64cc6f1b0ade","metadata":{},"outputs":[],"source":["### Importing Needed packages\n"]},{"cell_type":"code","id":"bf6caec0-6da0-4325-b416-fe9c29afd1cb","metadata":{},"outputs":[],"source":["import matplotlib.pyplot as plt\nimport pandas as pd\nimport pylab as pl\nimport numpy as np\n%matplotlib inline\n"]},{"cell_type":"markdown","id":"f6af5655-0d6a-408f-8120-6b173d4e9bc1","metadata":{},"outputs":[],"source":["

Downloading Data

\n","To download the data, we will use !wget to download it from IBM Object Storage.\n"]},{"cell_type":"code","id":"e1931ff3-e73f-4816-8dfb-e8ac5aac8c34","metadata":{},"outputs":[],"source":["!wget -O FuelConsumption.csv https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/data/FuelConsumptionCo2.csv"]},{"cell_type":"markdown","id":"f748b822-0e87-485b-91bc-bf4eaebe65da","metadata":{},"outputs":[],"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](https://www.ibm.com/us-en/cloud/object-storage?utm_source=skills_network&utm_content=in_lab_content_link&utm_id=Lab-IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork)\n"]},{"cell_type":"markdown","id":"8e80841b-77f9-4bb2-b8b1-3497973e5e13","metadata":{},"outputs":[],"source":["\n","## Understanding the Data\n","\n","### `FuelConsumption.csv`:\n","We have downloaded a fuel consumption dataset, **`FuelConsumption.csv`**, which contains model-specific fuel consumption ratings and estimated carbon dioxide emissions for new light-duty vehicles for retail sale in Canada. [Dataset source](http://open.canada.ca/data/en/dataset/98f1a129-f628-4ce4-b24d-6f16bf24dd64)\n","\n","- **MODELYEAR** e.g. 2014\n","- **MAKE** e.g. Acura\n","- **MODEL** e.g. ILX\n","- **VEHICLE CLASS** e.g. SUV\n","- **ENGINE SIZE** e.g. 4.7\n","- **CYLINDERS** e.g 6\n","- **TRANSMISSION** e.g. A6\n","- **FUEL CONSUMPTION in CITY(L/100 km)** e.g. 9.9\n","- **FUEL CONSUMPTION in HWY (L/100 km)** e.g. 8.9\n","- **FUEL CONSUMPTION COMB (L/100 km)** e.g. 9.2\n","- **CO2 EMISSIONS (g/km)** e.g. 182 --> low --> 0\n"]},{"cell_type":"markdown","id":"01d4769f-560a-4fa4-98ed-1d3745686717","metadata":{},"outputs":[],"source":["## Reading the data in\n"]},{"cell_type":"code","id":"3f105bf0-8870-4df8-9cc7-a6e33c0d5383","metadata":{},"outputs":[],"source":["df = pd.read_csv(\"FuelConsumption.csv\")\n\n# take a look at the dataset\ndf.head()"]},{"cell_type":"markdown","id":"93280331-49b0-42a2-b311-6b249758130b","metadata":{},"outputs":[],"source":["Let's select some features that we want to use for regression.\n"]},{"cell_type":"code","id":"2c5f0bc6-c86f-4009-bf7b-bf2f20873e6a","metadata":{},"outputs":[],"source":["cdf = df[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB','CO2EMISSIONS']]\ncdf.head(9)"]},{"cell_type":"markdown","id":"55ec7be8-812d-42d7-8dd7-c59aa947ac67","metadata":{},"outputs":[],"source":["Let's plot Emission values with respect to Engine size:\n"]},{"cell_type":"code","id":"d1f7a5f2-859c-4d08-b9ec-139174e33618","metadata":{},"outputs":[],"source":["plt.scatter(cdf.ENGINESIZE, cdf.CO2EMISSIONS, color='blue')\nplt.xlabel(\"Engine size\")\nplt.ylabel(\"Emission\")\nplt.show()"]},{"cell_type":"markdown","id":"aa3dbb2a-b254-495a-9c32-c25318dbf259","metadata":{},"outputs":[],"source":["#### Creating train and test dataset\n","Train/Test Split involves splitting the dataset into training and testing sets respectively, which are mutually exclusive. After which, you train with the training set and test with the testing set.\n"]},{"cell_type":"code","id":"041baf27-177d-43ac-86e8-aa8da671de60","metadata":{},"outputs":[],"source":["msk = np.random.rand(len(df)) < 0.8\ntrain = cdf[msk]\ntest = cdf[~msk]"]},{"cell_type":"markdown","id":"4aba329a-721c-4191-b33d-d23f7c35e096","metadata":{},"outputs":[],"source":["

Polynomial regression

\n"]},{"cell_type":"markdown","id":"650dc952-826f-4585-961d-c3ecf3fc0973","metadata":{},"outputs":[],"source":["Sometimes, the trend of data is not really linear, and looks curvy. In this case we can use Polynomial regression methods. In fact, many different regressions exist that can be used to fit whatever the dataset looks like, such as quadratic, cubic, and so on, and it can go on and on to infinite degrees.\n","\n","In essence, we can call all of these, polynomial regression, where the relationship between the independent variable x and the dependent variable y is modeled as an nth degree polynomial in x. Lets say you want to have a polynomial regression (let's make 2 degree polynomial):\n","\n","\n","$$y = b + \\theta_1 x + \\theta_2 x^2$$\n","\n","\n","\n","Now, the question is: how we can fit our data on this equation while we have only x values, such as __Engine Size__? \n","Well, we can create a few additional features: 1, $x$, and $x^2$.\n","\n","\n","\n","__PolynomialFeatures()__ function in Scikit-learn library, drives a new feature sets from the original feature set. That is, a matrix will be generated consisting of all polynomial combinations of the features with degree less than or equal to the specified degree. For example, lets say the original feature set has only one feature, _ENGINESIZE_. Now, if we select the degree of the polynomial to be 2, then it generates 3 features, degree=0, degree=1 and degree=2: \n"]},{"cell_type":"code","id":"be8fb5a0-3b0b-4dd2-b38d-215c43d1da8b","metadata":{},"outputs":[],"source":["from sklearn.preprocessing import PolynomialFeatures\nfrom sklearn import linear_model\ntrain_x = np.asanyarray(train[['ENGINESIZE']])\ntrain_y = np.asanyarray(train[['CO2EMISSIONS']])\n\ntest_x = np.asanyarray(test[['ENGINESIZE']])\ntest_y = np.asanyarray(test[['CO2EMISSIONS']])\n\n\npoly = PolynomialFeatures(degree=2)\ntrain_x_poly = poly.fit_transform(train_x)\ntrain_x_poly"]},{"cell_type":"markdown","id":"3487a10a-f2d0-4a17-93da-5b8397b03af9","metadata":{},"outputs":[],"source":["**fit_transform** takes our x values, and output a list of our data raised from power of 0 to power of 2 (since we set the degree of our polynomial to 2). \n","\n","The equation and the sample example is displayed below. \n","\n","\n","$$\n","\\begin{bmatrix}\n"," v_1\\\\\\\\\\\\\n"," v_2\\\\\\\\\n"," \\vdots\\\\\\\\\n"," v_n\n","\\end{bmatrix}\\longrightarrow \\begin{bmatrix}\n"," [ 1 & v_1 & v_1^2]\\\\\\\\\n"," [ 1 & v_2 & v_2^2]\\\\\\\\\n"," \\vdots & \\vdots & \\vdots\\\\\\\\\n"," [ 1 & v_n & v_n^2]\n","\\end{bmatrix}\n","$$\n","\n","\n","\n","\n","$$\n","\\begin{bmatrix}\n"," 2.\\\\\\\\\n"," 2.4\\\\\\\\\n"," 1.5\\\\\\\\\n"," \\vdots\n","\\end{bmatrix} \\longrightarrow \\begin{bmatrix}\n"," [ 1 & 2. & 4.]\\\\\\\\\n"," [ 1 & 2.4 & 5.76]\\\\\\\\\n"," [ 1 & 1.5 & 2.25]\\\\\\\\\n"," \\vdots & \\vdots & \\vdots\\\\\\\\\n","\\end{bmatrix}\n","$$\n","\n","\n","\n","\n","\n"]},{"cell_type":"markdown","id":"7e8aea33-3093-43ec-b672-d87876c1934d","metadata":{},"outputs":[],"source":["It looks like feature sets for multiple linear regression analysis, right? Yes. It Does. \n","Indeed, Polynomial regression is a special case of linear regression, with the main idea of how do you select your features. Just consider replacing the $x$ with $x_1$, $x_1^2$ with $x_2$, and so on. Then the 2nd degree equation would be turn into:\n","\n","$$y = b + \\theta_1 x_1 + \\theta_2 x_2$$\n","\n","Now, we can deal with it as a 'linear regression' problem. Therefore, this polynomial regression is considered to be a special case of traditional multiple linear regression. So, you can use the same mechanism as linear regression to solve such problems. \n","\n","\n","\n","so we can use __LinearRegression()__ function to solve it:\n"]},{"cell_type":"code","id":"c791a9c5-c04d-42c6-a969-2733b7e7efb5","metadata":{},"outputs":[],"source":["clf = linear_model.LinearRegression()\ntrain_y_ = clf.fit(train_x_poly, train_y)\n# The coefficients\nprint ('Coefficients: ', clf.coef_)\nprint ('Intercept: ',clf.intercept_)"]},{"cell_type":"markdown","id":"2fc70f08-4833-4909-b248-1bca75dd98aa","metadata":{},"outputs":[],"source":["As mentioned before, __Coefficient__ and __Intercept__ , are the parameters of the fit curvy line. \n","Given that it is a typical multiple linear regression, with 3 parameters, and knowing that the parameters are the intercept and coefficients of hyperplane, sklearn has estimated them from our new set of feature sets. Lets plot it:\n"]},{"cell_type":"code","id":"024baf01-2cc6-4c84-aea6-eac7878503ee","metadata":{},"outputs":[],"source":["plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\nXX = np.arange(0.0, 10.0, 0.1)\nyy = clf.intercept_[0]+ clf.coef_[0][1]*XX+ clf.coef_[0][2]*np.power(XX, 2)\nplt.plot(XX, yy, '-r' )\nplt.xlabel(\"Engine size\")\nplt.ylabel(\"Emission\")"]},{"cell_type":"markdown","id":"a34efe55-de31-4429-8a29-22ea5e53dfc7","metadata":{},"outputs":[],"source":["

Evaluation

\n"]},{"cell_type":"code","id":"147f62a3-ef21-4232-bcf3-06895af65885","metadata":{},"outputs":[],"source":["from sklearn.metrics import r2_score\n\ntest_x_poly = poly.transform(test_x)\ntest_y_ = clf.predict(test_x_poly)\n\nprint(\"Mean absolute error: %.2f\" % np.mean(np.absolute(test_y_ - test_y)))\nprint(\"Residual sum of squares (MSE): %.2f\" % np.mean((test_y_ - test_y) ** 2))\nprint(\"R2-score: %.2f\" % r2_score(test_y,test_y_ ) )"]},{"cell_type":"markdown","id":"ed1a2376-423d-4865-a162-adfa3aa6c300","metadata":{},"outputs":[],"source":["

Practice

\n","Try to use a polynomial regression with the dataset but this time with degree three (cubic). Does it result in better accuracy?\n"]},{"cell_type":"code","id":"44e40472-db2b-40b8-9154-9ca9c86665f6","metadata":{},"outputs":[],"source":["# write your code here\n"]},{"cell_type":"markdown","id":"52a5872c-4f67-4520-83d2-69dcace137c8","metadata":{},"outputs":[],"source":["
Click here for the solution\n","\n","```python \n","poly3 = PolynomialFeatures(degree=3)\n","train_x_poly3 = poly3.fit_transform(train_x)\n","clf3 = linear_model.LinearRegression()\n","train_y3_ = clf3.fit(train_x_poly3, train_y)\n","\n","# The coefficients\n","print ('Coefficients: ', clf3.coef_)\n","print ('Intercept: ',clf3.intercept_)\n","plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\n","XX = np.arange(0.0, 10.0, 0.1)\n","yy = clf3.intercept_[0]+ clf3.coef_[0][1]*XX + clf3.coef_[0][2]*np.power(XX, 2) + clf3.coef_[0][3]*np.power(XX, 3)\n","plt.plot(XX, yy, '-r' )\n","plt.xlabel(\"Engine size\")\n","plt.ylabel(\"Emission\")\n","test_x_poly3 = poly3.transform(test_x)\n","test_y3_ = clf3.predict(test_x_poly3)\n","print(\"Mean absolute error: %.2f\" % np.mean(np.absolute(test_y3_ - test_y)))\n","print(\"Residual sum of squares (MSE): %.2f\" % np.mean((test_y3_ - test_y) ** 2))\n","print(\"R2-score: %.2f\" % r2_score(test_y,test_y3_ ) )\n","\n","```\n","\n","
\n"]},{"cell_type":"code","id":"587e67ef-13d6-4074-b453-a9cec18a1c7a","metadata":{},"outputs":[],"source":[""]},{"cell_type":"markdown","id":"8c8879bf-1012-49a8-89b3-7f26e6eaa711","metadata":{},"outputs":[],"source":["

Want to learn more?

\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: SPSS Modeler\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 Watson Studio\n","\n"]},{"cell_type":"markdown","id":"a944585d-72ba-4f20-a2d9-d0b1cbdc1970","metadata":{},"outputs":[],"source":["### Thank you for completing this lab!\n","\n","\n","## Author\n","\n","Saeed Aghabozorgi\n","\n","\n","### Other Contributors\n","\n","Joseph Santarcangelo\n","\n","\n","##

© IBM Corporation 2020. All rights reserved.

\n","\n","\n","\n","\n","\n"]},{"cell_type":"code","id":"6720e322-2f87-4db4-a31c-380f8048b35d","metadata":{},"outputs":[],"source":[""]}],"metadata":{"kernelspec":{"display_name":"Python","language":"python","name":"conda-env-python-py"},"language_info":{"name":"python","version":"3.7.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"prev_pub_hash":"4dc110debac287dfd374a575573c16e62a80a935b3bbe2b2f6d5a0598e6e33f6"},"nbformat":4,"nbformat_minor":4} \ No newline at end of file diff --git a/Regresi.machine_learning/Aryo Saputro-202310715049-Simple Linear Regression.ipynb b/Regresi.machine_learning/Aryo Saputro-202310715049-Simple Linear Regression.ipynb new file mode 100644 index 0000000..24cef86 --- /dev/null +++ b/Regresi.machine_learning/Aryo Saputro-202310715049-Simple Linear Regression.ipynb @@ -0,0 +1,593 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

\n", + " \n", + " \"Skills\n", + " \n", + "

\n", + "\n", + "\n", + "# Simple Linear Regression\n", + "\n", + "\n", + "Estimated time needed: **15** minutes\n", + " \n", + "\n", + "## Objectives\n", + "\n", + "After completing this lab you will be able to:\n", + "\n", + "* Use scikit-learn to implement simple Linear Regression\n", + "* Create a model, train it, test it and use the model\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Importing Needed packages\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import pylab as pl\n", + "import numpy as np\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Downloading Data\n", + "To download the data, we will use !wget to download it from IBM Object Storage.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!wget -O FuelConsumption.csv https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/data/FuelConsumptionCo2.csv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In case you're working **locally** uncomment the below line. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#!curl https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/data/FuelConsumptionCo2.csv -o FuelConsumptionCo2.csv" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "## Understanding the Data\n", + "\n", + "### `FuelConsumption.csv`:\n", + "We have downloaded a fuel consumption dataset, **`FuelConsumption.csv`**, which contains model-specific fuel consumption ratings and estimated carbon dioxide emissions for new light-duty vehicles for retail sale in Canada. [Dataset source](http://open.canada.ca/data/en/dataset/98f1a129-f628-4ce4-b24d-6f16bf24dd64)\n", + "\n", + "- **MODELYEAR** e.g. 2014\n", + "- **MAKE** e.g. Acura\n", + "- **MODEL** e.g. ILX\n", + "- **VEHICLE CLASS** e.g. SUV\n", + "- **ENGINE SIZE** e.g. 4.7\n", + "- **CYLINDERS** e.g 6\n", + "- **TRANSMISSION** e.g. A6\n", + "- **FUEL CONSUMPTION in CITY(L/100 km)** e.g. 9.9\n", + "- **FUEL CONSUMPTION in HWY (L/100 km)** e.g. 8.9\n", + "- **FUEL CONSUMPTION COMB (L/100 km)** e.g. 9.2\n", + "- **CO2 EMISSIONS (g/km)** e.g. 182 --> low --> 0\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Reading the data in\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv(\"FuelConsumption.csv\")\n", + "\n", + "# take a look at the dataset\n", + "df.head()\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data Exploration\n", + "Let's first have a descriptive exploration on our data.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# summarize the data\n", + "df.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's select some features to explore more.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "cdf = df[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB','CO2EMISSIONS']]\n", + "cdf.head(9)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can plot each of these features:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "viz = cdf[['CYLINDERS','ENGINESIZE','CO2EMISSIONS','FUELCONSUMPTION_COMB']]\n", + "viz.hist()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let's plot each of these features against the Emission, to see how linear their relationship is:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.scatter(cdf.FUELCONSUMPTION_COMB, cdf.CO2EMISSIONS, color='blue')\n", + "plt.xlabel(\"FUELCONSUMPTION_COMB\")\n", + "plt.ylabel(\"Emission\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.scatter(cdf.ENGINESIZE, cdf.CO2EMISSIONS, color='blue')\n", + "plt.xlabel(\"Engine size\")\n", + "plt.ylabel(\"Emission\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Practice\n", + "Plot __CYLINDER__ vs the Emission, to see how linear is their relationship is:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color='blue')\n", + "plt.xlabel(\"Cylinders\")\n", + "plt.ylabel(\"Emission\")\n", + "plt.show()\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Click here for the solution\n", + "\n", + "```python \n", + "plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color='blue')\n", + "plt.xlabel(\"Cylinders\")\n", + "plt.ylabel(\"Emission\")\n", + "plt.show()\n", + "\n", + "```\n", + "\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Creating train and test dataset\n", + "Train/Test Split involves splitting the dataset into training and testing sets that are mutually exclusive. After which, you train with the training set and test with the testing set. \n", + "This will provide a more accurate evaluation on out-of-sample accuracy because the testing dataset is not part of the dataset that have been used to train the model. Therefore, it gives us a better understanding of how well our model generalizes on new data.\n", + "\n", + "This means that we know the outcome of each data point in the testing dataset, making it great to test with! Since this data has not been used to train the model, the model has no knowledge of the outcome of these data points. So, in essence, it is truly an out-of-sample testing.\n", + "\n", + "Let's split our dataset into train and test sets. 80% of the entire dataset will be used for training and 20% for testing. We create a mask to select random rows using __np.random.rand()__ function: \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "msk = np.random.rand(len(df)) < 0.8\n", + "train = cdf[msk]\n", + "test = cdf[~msk]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Simple Regression Model\n", + "Linear Regression fits a linear model with coefficients B = (B1, ..., Bn) to minimize the 'residual sum of squares' between the actual value y in the dataset, and the predicted value yhat using linear approximation. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Train data distribution\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\n", + "plt.xlabel(\"Engine size\")\n", + "plt.ylabel(\"Emission\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Modeling\n", + "Using sklearn package to model data.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn import linear_model\n", + "regr = linear_model.LinearRegression()\n", + "train_x = np.asanyarray(train[['ENGINESIZE']])\n", + "train_y = np.asanyarray(train[['CO2EMISSIONS']])\n", + "regr.fit(train_x, train_y)\n", + "# The coefficients\n", + "print ('Coefficients: ', regr.coef_)\n", + "print ('Intercept: ',regr.intercept_)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As mentioned before, __Coefficient__ and __Intercept__ in the simple linear regression, are the parameters of the fit line. \n", + "Given that it is a simple linear regression, with only 2 parameters, and knowing that the parameters are the intercept and slope of the line, sklearn can estimate them directly from our data. \n", + "Notice that all of the data must be available to traverse and calculate the parameters.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Plot outputs\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can plot the fit line over the data:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\n", + "plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r')\n", + "plt.xlabel(\"Engine size\")\n", + "plt.ylabel(\"Emission\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Evaluation\n", + "We compare the actual values and predicted values to calculate the accuracy of a regression model. Evaluation metrics provide a key role in the development of a model, as it provides insight to areas that require improvement.\n", + "\n", + "There are different model evaluation metrics, lets use MSE here to calculate the accuracy of our model based on the test set: \n", + "* Mean Absolute Error: It is the mean of the absolute value of the errors. This is the easiest of the metrics to understand since it’s just average error.\n", + "\n", + "* Mean Squared Error (MSE): Mean Squared Error (MSE) is the mean of the squared error. It’s more popular than Mean Absolute Error because the focus is geared more towards large errors. This is due to the squared term exponentially increasing larger errors in comparison to smaller ones.\n", + "\n", + "* Root Mean Squared Error (RMSE). \n", + "\n", + "* R-squared is not an error, but rather a popular metric to measure the performance of your regression model. It represents how close the data points are to the fitted regression line. The higher the R-squared value, the better the model fits your data. The best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse).\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.metrics import r2_score\n", + "\n", + "test_x = np.asanyarray(test[['ENGINESIZE']])\n", + "test_y = np.asanyarray(test[['CO2EMISSIONS']])\n", + "test_y_ = regr.predict(test_x)\n", + "\n", + "print(\"Mean absolute error: %.2f\" % np.mean(np.absolute(test_y_ - test_y)))\n", + "print(\"Residual sum of squares (MSE): %.2f\" % np.mean((test_y_ - test_y) ** 2))\n", + "print(\"R2-score: %.2f\" % r2_score(test_y , test_y_) )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercise\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets see what the evaluation metrics are if we trained a regression model using the `FUELCONSUMPTION_COMB` feature.\n", + "\n", + "Start by selecting `FUELCONSUMPTION_COMB` as the train_x data from the `train` dataframe, then select `FUELCONSUMPTION_COMB` as the test_x data from the `test` dataframe\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "train_x = train[[\"FUELCONSUMPTION_COMB\"]]\n", + "\n", + "test_x = test[[\"FUELCONSUMPTION_COMB\"]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Click here for the solution\n", + "\n", + "```python \n", + "train_x = train[[\"FUELCONSUMPTION_COMB\"]]\n", + "\n", + "test_x = test[[\"FUELCONSUMPTION_COMB\"]]\n", + "\n", + "```\n", + "\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now train a Linear Regression Model using the `train_x` you created and the `train_y` created previously\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "regr = linear_model.LinearRegression()\n", + "\n", + "regr.fit(train_x, train_y)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Click here for the solution\n", + "\n", + "```python \n", + "regr = linear_model.LinearRegression()\n", + "\n", + "regr.fit(train_x, train_y)\n", + "\n", + "```\n", + "\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Find the predictions using the model's `predict` function and the `test_x` data\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "predictions = regr.predict(test_x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Click here for the solution\n", + "\n", + "```python \n", + "predictions = regr.predict(test_x)\n", + "\n", + "```\n", + "\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally use the `predictions` and the `test_y` data and find the Mean Absolute Error value using the `np.absolute` and `np.mean` function like done previously\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Mean Absolute Error: %.2f\" % np.mean(np.absolute(predictions - test_y)))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Click here for the solution\n", + "\n", + "```python \n", + "print(\"Mean Absolute Error: %.2f\" % np.mean(np.absolute(predictions - test_y)))\n", + "\n", + "```\n", + "\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the MAE is much worse when we train using `ENGINESIZE` than `FUELCONSUMPTION_COMB`\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Thank you for completing this lab!\n", + "\n", + "\n", + "## Author\n", + "\n", + "Saeed Aghabozorgi\n", + "\n", + "\n", + "### Other Contributors\n", + "\n", + "Joseph Santarcangelo\n", + "\n", + "Azim Hirjani\n", + "\n", + "##

© IBM Corporation. All rights reserved.

\n", + "\n", + "\n", + "\n", + "\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.7.12" + }, + "prev_pub_hash": "20d6dc1d9e74df451be22381c972d7921c93657bea402a00c749dca52bb85996" + }, + "nbformat": 4, + "nbformat_minor": 4 +}