Skip to content

Instantly share code, notes, and snippets.

@saidmrad
Last active October 7, 2020 19:06
Show Gist options
  • Save saidmrad/629cb636a25a7b7daffe2693f7e0690f to your computer and use it in GitHub Desktop.
Save saidmrad/629cb636a25a7b7daffe2693f7e0690f to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"https://www.bigdatauniversity.com\"><img src = \"https://ibm.box.com/shared/static/cw2c7r3o20w9zn8gkecaeyjhgw3xdgbj.png\" width=\"400\" align=\"center\"></a>\n",
"\n",
"<h1><center>Non Linear Regression Analysis</center></h1>\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 because, as the name implies, linear regression presumes that the data is linear. \n",
"Let's learn about non linear regressions and apply an example on python. In this notebook, we fit a non-linear model to the datapoints corrensponding to China's GDP from 1960 to 2014.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"importing_libraries\">Importing required libraries</h2>\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Though Linear regression is very good to solve many problems, it cannot be used for all datasets. First recall how linear regression, could model a dataset. It models a linear relation between a dependent variable y and independent variable x. It had a simple equation, of degree 1, for example y = $2x$ + 3.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"y = 2*(x) + 3\n",
"y_noise = 2 * np.random.normal(size=x.size)\n",
"ydata = y + y_noise\n",
"#plt.figure(figsize=(8,6))\n",
"plt.plot(x, ydata, 'bo')\n",
"plt.plot(x,y, 'r') \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Non-linear regressions are a relationship between independent variables $x$ and a dependent variable $y$ which result in a non-linear function modeled data. 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$). \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 others. For example: $$ y = \\\\log(x)$$\n",
"\n",
"Or even, more complicated such as :\n",
"$$ y = \\\\log(a x^3 + b x^2 + c x + d)$$\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's take a look at a cubic function's graph.\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"y = 1*(x**3) + 1*(x**2) + 1*x + 3\n",
"y_noise = 20 * np.random.normal(size=x.size)\n",
"ydata = y + y_noise\n",
"plt.plot(x, ydata, 'bo')\n",
"plt.plot(x,y, 'r') \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see, this function has $x^3$ and $x^2$ as independent variables. Also, the graphic of this function is not a straight line over the 2D plane. So this is a non-linear function.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some other types of non-linear functions are:\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Quadratic\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ Y = X^2 $$\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"\n",
"y = np.power(x,2)\n",
"y_noise = 2 * np.random.normal(size=x.size)\n",
"ydata = y + y_noise\n",
"plt.plot(x, ydata, 'bo')\n",
"plt.plot(x,y, 'r') \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exponential\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"An exponential function with base c is defined by $$ Y = a + b c^X$$ where b ≠0, c > 0 , c ≠1, and x is any real number. The base, c, is constant and the exponent, x, is a variable. \n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"##You can adjust the slope and intercept to verify the changes in the graph\n",
"\n",
"Y= np.exp(X)\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Logarithmic\n",
"\n",
"The response $y$ is a results of applying logarithmic map from input $x$'s to output variable $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 polynomial representation of the $x$'s. In general form it would be written as \n",
"\\\\begin{equation}\n",
"y = \\\\log(X)\n",
"\\\\end{equation}\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/ipykernel_launcher.py:3: RuntimeWarning: invalid value encountered in log\n",
" This is separate from the ipykernel package so we can avoid doing imports until\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"Y = np.log(X)\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Sigmoidal/Logistic\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ Y = a + \\\\frac{b}{1+ c^{(X-d)}}$$\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"\n",
"\n",
"Y = 1-4/(1+np.power(3, X-2))\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"ref2\"></a>\n",
"\n",
"# Non-Linear Regression example\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For an example, we're going to try and fit a non-linear model to the datapoints corresponding to China's GDP from 1960 to 2014. We download a dataset with two columns, the first, a year between 1960 and 2014, the second, China's corresponding annual gross domestic income in US dollars for that year. \n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2020-10-07 19:00:15 URL:https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-Coursera/labs/Data_files/china_gdp.csv [1218/1218] -> \"china_gdp.csv\" [1]\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Year</th>\n",
" <th>Value</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1960</td>\n",
" <td>5.918412e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1961</td>\n",
" <td>4.955705e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1962</td>\n",
" <td>4.668518e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1963</td>\n",
" <td>5.009730e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1964</td>\n",
" <td>5.906225e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1965</td>\n",
" <td>6.970915e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>1966</td>\n",
" <td>7.587943e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1967</td>\n",
" <td>7.205703e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>1968</td>\n",
" <td>6.999350e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>1969</td>\n",
" <td>7.871882e+10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Year Value\n",
"0 1960 5.918412e+10\n",
"1 1961 4.955705e+10\n",
"2 1962 4.668518e+10\n",
"3 1963 5.009730e+10\n",
"4 1964 5.906225e+10\n",
"5 1965 6.970915e+10\n",
"6 1966 7.587943e+10\n",
"7 1967 7.205703e+10\n",
"8 1968 6.999350e+10\n",
"9 1969 7.871882e+10"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"#downloading dataset\n",
"!wget -nv -O china_gdp.csv https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-Coursera/labs/Data_files/china_gdp.csv\n",
" \n",
"df = pd.read_csv(\"china_gdp.csv\")\n",
"df.head(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Did you know?** When it comes to Machine Learning, you will likely be working with large datasets. As a business, where can you host your data? IBM is offering a unique opportunity for businesses, with 10 Tb of IBM Cloud Object Storage: [Sign up now for free](http://cocl.us/ML0101EN-IBM-Offer-CC)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Plotting the Dataset\n",
"\n",
"This is what the datapoints look like. It kind of looks like an either logistic or exponential function. The growth starts off slow, then from 2005 on forward, the growth is very significant. And finally, it decelerate slightly in the 2010s.\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(8,5))\n",
"x_data, y_data = (df[\"Year\"].values, df[\"Value\"].values)\n",
"plt.plot(x_data, y_data, 'ro')\n",
"plt.ylabel('GDP')\n",
"plt.xlabel('Year')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Choosing a model\n",
"\n",
"From an initial look at the plot, we determine that the logistic function could be a good approximation,\n",
"since it has the property of starting with a slow growth, increasing growth in the middle, and then decreasing again at the end; as illustrated below:\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.arange(-5.0, 5.0, 0.1)\n",
"Y = 1.0 / (1.0 + np.exp(-X))\n",
"\n",
"plt.plot(X,Y) \n",
"plt.ylabel('Dependent Variable')\n",
"plt.xlabel('Indepdendent Variable')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The formula for the logistic function is the following:\n",
"\n",
"$$ \\\\hat{Y} = \\\\frac1{1+e^{\\\\beta_1(X-\\\\beta_2)}}$$\n",
"\n",
"$\\\\beta_1$: Controls the curve's steepness,\n",
"\n",
"$\\\\beta_2$: Slides the curve on the x-axis.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Building The Model\n",
"\n",
"Now, let's build our regression model and initialize its parameters. \n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"def sigmoid(x, Beta_1, Beta_2):\n",
" y = 1 / (1 + np.exp(-Beta_1*(x-Beta_2)))\n",
" return y"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lets look at a sample sigmoid line that might fit with the data:\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f1379ade898>]"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"beta_1 = 0.10\n",
"beta_2 = 1990.0\n",
"\n",
"#logistic function\n",
"Y_pred = sigmoid(x_data, beta_1 , beta_2)\n",
"\n",
"#plot initial prediction against datapoints\n",
"plt.plot(x_data, Y_pred*15000000000000.)\n",
"plt.plot(x_data, y_data, 'ro')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Our task here is to find the best parameters for our model. Lets first normalize our x and y:\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"# Lets normalize our data\n",
"xdata =x_data/max(x_data)\n",
"ydata =y_data/max(y_data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### How we find the best parameters for our fit line?\n",
"\n",
"we can use **curve_fit** which uses non-linear least squares to fit our sigmoid function, to data. Optimal values for the parameters so that the sum of the squared residuals of sigmoid(xdata, \\*popt) - ydata is minimized.\n",
"\n",
"popt are our optimized parameters.\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" beta_1 = 690.447527, beta_2 = 0.997207\n"
]
}
],
"source": [
"from scipy.optimize import curve_fit\n",
"popt, pcov = curve_fit(sigmoid, xdata, ydata)\n",
"#print the final parameters\n",
"print(\" beta_1 = %f, beta_2 = %f\" % (popt[0], popt[1]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we plot our resulting regression model.\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.linspace(1960, 2015, 55)\n",
"x = x/max(x)\n",
"plt.figure(figsize=(8,5))\n",
"y = sigmoid(x, *popt)\n",
"plt.plot(xdata, ydata, 'ro', label='data')\n",
"plt.plot(x,y, linewidth=3.0, label='fit')\n",
"plt.legend(loc='best')\n",
"plt.ylabel('GDP')\n",
"plt.xlabel('Year')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Practice\n",
"\n",
"Can you calculate what is the accuracy of our model?\n"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean absolute error: 0.03\n",
"Residual sum of squares (MSE): 0.00\n",
"R2-score: 0.95\n"
]
}
],
"source": [
"# write your code here\n",
"\n",
"# split data into train/test\n",
"msk = np.random.rand(len(df)) < 0.8\n",
"train_x = xdata[msk]\n",
"test_x = xdata[~msk]\n",
"train_y = ydata[msk]\n",
"test_y = ydata[~msk]\n",
"\n",
"# build the model using train set\n",
"popt, pcov = curve_fit(sigmoid, train_x, train_y)\n",
"\n",
"# predict using test set\n",
"y_hat = sigmoid(test_x, *popt)\n",
"\n",
"# evaluation\n",
"print(\"Mean absolute error: %.2f\" % np.mean(np.absolute(y_hat - test_y)))\n",
"print(\"Residual sum of squares (MSE): %.2f\" % np.mean((y_hat - test_y) ** 2))\n",
"from sklearn.metrics import r2_score\n",
"print(\"R2-score: %.2f\" % r2_score(y_hat , test_y) )\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click **here** for the solution.\n",
"\n",
"<!-- Your answer is below:\n",
" \n",
"# split data into train/test\n",
"msk = np.random.rand(len(df)) < 0.8\n",
"train_x = xdata[msk]\n",
"test_x = xdata[~msk]\n",
"train_y = ydata[msk]\n",
"test_y = ydata[~msk]\n",
"\n",
"# build the model using train set\n",
"popt, pcov = curve_fit(sigmoid, train_x, train_y)\n",
"\n",
"# predict using test set\n",
"y_hat = sigmoid(test_x, *popt)\n",
"\n",
"# evaluation\n",
"print(\"Mean absolute error: %.2f\" % np.mean(np.absolute(y_hat - test_y)))\n",
"print(\"Residual sum of squares (MSE): %.2f\" % np.mean((y_hat - test_y) ** 2))\n",
"from sklearn.metrics import r2_score\n",
"print(\"R2-score: %.2f\" % r2_score(y_hat , test_y) )\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Want to learn more?</h2>\n",
"\n",
"IBM SPSS Modeler is a comprehensive analytics platform that has many machine learning algorithms. It has been designed to bring predictive intelligence to decisions made by individuals, by groups, by systems – by your enterprise as a whole. A free trial is available through this course, available here: <a href=\"http://cocl.us/ML0101EN-SPSSModeler\">SPSS Modeler</a>\n",
"\n",
"Also, you can use Watson Studio to run these notebooks faster with bigger datasets. Watson Studio is IBM's leading cloud solution for data scientists, built by data scientists. With Jupyter notebooks, RStudio, Apache Spark and popular libraries pre-packaged in the cloud, Watson Studio enables data scientists to collaborate on their projects without having to install anything. Join the fast-growing community of Watson Studio users today with a free account at <a href=\"https://cocl.us/ML0101EN_DSX\">Watson Studio</a>\n",
"\n",
"<h3>Thanks for completing this lesson!</h3>\n",
"\n",
"<h4>Author: <a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a></h4>\n",
"<p><a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a>, PhD is a Data Scientist in IBM with a track record of developing enterprise level applications that substantially increases clients’ ability to turn data into actionable knowledge. He is a researcher in data mining field and expert in developing advanced analytic methods like machine learning and statistical modelling on large datasets.</p>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n",
"| ----------------- | ------- | ---------- | --------------------- |\n",
"| 2020-08-04 | 0 | Nayef | Upload file to Gitlab |\n",
"| | | | |\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<hr>\n",
"\n",
"<p>Copyright &copy; 2018 <a href=\"https://cocl.us/DX0108EN_CC\">Cognitive Class</a>. This notebook and its source code are released under the terms of the <a href=\"https://bigdatauniversity.com/mit-license/\">MIT License</a>.</p>\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python",
"language": "python",
"name": "conda-env-python-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.11"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment