Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mcmasterml/24ae814f65bf79f97366e08812564249 to your computer and use it in GitHub Desktop.
Save mcmasterml/24ae814f65bf79f97366e08812564249 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>"
]
},
{
"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."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"importing_libraries\">Importing required libraries</h2>"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"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."
]
},
{
"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)$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's take a look at a cubic function's graph."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"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."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some other types of non-linear functions are:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Quadratic"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ Y = X^2 $$"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"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"
]
},
{
"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": 5,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"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}"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"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"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ Y = a + \\frac{b}{1+ c^{(X-d)}}$$"
]
},
{
"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",
"\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",
"# Non-Linear Regression example"
]
},
{
"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. "
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2020-07-29 02:23:33 URL:https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/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": 11,
"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://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/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)"
]
},
{
"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 decelerate slightly in the 2010s."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"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:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"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": [
"\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."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Building The Model ###\n",
"Now, let's build our regression model and initialize its parameters. "
]
},
{
"cell_type": "code",
"execution_count": 17,
"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:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f5a487919e8>]"
]
},
"execution_count": 18,
"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:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"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. 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."
]
},
{
"cell_type": "code",
"execution_count": 21,
"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."
]
},
{
"cell_type": "code",
"execution_count": 25,
"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[0], popt[1])\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?"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean Absolute Error: 0.043125\n",
"Mean Squared Error: 0.002408\n",
"R^2 score aka Variance Score: 0.958584\n"
]
}
],
"source": [
"# write your code here\n",
"from sklearn.metrics import r2_score\n",
"\n",
"#split data into train/test\n",
"msk = np.random.rand(len(df)) < 0.8\n",
"xtrain = xdata[msk]\n",
"xtest = xdata[~msk]\n",
"ytrain = ydata[msk]\n",
"ytest = ydata[~msk]\n",
"\n",
"# build the model using train set\n",
"popt, pcov = curve_fit(sigmoid, xtrain, ytrain)\n",
"\n",
"# predict using test set\n",
"y_hat = sigmoid(xtest, *popt)\n",
"\n",
"# evaluation\n",
"print(\"Mean Absolute Error: %f\" % np.mean(np.absolute(y_hat-ytest)))\n",
"print(\"Mean Squared Error: %f\" % np.mean(np.power(y_hat-ytest, 2)))\n",
"print(\"R^2 score aka Variance Score: %f\" % r2_score(y_hat, ytest))\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",
"-->"
]
},
{
"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",
"\n",
"<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>"
]
}
],
"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