Skip to content

Instantly share code, notes, and snippets.

@Deepakchawla
Created January 7, 2019 10:12
Show Gist options
  • Save Deepakchawla/413e8bdc24f0de5b5812c383c76f11bc to your computer and use it in GitHub Desktop.
Save Deepakchawla/413e8bdc24f0de5b5812c383c76f11bc to your computer and use it in GitHub Desktop.
PycharmProjects/machine-learning/Regression/SimpleLinearRegression/Linear Regression Exercise 1.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-01-07T09:08:14.485909Z",
"start_time": "2019-01-07T09:08:05.847935Z"
},
"trusted": false
},
"cell_type": "code",
"source": "#import important libraries.\nimport pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nfrom pandas.api.types import is_numeric_dtype\nimport seaborn as sns\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.metrics import mean_absolute_error, r2_score, mean_squared_error, accuracy_score",
"execution_count": 2,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "/home/deepak/anaconda3/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88\n return f(*args, **kwds)\n/home/deepak/anaconda3/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88\n return f(*args, **kwds)\n/home/deepak/anaconda3/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88\n return f(*args, **kwds)\n/home/deepak/anaconda3/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88\n return f(*args, **kwds)\n/home/deepak/anaconda3/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88\n return f(*args, **kwds)\n/home/deepak/anaconda3/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88\n return f(*args, **kwds)\n"
}
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-01-07T09:08:22.720848Z",
"start_time": "2019-01-07T09:08:22.291311Z"
},
"trusted": false
},
"cell_type": "code",
"source": "#read dataset csv file.\ntrain_data = pd.read_csv('train.csv')\ntest_data = pd.read_csv('test.csv')\ndf = train_data.append(test_data, ignore_index=True)",
"execution_count": 3,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2019-01-07T09:08:25.047675Z",
"start_time": "2019-01-07T09:08:25.037165Z"
},
"code_folding": [],
"trusted": false
},
"cell_type": "code",
"source": "# Shape of the dataset\ndf.shape",
"execution_count": 4,
"outputs": [
{
"data": {
"text/plain": "(1000, 2)"
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Total no of columns in the dataset\ndf.columns",
"execution_count": 441,
"outputs": [
{
"data": {
"text/plain": "Index(['x', 'y'], dtype='object')"
},
"execution_count": 441,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# find the datatypes of the features and target variable. \ndf.dtypes",
"execution_count": 442,
"outputs": [
{
"data": {
"text/plain": "x float64\ny float64\ndtype: object"
},
"execution_count": 442,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "df.head()\n#Here our feature varibale is Humidity and target variable is Temperature (C)",
"execution_count": 443,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>x</th>\n <th>y</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>24.0</td>\n <td>21.549452</td>\n </tr>\n <tr>\n <th>1</th>\n <td>0.0</td>\n <td>0.464463</td>\n </tr>\n <tr>\n <th>2</th>\n <td>15.0</td>\n <td>17.218656</td>\n </tr>\n <tr>\n <th>3</th>\n <td>38.0</td>\n <td>36.586398</td>\n </tr>\n <tr>\n <th>4</th>\n <td>87.0</td>\n <td>87.288984</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " x y\n0 24.0 21.549452\n1 0.0 0.464463\n2 15.0 17.218656\n3 38.0 36.586398\n4 87.0 87.288984"
},
"execution_count": 443,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Describe the Data Set\ndf.describe() # it shows that x has min vlaue 0 which cause problem for us in future so we have to handle it.",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Replace 0 in x column with nan values\ndf['x'] = df['x'].replace(0, np.nan)",
"execution_count": 452,
"outputs": []
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Check the null values in the dataset\ndf.isnull().any()",
"execution_count": 453,
"outputs": [
{
"data": {
"text/plain": "x True\ny False\ndtype: bool"
},
"execution_count": 453,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Check the nan values in the dataset\ndf.isna().sum()",
"execution_count": 454,
"outputs": [
{
"data": {
"text/plain": "x 12\ny 0\ndtype: int64"
},
"execution_count": 454,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Check the null values in the dataset\ndf.isnull().any()",
"execution_count": 408,
"outputs": [
{
"data": {
"text/plain": "x False\ny True\ndtype: bool"
},
"execution_count": 408,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Check the nan values in the dataset\ndf.isna().sum()",
"execution_count": 444,
"outputs": [
{
"data": {
"text/plain": "x 0\ny 1\ndtype: int64"
},
"execution_count": 444,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Sum the null values in the dataset\ndf.isnull().sum()",
"execution_count": 445,
"outputs": [
{
"data": {
"text/plain": "x 0\ny 1\ndtype: int64"
},
"execution_count": 445,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Replace the nan values with median of column 'y'\ndf['y'] = df['y'].replace(np.NaN, df['y'].median())",
"execution_count": 447,
"outputs": []
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Cross check the Sum of the null values in the dataset\ndf.isnull().sum()",
"execution_count": 448,
"outputs": [
{
"data": {
"text/plain": "x 0\ny 0\ndtype: int64"
},
"execution_count": 448,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Cross check the nan values in the dataset\ndf.isna().sum()",
"execution_count": 449,
"outputs": [
{
"data": {
"text/plain": "x 0\ny 0\ndtype: int64"
},
"execution_count": 449,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Boxplot to find the outliers in the Temp column\nsns.boxplot(df['x'])",
"execution_count": 414,
"outputs": [
{
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x7f48cbd40550>"
},
"execution_count": 414,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Boxplot to find the outliers in the Temp column\nsns.boxplot(df['y'])",
"execution_count": 415,
"outputs": [
{
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x7f48cb2ec198>"
},
"execution_count": 415,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Boxplot to find the outliers in the Temp column\nsns.boxplot(df)",
"execution_count": 386,
"outputs": [
{
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x7f48cb5a4080>"
},
"execution_count": 386,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Histrogram of the feature varibale\nplt.hist(df['x'])",
"execution_count": 32,
"outputs": [
{
"data": {
"text/plain": "(array([999., 0., 0., 0., 0., 0., 0., 0., 0., 1.]),\n array([ 0. , 353.01573692, 706.03147383, 1059.04721075,\n 1412.06294767, 1765.07868459, 2118.0944215 , 2471.11015842,\n 2824.12589534, 3177.14163225, 3530.15736917]),\n <a list of 10 Patch objects>)"
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Distplot of the feature varibale\nsns.distplot(df['x'])",
"execution_count": 354,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "/home/deepak/anaconda3/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n/home/deepak/anaconda3/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
},
{
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x7f48cb8d5a20>"
},
"execution_count": 354,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Histrogram of the feature varibale\nplt.hist(df['y'])",
"execution_count": 355,
"outputs": [
{
"data": {
"text/plain": "(array([ 65., 115., 119., 101., 132., 126., 96., 94., 118., 34.]),\n array([ -3.83998112, 7.43117882, 18.70233876, 29.97349871,\n 41.24465865, 52.51581859, 63.78697853, 75.05813847,\n 86.32929842, 97.60045836, 108.8716183 ]),\n <a list of 10 Patch objects>)"
},
"execution_count": 355,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Distplot of the feature varibale\nsns.distplot(df['y'])",
"execution_count": 356,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "/home/deepak/anaconda3/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n/home/deepak/anaconda3/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
},
{
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x7f48cb7a8828>"
},
"execution_count": 356,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Mean and median of the Humidity column \nprint(\"Mean is\", df['x'].mean(), \", Median is \", df['x'].median(), \"which shows that column data are skwed data\")",
"execution_count": 352,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Mean is 54.32115736917 , Median is 50.0 which shows that column data are skwed data\n"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Mean and median of the Humidity column \nprint(\"Mean is\", df['y'].mean(), \", Median is \", df['y'].median(), \"which shows that column data are skwed data\")",
"execution_count": 353,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Mean is 50.27241027648299 , Median is 49.92639685 which shows that column data are skwed data\n"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "df.info() ",
"execution_count": 421,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 1000 entries, 0 to 999\nData columns (total 2 columns):\nx 1000 non-null float64\ny 1000 non-null float64\ndtypes: float64(2)\nmemory usage: 15.7 KB\n"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "df.describe()",
"execution_count": 346,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>x</th>\n <th>y</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td>1000.000000</td>\n <td>1000.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td>53.721157</td>\n <td>50.272410</td>\n </tr>\n <tr>\n <th>std</th>\n <td>113.760577</td>\n <td>29.117128</td>\n </tr>\n <tr>\n <th>min</th>\n <td>0.000000</td>\n <td>-3.839981</td>\n </tr>\n <tr>\n <th>25%</th>\n <td>25.000000</td>\n <td>25.086279</td>\n </tr>\n <tr>\n <th>50%</th>\n <td>50.000000</td>\n <td>49.926397</td>\n </tr>\n <tr>\n <th>75%</th>\n <td>75.000000</td>\n <td>74.463198</td>\n </tr>\n <tr>\n <th>max</th>\n <td>3530.157369</td>\n <td>108.871618</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " x y\ncount 1000.000000 1000.000000\nmean 53.721157 50.272410\nstd 113.760577 29.117128\nmin 0.000000 -3.839981\n25% 25.000000 25.086279\n50% 50.000000 49.926397\n75% 75.000000 74.463198\nmax 3530.157369 108.871618"
},
"execution_count": 346,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "df.head()",
"execution_count": 286,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>x</th>\n <th>y</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>24.0</td>\n <td>21.549452</td>\n </tr>\n <tr>\n <th>1</th>\n <td>50.0</td>\n <td>0.464463</td>\n </tr>\n <tr>\n <th>2</th>\n <td>15.0</td>\n <td>17.218656</td>\n </tr>\n <tr>\n <th>3</th>\n <td>38.0</td>\n <td>36.586398</td>\n </tr>\n <tr>\n <th>4</th>\n <td>87.0</td>\n <td>87.288984</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " x y\n0 24.0 21.549452\n1 50.0 0.464463\n2 15.0 17.218656\n3 38.0 36.586398\n4 87.0 87.288984"
},
"execution_count": 286,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "df['x'].replace(0, np.nan, inplace= True)\n# test = df[700:]\n# train.to_csv('mergecleandatatrain1.csv')\n# test.to_csv('mergecleandatatest1.csv')",
"execution_count": 416,
"outputs": []
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Check the nan values in the dataset\ndf.isna().sum()",
"execution_count": 417,
"outputs": [
{
"data": {
"text/plain": "x 12\ny 0\ndtype: int64"
},
"execution_count": 417,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "df['x'] = df['x'].replace(np.NaN, df['x'].median())",
"execution_count": 419,
"outputs": []
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "df.describe()\n# train = df[:700]\n# test = df[700:]\n# train.to_csv('mergecleandatatrain1.csv')\n# test.to_csv('mergecleandatatest1.csv')",
"execution_count": 420,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>x</th>\n <th>y</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td>1000.000000</td>\n <td>1000.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td>54.321157</td>\n <td>50.272410</td>\n </tr>\n <tr>\n <th>std</th>\n <td>113.607256</td>\n <td>29.117128</td>\n </tr>\n <tr>\n <th>min</th>\n <td>1.000000</td>\n <td>-3.839981</td>\n </tr>\n <tr>\n <th>25%</th>\n <td>26.000000</td>\n <td>25.086279</td>\n </tr>\n <tr>\n <th>50%</th>\n <td>50.000000</td>\n <td>49.926397</td>\n </tr>\n <tr>\n <th>75%</th>\n <td>75.000000</td>\n <td>74.463198</td>\n </tr>\n <tr>\n <th>max</th>\n <td>3530.157369</td>\n <td>108.871618</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " x y\ncount 1000.000000 1000.000000\nmean 54.321157 50.272410\nstd 113.607256 29.117128\nmin 1.000000 -3.839981\n25% 26.000000 25.086279\n50% 50.000000 49.926397\n75% 75.000000 74.463198\nmax 3530.157369 108.871618"
},
"execution_count": 420,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# now transforming feature variable\ntarget = (np.sqrt((df['x'])))\nprint ('Skewness is', target.skew())\nprint(\"Mean is\",target.mean(), \", Median is \", target.median(), \"which shows that column data are skwed data\")\nsns.distplot(target)\ndf['x'] = target",
"execution_count": 431,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Skewness is -0.3183650262445144\nMean is 6.861207364671618 , Median is 7.0710678118654755 which shows that column data are skwed data\n"
},
{
"name": "stderr",
"output_type": "stream",
"text": "/home/deepak/anaconda3/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n/home/deepak/anaconda3/lib/python3.6/site-packages/matplotlib/axes/_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "testdf = pd.read_csv('orange_cleaned_data.csv')\ntestdf = testdf[2:]\n",
"execution_count": 238,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>x</th>\n <th>y</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>2</th>\n <td>1.8612097182041991</td>\n <td>12.59244741</td>\n </tr>\n <tr>\n <th>3</th>\n <td>3.0714786556407327</td>\n <td>87.45721555</td>\n </tr>\n <tr>\n <th>4</th>\n <td>2.530439534435243</td>\n <td>39.3294153</td>\n </tr>\n <tr>\n <th>5</th>\n <td>2.0</td>\n <td>16.68715211</td>\n </tr>\n <tr>\n <th>6</th>\n <td>2.8502698827717983</td>\n <td>67.01715955</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " x y\n2 1.8612097182041991 12.59244741\n3 3.0714786556407327 87.45721555\n4 2.530439534435243 39.3294153\n5 2.0 16.68715211\n6 2.8502698827717983 67.01715955"
},
"execution_count": 238,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# # Using sklearn linear regression model\n# from sklearn.linear_model import LinearRegression\n# x_data_set = np.array(pd.DataFrame(testdf, columns=['x'])['x'])\n# y_data_set = np.array(pd.DataFrame(testdf, columns=['y'])['y'])\n\n# x_data_train, x_data_test, y_data_train, y_data_test = train_test_split(\n# x_data_set, y_data_set, test_size=0.25, shuffle=False)\n\nmodel = LinearRegression()\nx_data_train = x_data_train.reshape(len(x_data_train), 1)\ny_data_train = y_data_train.reshape(len(y_data_train), 1)\nx_data_test = x_data_test.reshape(len(x_data_test), 1)\ny_data_test = y_data_test.reshape((len(y_data_test), 1))\n\nreg = model.fit(x_data_train,y_data_train)\nreg.score(x_data_test, y_data_test)\ny_pred = reg.predict(x_data_test)\nr2_score(y_data_test,y_pred), mean_squared_error(y_data_test,y_pred), mean_absolute_error(y_data_test, y_pred)",
"execution_count": 435,
"outputs": [
{
"data": {
"text/plain": "(0.9318223087046227, 34.53704788984035, 4.895417703999909)"
},
"execution_count": 435,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "print( np.corrcoef(df['x'], df['y']))\ntest = df[700:]\ntrain.to_csv('mergecleandatatrain2.csv')\ntest.to_csv('mergecleandatatest2.csv')",
"execution_count": 215,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "[[1. 0.97150977]\n [0.97150977 1. ]]\n"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# Remove the outlier from the whole dataset\ndef remove_outlier(df):\n low = .05\n high = .95\n quant_df = df.quantile([low, high])\n for name in list(df.columns):\n if is_numeric_dtype(df[name]):\n df = df[(df[name] > quant_df.loc[low, name]) & (df[name] < quant_df.loc[high, name])]\n return df\n\ndf= remove_outlier(df)\n# test = df[700:]\n# train.to_csv('mergecleandatatrain1.csv')\n# test.to_csv('mergecleandatatest1.csv')train = df[:700]\nsns.boxplot(df)",
"execution_count": 422,
"outputs": [
{
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x7f48cb265208>"
},
"execution_count": 422,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "import pandas as pd\nimport numpy as np\nfrom matplotlib import pyplot as plt\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.metrics import mean_absolute_error, r2_score, mean_squared_error, accuracy_score\n\n\nclass LinearTrainer:\n\n def __init__(self):\n\n # Learning Rate\n self.l_rate = 0.001\n # Total iterations\n self.iterations = 60000\n\n def trains(self, x_data_train, y_data_train):\n\n i = 0\n parameters = np.array([0, 1], dtype='f')\n\n # length of the train and test data sets.\n x_data_train = np.column_stack((np.ones((x_data_train.shape[0], 1)), x_data_train))\n\n while i <= self.iterations:\n temp1 = ((np.dot(x_data_train, parameters)) - y_data_train)\n temp2 = np.dot(temp1, x_data_train)\n parameters[0] = parameters[0] - ((self.l_rate * np.sum(temp1)) / len(x_data_train))\n parameters[1] = parameters[1] - ((self.l_rate * np.sum(temp2)) / len(x_data_train))\n i += 1\n\n return parameters\n\n def classify(self, x_data_test, parameters):\n\n x_data_test = np.column_stack((np.ones((x_data_test.shape[0], 1)), x_data_test))\n return np.dot(x_data_test, parameters)\n\n def accuracy(self, y_data_test, y_pred_test):\n\n total_error = 0\n for i in range(0, len(y_data_test)):\n total_error += abs((y_pred_test[i] - y_data_test[i]) / y_data_test[i])\n total_error = (total_error / len(y_data_test))\n accuracy = 1 - total_error\n return accuracy * 100\n\n def plotgraph(self, x_data_test, y_data_test, y_pred, x_data_train, y_data_train):\n\n plt.scatter(x_data_train, y_data_train, color='g', label='Train Data Set')\n plt.plot(x_data_test, y_pred, color='r', label='Predicted Values')\n plt.legend()\n plt.show()\n plt.scatter(x_data_test, y_data_test, color='g', label='Train Data Set')\n plt.plot(x_data_test, y_pred, color='r', label='Predicted Values')\n plt.legend()\n plt.show()\n\n\ndef main():\n\n# df = pd.read_csv('me')\n # Assign the split data into train and test variables.\n x_data_set = np.array(pd.DataFrame(df, columns=['x'])['x'])\n \n y_data_set = np.array(pd.DataFrame(df, columns=['y'])['y'])\n x_data_train, x_data_test, y_data_train, y_data_test = train_test_split(\n x_data_set, y_data_set, test_size=0.25, shuffle=False)\n\n l_t = LinearTrainer()\n parameters = l_t.trains(x_data_train, y_data_train)\n y_prediction = l_t.classify(x_data_test, parameters)\n y_prediction_train = l_t.classify(x_data_train, parameters)\n accuracy = l_t.accuracy(y_data_test, y_prediction)\n accuracy_train = l_t.accuracy(y_data_train, y_prediction_train)\n\n print(accuracy, accuracy_train)\n l_t.plotgraph(x_data_test, y_data_test, y_prediction, x_data_train, y_data_train)\n print((r2_score(y_data_train, y_prediction_train)))\n print((r2_score(y_data_test, y_prediction)))\n\nif __name__ == '__main__':\n main()\n",
"execution_count": 434,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "89.50437645836512 88.4100263975118\n"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xt8VNXV8PHfypBILhggICKUBBVBBQkBFIrgJVYBLyh9UGlARDQooqBFxaJFrfhiqRVsCxrlpkYpj0XUR1A0SKVaFZAgyEVAEkRRIAgSEshtv3/MPZmZTOaSSSbr208/5Jw5c84m6po9a++9thhjUEopFb1iIt0ApZRS4aWBXimlopwGeqWUinIa6JVSKsppoFdKqSingV4ppaKcBnqllIpytQZ6EVkgIgdEZIvLudYi8oGI7LT92cp2XkTkORHZJSJfiUhGOBuvlFKqdv706BcBg6udmwrkGWO6AHm2Y4AhQBfb/7OBeaFpplJKqUCJPytjRSQN+D9jTHfb8Q7gUmPMfhFpD6wxxnQVkRdsP79e/Tpf92/Tpo1JS0sL6i+ilFJNzYYNGw4ZY9rWdl2zAO/fzh68bcH+NNv5DsB3Ltfts53zGejT0tJYv359gE1RSqmmSUQK/bku1IOx4uGcx68MIpItIutFZP3BgwdD3AyllFJ2gQb6n2wpG2x/HrCd3wf8yuW6jsAPnm5gjMkxxvQxxvRp27bWbx5KKaUCFGigfxsYY/t5DPCWy/lbbLNv+gFHa8vPK6WUCq9ac/Qi8jpwKdBGRPYB04GZwFIRGQfsBUbYLl8BDAV2ASXA2EAbVl5ezr59+zhx4kSgt1ANVPPmzenYsSOxsbGRbopSTUKtgd4YM9LLS5kerjXA3cE2CmDfvn20aNGCtLQ0RDyl/lVjZIyhqKiIffv20blz50g3R6kmocGujD1x4gQpKSka5KOMiJCSkqLf1FSTlLs5l7TZacQ8HkPa7DRyN+fWy3MbbKAHNMhHKf3nqpqi3M25ZL+TTeHRQgyGwqOFjFo2ijZ/bhP2gB/oPHqllFIuJrw7gZwNOVSaSsc5i1jI7p3N3KvnMi1vGiXlJTXeV1RaxNjl1uHMrB5ZYWlbg+7RR5rFYiE9PZ3u3bszYsQISkpq/kPy15o1a7jmmmsAePvtt5k5c6bXa48cOcLcuXPr/IzHHnuMv/zlLzWe279/f7dzFRUVtGvXjv37vU+I8nQvpZRnE96dwLz189yCPEClqWTe+nm0mtmKwqPe1zaVV5UzaeWksLVPA70P8fHx5Ofns2XLFuLi4nj++efdXjfGUFVVVef7XnfddUydOtXr64EGek8GDRrEvn37KCgocJz78MMP6d69O+3btw/JM5Rq6nI25Ph8/cjJI7Xeo6i0KFTNqUEDvZ8GDhzIrl27KCgo4Nxzz2XChAlkZGTw3XffsWrVKvr3709GRgYjRoyguLgYgPfee49u3bpx8cUXs2zZMse9Fi1axMSJEwH46aefuOGGG+jZsyc9e/bk008/ZerUqezevZv09HQeeOABAGbNmkXfvn254IILmD59uuNeM2bMoGvXrlxxxRXs2LGjRrtjYmIYMWIE//znPx3nlixZwsiR1slUL774In379qVnz5789re/9fit5dJLL3WUqDh06BD2ukSVlZU88MADjna98MILAOzfv59BgwY5vg2tXbs24N+7Uo1B9Z58Q9M4cvSTJ0N+fmjvmZ4Os2f7dWlFRQUrV65k8GBrEc8dO3awcOFC5s6dy6FDh3jyySf58MMPSUxM5Omnn+avf/0rDz74IHfccQerV6/m7LPP5qabbvJ473vvvZdLLrmEN998k8rKSoqLi5k5cyZbtmwh3/Z3XrVqFTt37uSLL77AGMN1113Hxx9/TGJiIkuWLGHjxo1UVFSQkZFB7969azxj5MiRZGdn89BDD3Hy5ElWrFjBs88+C8Dw4cO54447AHjkkUeYP38+99xzj1+/l/nz55OcnMy6des4efIkAwYM4Morr2TZsmVcddVVTJs2jcrKyqBSXko1BhaxNOhg3zgCfYSUlpaSnp4OWHv048aN44cffiA1NZV+/foB8Nlnn7F161YGDBgAQFlZGf3792f79u107tyZLl26ADBq1Chycmp+vVu9ejUvv/wyYB0TSE5O5ueff3a7ZtWqVaxatYpevXoBUFxczM6dOzl27Bg33HADCQkJgDUl5Enfvn0pLi5mx44dbNu2jX79+tGqVSsAtmzZwiOPPMKRI0coLi7mqquu8vv3s2rVKr766iveeOMNAI4ePcrOnTvp27cvt912G+Xl5Vx//fWO36FS0Sq7dzbz1jfcquyNI9D72fMONXuOvrrExETHz8YYfvOb3/D666+7XZOfnx+yaYTGGB5++GHGjx/vdn727Nl+P+Pmm29myZIlbNu2zZG2Abj11ltZvnw5PXv2ZNGiRaxZs6bGe5s1a+YYi3Cd/26M4W9/+5vHD4ePP/6Yd999l9GjR/PAAw9wyy23+NVOpRqbK16+grw9eZFuhk+aow9Sv379+OSTT9i1axcAJSUlfPPNN3Tr1o09e/awe/dugBofBHaZmZnMm2ftCVRWVvLLL7/QokULjh075rjmqquuYsGCBY7c//fff8+BAwcYNGgQb775JqWlpRw7dox33nnHaztHjhzJq6++yurVq916/seOHaN9+/aUl5eTm+t5Lm9aWhobNmwAcPTe7e2aN28e5eXlAHzzzTccP36cwsJCTjvtNO644w7GjRvHl19+6fuXqFQjFcogf0bSGSG5jyeNo0ffgLVt25ZFixYxcuRITp48CcCTTz7JOeecQ05ODldffTVt2rTh4osvZsuWLTXeP2fOHLKzs5k/fz4Wi4V58+bRv39/BgwYQPfu3RkyZAizZs1i27ZtjmmSSUlJvPrqq2RkZHDTTTeRnp5OamoqAwcO9NrO8847j4SEBHr37u32jeRPf/oTF110EampqfTo0cPtA8ZuypQp3HjjjbzyyitcfvnljvO33347BQUFZGRkYIyhbdu2LF++nDVr1jBr1ixiY2NJSkpypKaUijah7Mn/dPynkN2rOr92mAq3Pn36mOobj2zbto1zzz03Qi1S4ab/fFVjkrs5l2l50yg8WugYeA3HAKyZXrd4LCIbjDF9artOe/RKKeWDvXSBfVWrPbiHOshbxBLS+7nSHL1SSvngrXRBqGX3zg7bvbVHr5RSPuw9ujes93ethxMu2qNXSjVZ/pQNbh3fOizPjpEYXh3+KhV/rAhrkAft0SulmqjquffCo4Vkv2NNn7hWkTxREZ69E6pMlcfnhYP26JVSTZKn3HtJeQnT8qa5nTtefjwsz4+tgNhfaj4vHDTQe1FUVER6ejrp6emcfvrpdOjQwXFcVlbm1z3Gjh3rsdCYNy+99BJt27alV69edOnShcGDB/PZZ5/V+r5ly5axfft2v58D1sJjQ4cOpWfPnpx33nleyyfYHT58uEb1TqUaI3u6xlvZ4MKjhWHfCOTJPCh7Eo48DXuPeC9fHCqauvEiJSXFUf7gscceIykpiSlTprhdY4zBGENMjOfPy4ULF9b5uVlZWcy2lXz48MMPGTZsGGvXruWcc87x+p5ly5YRExNDt27d/H7OI488wtVXX83dd1u3+P3qq698Xm8P9Hfeeaffz1CqoamervHGdSOQpLgkisuKQ/L8vvvgi5ecx08OhE4tU0Nyb1+ipkdfX3sx7tq1i+7du3PnnXeSkZHB/v37yc7Opk+fPpx//vk88cQTjmsvvvhi8vPzqaiooGXLlkydOpWePXvSv39/Dhw4UOuzrrjiCsaNG8eLL74IwPPPP+8oKTxixAhKS0tZu3YtK1as4L777iM9PZ2CggKP11W3f/9+Onbs6Di+4IILHD/PnDmTCy+8kAsuuMDx95k6dSo7duwgPT3dZy19pRoyf6dKlleVM2rZKJo90SwkQT6hDH6c5QzyFQItH4L/NziBGZkzgr5/baIi0HvaizH7neywBfutW7cybtw4Nm7cSIcOHZg5cybr169n06ZNfPDBB2zdurXGe44ePcoll1zCpk2b6N+/PwsWLPDrWRkZGY60zIgRI1i3bh2bNm3irLPOYtGiRQwcOJChQ4fy7LPPkp+fT1pamsfrqps4cSJjxozh8ssv56mnnnLsNrVixQr27t3L559/Tn5+Pp9++imffvopM2fOpGvXruTn5/vcHUuphqyuUyVDsSjqidVw/CloZ0v1X34LxE6H4gQLOdfmhH0gFqIk0Ps7qBIqZ511Fn379nUcv/7662RkZJCRkcG2bds8Bvr4+HiGDBkCQO/evd12fPLFtUTFV199xcCBA+nRowdLlizh66+/9vgef64bOnQou3fvZty4cWzdupVevXpRVFTEqlWrWLlyJb169SIjI4Ndu3bxzTff+NVWpRq6Tsmd6u1Zfb4H8xg8+rH1eF4fkMfgozMhITaBxTcsrpcgD1GSo/f2KR2uhQ6uRcF27tzJnDlz+OKLL2jZsiWjRo1yK+VrFxcX5/jZYrFQUVHh17M2btzoqAlzyy23sHLlSrp3785LL73kdaDW3+tSUlLIysoiKyuLwYMH85///AdjDI888gjjxo1zu9ZenVOpxmxG5gy/cvTBiC+D3c9Be1vGp0KgzYNwNN56nJqcyozMGfUW5CFKevTePqXr49PbXlb41FNPZf/+/bz//vshu/dHH33EggULHEH3+PHjnH766ZSXl/Paa685rqte1tjbda7y8vIcuftffvmFPXv20KlTJ6666irmz5/P8ePW75n79u3j0KFDNZ6hVGOU1SOLnGtzSE1ORRBS4lNIjE2s/Y1+euwjKHnKGeQzbWkae5BPiU+hYHJBvQZ5iJIevadP6YTY+hnkyMjI4LzzzqN79+6ceeaZjp2mApWbm8uaNWsoKSnhzDPPZPny5XTt2hWAJ554ggsvvJBOnTrRvXt3xzeHkSNHMn78eJ555hmWL1/u9TpX69atY+LEicTGxlJVVcVdd91Fr1696NWrF9u3b3fsoNWiRQtee+010tLS6NOnDz169ODqq6/WPL2KCklxScwZMgfAUZ0yEL2/h/UvOo9f6A13Xut+TZwlzvGs+hY1ZYrtZUT3Ht1Lp+RO9f7VSNWNlilWkeBpemVCbIJjUDTpqaQ6LZCKL4Ndz8EZLhNzWj0ER+Ldr7OIJSw5eX/LFEdF6gasX8kKJhdQNb0qIl+NlFINh7fp1rVN3DhZcdLvZ/xxjTVNYw/yvxltHWytHuTre+DVk6hI3SillF3u5lxue+s2yiqtK9gLjxZy21u3AbVP3KgwtU+SyPgBNuQ4j1/MgGyXheVxljhaxLXgcOnhBpNdaNCB3hgTsg22VcPRENKFKnpNWjnJEeTtyirLmLRyEq3jW1NUWlTjPYlxiaTNTvN53+blsPM56OgyJ6HjtHiu638rqTtXNOi0cYMN9M2bN6eoqIiUlBQN9lHEGENRURHNmzePdFNUlPIUyH2dByguK/a5AvbRNfDEGufxlaNgdRcLi294scEFdU8abKDv2LEj+/bt4+DBg5Fuigqx5s2bu5VfUCoYrhMxEuNCN1USoNcP8KVLmualXnDHdZAQl8DielrVGgpBBXoRuQ+4HTDAZmAs0B5YArQGvgRGG2P8K/foIjY2ls6dOwfTPKVUFMvdnMuklZPceuqhKj7WvBx2/A06/eI81/pB+DkhMgueghVwoBeRDsC9wHnGmFIRWQrcDAwFnjXGLBGR54FxwLyQtFYppfC/CmUgpv0bnvzIeXzVKMjrEv7t/sIp2NRNMyBeRMqBBGA/cDnwO9vri4HH0ECvlAqhcGzYnb4fNr7gPN51wyWc/a+PeD8KxggDnkdvjPke+AuwF2uAPwpsAI4Y45ijtA/o4On9IpItIutFZL3m4ZVSdRHoClZPTimHPbPdg/wDr43l7GVrIAqCPAQR6EWkFTAM6AycASQCQzxc6nEunTEmxxjTxxjTp23btoE2QynVBFnEEpL7/OFjODED0o5YjwdnWRc9zd3zz7DvMlWfglkZewWwxxhz0BhTDiwDfg20FBF7Sqgj8EOQbVRKKTfB1onvud9aQnjGauvxwnSQ6fB+F+txOMucR0IwgX4v0E9EEsQ60T0T2Ap8BPyP7ZoxwFvBNVEpFY2C2RUuNTmw7fdOKYfdsyHfJU3T5gG47XqgWpYmXGXOIyGYHP3nwBtYp1Butt0rB3gIuF9EdgEpwPwQtFMpFUU87Qo3etlo5HHxK+gP7TK0zs+cutaapjnTlqYZ+jtrmqbIy9T7+tykJNyCmnVjjJkOTK92+lvgwmDuq5SKbp5mzRjbcJ59K1DA61z1pV8v9ftZF/wIm553Hi/uCbd66MG7qq8y5/UlaqpXKqUaj9rSIt5y5PZ0j69yBnanlMOuOe5Bvs0DcOsN1AjyibGJjs1IUpNT620v1/rSYEsgKKWiV6fkTrVOkSw8Wkju5lxHwK3LIqmH1sLMPOfx0N/BynM8XxsbE8sL174QVYG9Ou3RK6Xq3YzMGSTEJtR63W1v3eazlnx1PX60zqaxB/mXL7DOpvEW5JPiklh4/cKoDvLQgHeYUkpFN3sxMn8WP6Ump/q8Lq4CtsyFLoed59o+AIcSrfu0HjlxxOOUzNTkVAomFwTS/Aahye0wpZRqXOy7womvUVEbX0H+gf/AySedQf6akdbZNIdss2nST0+nylR5fG80TaH0RXP0SqmISoxLDKjqZPefYLNLFa3cHjBqODUGWtcUrPE6JhBNUyh90R69Uiqijpf5vxk3WNM0O55zD/KnTYFRv8XjlMlKU+lxTCDaplD6ooFeKRVRxnM5LI+mfGJN05xjS9Nca0vTHEzy/h6LWMjqkUXOtTlRPYXSF03dKKXCwnXnp9bxrQEC3jD7/J9gi0sP/rXukOWlB19ddm/n4qumEtir01k3SqmQ82fOe1JcEqdYTvG5+CmuAjbNg24ul5w2xXcP3s4ijXuzEH/4O+tGe/RKqZDzZ857cVkxxXgfhL3/U3hmlfP4upvhnW61PzvOEseCYQuabO/dEw30SqmQC2baYvU0zZLzYeT/4FeaBtAg74EGeqVUyPlT4qC62ArIfx7OO+Q8124KHPAjTWOXmpyqQd4DnXWjlAo5f0sc2N33KZQ96Qzy199knU1TlyDflKZL1pX26JVSIWfvVddW4uDcA7DVZax06Xlw0wj8TtPYpSan1nkmT1Ois26UUmGVuzmXscvHUl5V7jgXWwFfvgDdDzqvO/338FOLut07ITahSc2Hr05n3Sil6o1rgTKLWKg0lY5e9rS8aW5BftJ/Yfb7zvfecBMsP7fuz9RevP800CulglJ9zry9SqR9pyj7+eppmjfOhRE3Uuc0jU6frDsN9EqpoPiaM19SXkLzyhi+eKGKHgec5+uapklNTmXv0b0BrapVGuiVUrWorZSBr8HWez+DOe85SwT/9kZYdp7z9WYxzaioqvCrHa8Mf0UDfIA00CulvKqelnEtV+C6iXd13Q7Ctn84j9f2bsugaw7WSNPEWeL8CvT+bBiuvNN59Eopr2orZVD9tWaVkD/PPci3/z0MurZmkPf0fl+8bRiuaqc9eqWUV3UpZTDxc/jbSudx9TRNfbdHOWmgV0p55U8pg64HYbtLD/7NbjD8JvyeTZMYm0hZZZnbFExf7VF1p6kbpZRXvkoZNKuEL593D/Jn3A/Db6ZOUyZFhIXXL3TbFOSuPnc16R2hQk179Eopr7yVMrj7c/i7S5pmxAh44/zAnlFcVuxxU5ABnQY4ZvvotMrgaAkEpZo41+mTvgJq2uw0TtldyI6/O8+9fQ4MG0mdFz1Vp6tcA6MlEJRStao+fdLrNMbycr58AVpvd57qcD/8cGpo2qHTJ8NLe/RKNWFps9NqHWy9e53w93edceLG/4H/7R6e9qQmp1IwuSA8N49C2qNXStXKV5Dvcgi++TuANci/cw4MuxlMGKdw6PTJ8NBAr5RyY6mEz16CPvud50KRphEEg+8Mgk6fDI+gPptFpKWIvCEi20Vkm4j0F5HWIvKBiOy0/dkqVI1VSoVG7uZc0man1Th/5zqo+JMzyN/8W+tOT8EG+dTkVEedHG90+mT4BPslbA7wnjGmG9AT2AZMBfKMMV2APNuxUqqBsA/AuqZtzi4C8xjMe9d6/G4XiPkj/LNH8M+7q89dFEwu4HDpYa/XpCanNukNRMIt4NSNiJwKDAJuBTDGlAFlIjIMuNR22WJgDfBQMI1USgVvwrsTyNmQ46gXD9Y0zafz4cIfnNd1vA++Tw7dc1fsXAF4X2WrA7DhF0yO/kzgILBQRHoCG4BJQDtjzH4AY8x+ETkt+GYqpfzlqaywa9VJu/Hr4Pl3nccjfwtLAuzBpyaneh3YtQ+wzsic4TaVEzRdU1+CSd00AzKAecaYXsBx6pCmEZFsEVkvIusPHjxY+xuUUrVyTcsYDEWlRTWC/Fm2NI09yK8825qmCTTI21MzqcmpHl+3D7Bm9cgi59oct1IHmq6pHwHPoxeR04HPjDFptuOBWAP92cCltt58e2CNMaarr3vpPHqlQsPXvHhLJfxnAfT73nnuV/fBviDTNBaxUPHHCia8O4F56+fVeP2uPncx9+q5Ht6pguXvPPqAe/TGmB+B70TEHsQzga3A28AY27kxwFuBPkMpVTfe5qHfsd46m8Ye5LOGW2fTBBvkwblHrD0XX52386r+BDuP/h4gV0TigG+BsVg/PJaKyDhgLzAiyGcopWphz8tXn6d+VhHs+pvz+P2zYEhWeBY9efuQ0UVQkRdUoDfG5AOevjZkBnNfpZT/cjfnMnb5WLd67pZKWLsQ+u9zXtdpMnzXMnzt8DarRhdBRZ7Wo1eqAbIvaIp5PIa02Wnkbs71en7SykluQf72DdY0jT3Ij7rBmqYJNshbxOLxvH0Q1lPtep1V0zBoCQSlGhhvFSU/2fsJizctdjs/etloR7rmzMOw+znnfVadCYNHhS5NU2kqSYhN8Do90rV2vdaQb1i0eqVSDYy3mTMWsbgtdrKLqYKPF8KA75znwpGmsdeM10DecGj1SqUaKW+Dl56C/G1fwvy3nce3XA+vpIe+Tfaeu6edoFTDp4FeqQbG26Cma4++82H41iVN82FnuGo0VIVw1C01OVV77lFCA71SEVJ9C7+hXYayYucKj0E+zhLHuF7jWLjhJVbNL2egS6c/dTLsDeNsGtX4aaBXKgI8Dbh6WlVqZ4yh/6ptzH3OObsmmDRNjMQQ3yye4+XHvV5j/8DRbf4aPx2MVSoC/NnCz3Htz7BnjvN4dRr85pbg0zRxljjKKsv8vl6rTDY8OhirVAPmz2rRmCpYvRgucfk8SJsEhSHayqcuQR50hWtjpoFeqQjwNuBqN2YjLHKpEnXrMFjcqx4a5oOucG28dGWsUhEwtMtQj+fTfraWELYH+TWpYPljeIP8XX3ucqx6tYiFzM6ZusI1ymiPXqkIqF7RMaYK8hbDpS6d/M6ToCDMOy4nxiYy9+q5NcoIV58RpNMrGzcN9EoFKJhg6JrvviUfFi93vvbypMsY0+qjUDfXo+bNmns8rwujoosGeqUC4K0eDfieguhaTji5FL6dA61PWF/7dyqMuLM1VTFfQWnY/woAPjfsVtFDc/RKBWBa3jS34l4AJeUlTMub5vU9jm3+jhQyOh92/N0Z5M+8Fy4dCwdPHva4v2u46ABr06A9eqUCUNsmG57SOtPypnH2dyX84124+Dv4b0frJiAbz6jPljvpAGvToYFeqQD42mTDU1rngaV38NAHpUz8Ag7Hw9hhsLhneHZ68kUQDMZRiVLz8E2DBnqlAjAjc4ZbMAdnD9ktrWNg9CaY9UEpbUrg+T7wyOVwJL7+26zBvenSQK9UALJ6ZPHJ3k/I2ZBDpanEIhbG9BxDVo8sRi8bDUCPH+EfK2Dg3sinaQAtX9CEaaBXKgC5m3NZvGmxo2xwpalk8abFDOg0gFRaMmnlz0z8An6Oh9uug0Xp4U3TVN/5qTr7dn+qadJZN0oFwOOsm7IS1s+cxGd/OcK9n0NOb+g6ERZmhD8Xn3NtjiOYC+L2mg66Kg30SgWg+qybHj/CvxfCs68VsSfZ0Dcb7r4Gfk7wcoMQy+qRRcHkAsx0wyvDXyE1ORVBSE1OJefaHM3LN3GaulEqAPZZN6eegMc/golfwJHmMO46WNxLqJT6K/8dI+79NV3VqqrTQK9UHdjnxxceKWTUVzBrFZx23DmbxtqDr989Hsb3Hl+vz1ONjwZ6pfyUuzmXscvH0nV/Of9+Fwbthc87wDW/gw0d6r89FrGQ3Tu7RkEyparTQK+Un6a9eQ8zV5Zz7+fWNM3t18KCXqEdaLUvaPIlITZB8+6qTjTQK+VD7uZcHvngDwz7YC///Q+0K7bOppmWCYfDMNBqrz3jbVMSXfSkAqGBXikvcjfn8sGTt7FnqXXLvfXt4dqR4U3T+NquTxBd9KQCotMrVZOTuzmXtNlpxDweQ9rsNHI359a8aN8+si4YxSJbkP+8A/S7Pfy5+E7JnbxWlNRKkypQ2qNXTYJjtszRQrc8eI068lVVfH9pBh3WbnK8t8s9sCsltO3J7JzJf/f912OtHMBrHR2lAqE9ehX1HHXgbXnv6oOdJeUljHlzDDePELBYHEH+rqtBHgt9kAfI/zHfsZq1+sKmrB5ZXl9TKhBiTP3O+fWkT58+Zv369ZFuhopSabPTvA5uApzxC3z/V+fxujOg/ziotIS3XWZ65P/bU42biGwwxvSp7bqgUzciYgHWA98bY64Rkc7AEqA18CUw2hhTFuxzlAqUtwFOqYK3lsC13zjPnTMRdrbxfB+LWBxFzJRqTEKRupkEbHM5fhp41hjTBfgZGBeCZygVsNbxrWucG7EFqp5wBvm7h1rTNN6CPBDSIJ8SH4Z8kFJeBBXoRaQjcDXwku1YgMuBN2yXLAauD+YZSoVS+1/APAZLbf+Grm8PsY/C3Avrrw2xMbHMGTKn/h6omrxgUzezgQeBFrbjFOCIMabCdrwP8DghTUSygWyATp102pgKn8Olh8HA8iUwbIfzfNeJ8I2PHnyw7OWC7d8oDpceduwfqwOrqj4FHOjcarNwAAAWzklEQVRF5BrggDFmg4hcaj/t4VKPI07GmBwgB6yDsYG2QylPXDfn/p+twtKlzn/FJg6Bf1xk/Tk1OZWhXYayYucK9h7dW2v5AX/FxsSy8PqFGtBVgxBMj34AcJ2IDAWaA6di7eG3FJFmtl59R+CH4JuplP/s0ymTi0qo+ivY+xobT4cL74AKi381ZQKlZQpUQxOS6ZW2Hv0U26yb/wX+ZYxZIiLPA18ZY3yW19PplSqU0p5NZfYLe7neJU3T7W7Y0bZ+nq/TJlV9qbfplR48BCwRkSeBjcD8MDxDKTdXvHwFeXvyGL4VCpY6z987GP7Wr/7aobNpVEMUkkBvjFkDrLH9/C1Qj3MYVFPlWtbg9GNgnnG+lt8O+mZb0zShkpqc6nPhlc6mUQ2V1rpRjYbrAGvr+NYcKztGWUUZ//onDN/uvO7cu2F7iNM0KfEpzMicUaMGjT3Xr3l51ZBpoFeNgn13p/KqcgCKSou4YSssc0nTTBoMz4UhTWPvqduDuP3DRqdKqsZCa92oRqHNn9tQVFoEQLtj8KNLmuar06BPNpSHuNsiiAZz1aBFcjBWKb+4pmJqC6hFpUVg4I2l8FuXghvnTYBtp4WnfVXTq8JzY6XqmQZ6FRH2ue72fHeNuvC4fxBcvw3e/Kfz/fddBbP7h699qcmp4bu5UvVMA72qN66BO0ZiahQJKykvYVreNLJ6ZDk+CJJ+LqHqL85rtrSFjPGhT9O48rXJR12+hSjVUGigV/Wieg/eWyXIwqOFxDweQwzCa0uruHGr87XzJ8DWWtI0cTFxVJgKqkzd0i4WsVBlqnwGb3++hSjVEGmgVwHxp2dbWw/em2u3G95a4pwkcP+V8Oyv/WtXi1NaOAZt6yK7dzZzr/a5gJtpedPcplaC+7cQpRoqDfSqzvzNr/vTg3d1WjH85JKm2doG0u+sW5rmcOnhgDYIWbFzRa3XeNvAxNt5pRoK3TNW1Zmvnq2vazyxiAUxsOR/3YN897vg/Il1z8V3Su4U0AYh9pRR2uw0cjfner13Xc4r1VBooFd15k/P1p9ebpwljpu/TaDqcbjpa+u5Kb+x7vT0dbu6t8s+iBrojBmDcXw78RTsZ2TOICE2weMzlWrINNCrOvOnZ1tbL7fdceHko2W8uvgYANtT4JRH4JkBdW+PIKTEpxDfLJ7Ry0ZTXFaMRQIvclP924ldVo8scq7NITU5FUFITU4l59oczc+rBk8Dvaozf3q2nq4BwMBrb8CPs5yDrT3ugnPvgbIAR4xeGf4KpRWlFJUWYTAUlRYFvb+rt28kWT2yKJhcQNX0KgomF2iQV42CBnpVZ/70bKtfYxEL1+wA8ziM3GK95sErrGmaLQGkaexS4lPqNh5ga++rw1/FTDde0zyad1fRRGvdNDHhWvDj874HDkA7ZzTfkQIX3BV4D94uzhLHgmELGL1stF+7RQlSo6xB9dlBYP12oikZ1Rj4W+tGe/RNiD2oFR4trHXgsa73Hbt8rNt9xy4fS+5Xr0JWlluQv+BO6BZEmsbOIhbG9RpHVo8sv3vfnq7TvLtqCrRH34SkzU7zuHFGanIqBZMLAr6va2VJu6HfwLuvOY/fvLUfw9M+C/gZnth73kCNXrm3azWAq2iiPXpVQygX/ORuziVtdhoxj8e4Bfk2x8E85hLkzz4bSku5r+f+AFrsm+uq1Oq98rv63KW9dKVsdGVsE9I6vrXH8gCt41vX+l6PuztVljkvMPDymzD6K+epnnfC1+33UPl0fCia75H9QyqrR5YGcqW80ECvalV9wLL6h8WQb2CFS5rm4UyYOdB2EOQ0x9ro7BilaqeBvgk5XHrY4/mi0iJiHo/xOgvH2/TFlONwaJbzeHcra4XJk7EhbbZXuipVKf9ojr4J8dX79TULp0YO38DiZe5BPn08nD0pvEG+WUwzUuJTNO+uVB1poG9ChnYZWus1npb/u35ADN5pXfR0iy0XP+1y66KnTe1D1057SYOYav96CsKcIXN0VapSdaSBPoq5zoxJm53G0q+X+vW+6lMwh3YZSoptNs1KW2f/25bQfBo8NSi0bU6MTaRqehVJcUlU4b64qbyq3GMNGqWUb5qjjxLVV6YO7TKUxZsWu9WM95dbQTBj+PWjLzJ3o/NUr/GQH8IevF0MMbxw7QuA1n5XKpS0Rx8FPK14fX79837Vf/HEURDsvfcgJoZRGysAeOQya5ommCAvtv95muv+8vCXHekYrf2uVOhojz4KeJoV40/tF2/alsaAiOO4MBm6TYQTIRhoNRjM9NrbNiNzhscaNDrLRqm60x59FKhLWsYnA/OXw4GnXXLjGzZw5v0xIQnygN914rUGjVKhoz16BcCVu+D9V11OPPEEPPooAJdtuYy8PXkheU5d6sTralelQkMDfSNUfeDVF/tG2d42zG5VAof/7Dz+Lln45IP53Nx3rOPc2sK1IWt7SnxKyO6llPKPBvpGpno5gtrSNvbgXiPIG3jxbbjdZTZN72xoNeByzjmwjlFP3OHzA8IbQeiU3Imfin/iROWJGq+frDzp972UUqERcI5eRH4lIh+JyDYR+VpEJtnOtxaRD0Rkp+3PVqFrbvSqPufdW414f3dT8uWK3dZFT/YgP/1S62yaL8+AvD15zFs/z/sHRC3si5k8BXmA4rLiIFqulApEMD36CuD3xpgvRaQFsEFEPgBuBfKMMTNFZCowFXgo+KZGL0+99Ox3slm4cSFrCtY4etbZvbODmkdePU2zrwWccw+UxgX7N1BKNWQB9+iNMfuNMV/afj4GbAM6AMOAxbbLFgPXB9vIaOepl15SXkLenjy3nvW89fNIjEsM6BkvvO0e5PvcAb/6fWiDvGv+3VsuXnP0StW/kEyvFJE0oBfwOdDOGLMfrB8GwGmheEY0q0svvbismITYBL+vz9xtLV2Q/aX1+LFLrGmaDR3q1sbaxFnimDNkjuN4zpA5xMa4z8mMjYl1u0YpVT+CDvQikgT8C5hsjPmlDu/LFpH1IrL+4MGDwTajUavras/q88sTY2v28luWWgP8h69Yj39IgoQ/wOOXhaDBLuxtWDBsgdtUyKweWSy8fqFbOxdev1CnSyoVAUHtGSsiscD/Ae8bY/5qO7cDuNQYs19E2gNrjDFdfd0nWveMrT4N0lOtd4AJ705g3vp5ft+3+spSeVzcjue9A3ducB73vQPWh7gH760tSqn64++esQEPxoqIAPOBbfYgb/M2MAaYafvzrUCf0Zh5G2C1c/0A8LS9nzdJcUk1ztmnQF7+LeS97Dz/xCCYfnngfwelVHQIZtbNAGA0sFlE8m3n/oA1wC8VkXHAXmBEcE1sOPztoYP3AdZJKydRWlEaUFVJgNEXjK5xrkVJJUVPO/NwPybCmZPCP5tGB1aVahwCDvTGmP8A4uXlzEDv21D56qF7CvbeBljr0nv3ZMXOFe4nJkzgZ5esz4W3w7qOQT2ihjhLHBWVFW714XVgVanGQ4ua+clbD93bRhit41uHpR17j+4ld3MuI+9uZ60wOc8a5Z8caJ1NE6og7zqIumDYAl4e/rIOrCrVSGkJBD81lI0w0mjJTemjyLJ1rg8kQOfJUBLCNE1qcioFkwtqnNfArlTj1Kh79P6WDQgFXxtheGrH4dLDIW/D8yub8e1jP9PMFuQvuh3aPRjaIK8135WKPo020HvaVSn7neywBfsZmTOIs7hH1DhLHEO7DPXYDm+pmxip2688NTmVy/ZY58SP/9y609NTF1vTNF/4SNPESEyNBUviZUjFIhat+a5UFGu0qRtfOfPaAtWEdyeQsyHHrYbM3Kvn1vrM6msOjDEs/Xqpx3bEN4snITahxg5JgnC8/HitzwI49QQUzPgBym0n2rTh3CnxbD/xXY1rU+JTSIpLcpsRBO7TOL3N8KkyVVRNr/L4mlKq8Wu0PfpAc+b2xUnVa8hMeHeCz/dNy5tGeVW527nyqnKvs2gOlx72uEOSv5Unn1sBR2cC5dZn3jDpdHJXz+ay7td4vP7G82+kYHKBo3qkfdMO13Opyake36v7sCoV3RptoK9t82hv+fucDTke3+ftvF1dB107JXeqEWizemTVGlQHFVjTNPd8YT3+f7Y0zfJWP5L9TjZLv17q8X01pl16MCNzRo06OZqTVyr6NdpA7yto5W7OZezysW5587HLx5K7OddrffXa6q57C9Ce6swADO0y1O92gzVNU/on+Pci63FRPCQ9DH+4wnlNSXmJ128Q/nwQ6T6sSjVNjTbQ+wpak1ZO8phmmbRyktfNqe3nvX0T8PbB4s3Sr5d6vFdWjyzG9BzjeJ5FLMyxpWma2z5r+o+DNg/B8VP8/334m37x9C1DKRXdgipqFiqhLmpWvciXq8zOmR43us7snMnYXmPdVr+CNZjbP0A8DeL6KkbmaTB2TM8xzN84n7LKMgYVOHvwAH/+NTx0pe+/W0p8ilsJheptVEo1Hf4WNWtygT41OdXj7BP7QKW312ZkzuC2t26jrLLMcT7OEud27I8YiSGxtIof/wIJ1tmS/NwcfnVfzR589f1a7QEd8LvmjlIqemmg9/YagqHm39k+x9zba63jW3vMj3u7nzd/fQ/u+8x5/Ovb4L8esi4xxDC+z3hW7FyhAV0p5VHYyxQ3BN6qSSbGJnqcq54Ym0ibhDYee+2dkjtxqOSQx/clxCZ4HQT1FuTjYuIoq3L29gcWwMeLnK/P+jU86CNNU0UVK3au8FiKQCml6qLRBnpf1SSbN2vuMWA3b9bcawpmRuYMbnnzFo/PKq0orXP77IPBLU7A/mcg0TY2fOQU+NX9UOzHQGt919FRSkWnRjvrxtfKWG+9b/v56nl1+3GV8bw6tMpU1bn2usHwzHvwy0xnkL94LLR62L8gD7qQSSkVGo020Htbzl94tNDnFMrx74z3+Nr4d8Z7rUMTIzFeN7v29J4BhdZFT/fbcvHP9LcuevrE88JUj3Qhk1IqVBptoPfF16Iob3Vmjpcfp5l4zmQ1k2ZeN7t2/RaQdBKOPgX/WWg9/iUOWjwMU66qvc0xEqMLmZRSYdFoc/S++JpC6WvrPtfBU0/n7fVjXI15cwyVppJZ78OU/zrPXzy2bj34KlOlA69KqbCIyh69r/IIvtIzgbiosBLzmDPI/7Wf7zSNt7SSt4JjSikVrKgM9L7KI1yWdpnH91yWdhlJcUkeX7Ofdy1pcP7MTpQnxfPJAus1xbFw6lT4/WDfbas0lVpYTClVr6IydQOe0ywA+T/me7w+/8d8TrGcQjHFNV47xXKK23TOP6+CBz511oS/8vZT+KDjScdxQmwC8c3iPc7+sa+y1ZWtSqn6ErWB3htfUy+97cB0uPQw0/Km0XN3CZ8ucJ6ffRHMvtkauL+pFrgBj3Vz7EFdA7tSqr40uUDvi7ddmLo178gnDxfS6oT1uKQZnD4FjjUHObrXZ+DWnrtSKtIabaBPiU/x2DuvbWGTr/fNyJxRoxf+TF4z7l/rTNMMuhXWpjnf52tRk/bclVINQaMdjPW2gGnOkDm1vs/TJt9zhsxxG8Tt/51t0dNaa4nJ7b+7ksQZCW5BXgdRlVKNQaMN9N4WMNXWg87qkcWCYQvc3rdg2ALH+7I6D6PgiV/4dL7tDaecAkeO0C33fd2dSSnVKEVlmeKAPfwwzJzpPP7oI7j00og1RymlfGkSZYpD5vPPoV8/5/Hdd8Pf/x659iilVAg17UB//DikpkKRbXA2Lg4OHIDk5Mi2SymlQqjR5uiDNm0aJCU5g/zq1XDypAZ5pVTUaXo9+uppmgkT4B//iFx7lFIqzJpOoD9+HDp3hoMHrccWCxw6BC1bRrZdSikVZmFJ3YjIYBHZISK7RGRqOJ5RJ48+ak3T2IN8Xh5UVGiQV0o1CSHv0YuIBfgH8BtgH7BORN42xmwN9bNq9cUXcNFFzuM774R58+q9GUopFUnhSN1cCOwyxnwLICJLgGFA/QX6khI480z46SfrsaZplFJNWDhSNx2A71yO99nOuRGRbBFZLyLrD9pTKqHwxz9CYqIzyH/4oaZplFJNWjgCvadavzWW3xpjcowxfYwxfdq2bRv8U9etAxH405+sx9nZYAxkZgZ/b6WUasTCkbrZB/zK5bgj8EMYnmNVUgJnnw379zvPHT4MrVqF7ZFKKdWYhKNHvw7oIiKdRSQOuBl4OwzPgaoqa5rGHuRXrbL24jXIK6WUQ8h79MaYChGZCLwPWIAFxpivQ/0cwJqqmTIFfvkFXnghLI9QSqnGLiwLpowxK4AV4bi3GxGYNSvsj1FKqcas6da6UUqpJkIDvVJKRTkN9EopFeU00CulVJTTQK+UUlFOA71SSkU5DfRKKRXlNNArpVSUE2Nq1Bur/0aIHAQKw3T7NsChMN07HLS94aXtDa/G1N7G1Fbw3N5UY0ytVSEbRKAPJxFZb4zpE+l2+EvbG17a3vBqTO1tTG2F4NqrqRullIpyGuiVUirKNYVAnxPpBtSRtje8tL3h1Zja25jaCkG0N+pz9Eop1dQ1hR69Uko1aVEb6EWkuYh8ISKbRORrEXk80m2qjYhYRGSjiPxfpNviDxEpEJHNIpIvIusj3R5fRKSliLwhIttFZJuI9I90m7wRka6236n9/7+IyORIt8sXEbnP9t/ZFhF5XUSaR7pNvojIJFtbv26Iv1sRWSAiB0Rki8u51iLygYjstP3p91Z6URvogZPA5caYnkA6MFhE+kW4TbWZBGyLdCPq6DJjTHojmKY2B3jPGNMN6EkD/j0bY3bYfqfpQG+gBHgzws3ySkQ6APcCfYwx3bHuLHdzZFvlnYh0B+4ALsT678I1ItIlsq2qYREwuNq5qUCeMaYLkGc79kvUBnpjVWw7jLX9v8EOSIhIR+Bq4KVItyXaiMipwCBgPoAxpswYcySyrfJbJrDbGBOuBYWh0gyIF5FmQALwQ4Tb48u5wGfGmBJjTAXwb+CGCLfJjTHmY+BwtdPDgMW2nxcD1/t7v6gN9OBIheQDB4APjDGfR7pNPswGHgSqIt2QOjDAKhHZICLZkW6MD2cCB4GFttTYSyKSGOlG+elm4PVIN8IXY8z3wF+AvcB+4KgxZlVkW+XTFmCQiKSISAIwFPhVhNvkj3bGmP0Atj9P8/eNUR3ojTGVtq+/HYELbV/ZGhwRuQY4YIzZEOm21NEAY0wGMAS4W0QGRbpBXjQDMoB5xphewHHq8LU3UkQkDrgO+N9It8UXW654GNAZOANIFJFRkW2Vd8aYbcDTwAfAe8AmoCKijQqzqA70drav6WuomfNqKAYA14lIAbAEuFxEXo1sk2pnjPnB9ucBrDnkCyPbIq/2AftcvtG9gTXwN3RDgC+NMT9FuiG1uALYY4w5aIwpB5YBv45wm3wyxsw3xmQYYwZhTZHsjHSb/PCTiLQHsP15wN83Rm2gF5G2ItLS9nM81n8Zt0e2VZ4ZYx42xnQ0xqRh/aq+2hjTYHtEACKSKCIt7D8DV2L9StzgGGN+BL4Tka62U5nA1gg2yV8jaeBpG5u9QD8RSRARwfr7bbCD3QAicprtz07AcBrH7/ltYIzt5zHAW/6+sVlYmtMwtAcWi4gF6wfaUmNMo5i22Ei0A960/ndNM+A1Y8x7kW2ST/cAubZ0yLfA2Ai3xydb7vg3wPhIt6U2xpjPReQN4EusKZCNNPxVp/8SkRSgHLjbGPNzpBvkSkReBy4F2ojIPmA6MBNYKiLjsH64jvD7froyVimlolvUpm6UUkpZaaBXSqkop4FeKaWinAZ6pZSKchrolVIqymmgV0qpKKeBXimlopwGeqWUinL/H4lgrIQmgKbOAAAAAElFTkSuQmCC\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl4FFXWwOHfSUggCRAgoCKYBBRBBIEACiK44AbuOqBMxIwiQRAHcMXBGXBhZHRU+JwBjSCgRBh1EBdQUZRxl0U2BRHQBKPIEhQJCWS73x/V3enudHU66XSWznmfxyep6urqK+LJzalzzxVjDEoppcJXRG0PQCmlVGhpoFdKqTCngV4ppcKcBnqllApzGuiVUirMaaBXSqkwp4FeKaXCXIWBXkSeF5F9IvK127lWIvKeiOxwfG3pOC8i8n8islNENotISigHr5RSqmKBzOgXAJd6nZsMrDLGdAJWOY4BhgCdHP+kA3OqZ5hKKaWqSgJZGSsiycBbxphujuPtwHnGmD0i0hZYbYzpLCLPOr5f7H2dv/u3bt3aJCcnB/UvopRSDc369esPGGPaVHRdoyre/3hn8HYE++Mc59sBP7pdl+M45zfQJycns27duioORSmlGiYRyQ7kuup+GCs+zvn8lUFE0kVknYis279/fzUPQymllFNVA/1eR8oGx9d9jvM5wElu17UHfvZ1A2NMhjGmjzGmT5s2Ff7moZRSqoqqGujfANIc36cBr7udv8lRfdMPOFRRfl4ppVRoVZijF5HFwHlAaxHJAaYCM4CXRWQUsBsY5rh8BTAU2AnkAzdXdWBFRUXk5ORw9OjRqt5C1VFNmjShffv2REVF1fZQlGoQKgz0xpgRNi8N9nGtAW4PdlAAOTk5NGvWjOTkZER8pf5VfWSMITc3l5ycHDp06FDbw1GqQaizK2OPHj1KQkKCBvkwIyIkJCTob2qqQcvckknyzGQiHowgeWYymVsyQ/p5VS2vrBEa5MOT/ndVDUHmlkymrJrC7kO7SYxPZPrg6QBMeHsCuQW5ruuyD2WT/mY6AKndU0Myljod6JVSqr5wD+ytYlpxuPAwhSWFgBXMb1x6o+1784vymbJqSsgCfZ1N3dQFkZGR9OzZk27dujFs2DDy8/OrfK/Vq1dz+eWXA/DGG28wY8YM22t/++03Zs+eXenPmDZtGv/85z/LfW7//v09zhUXF3P88cezZ499QZSveymlfMvckkn6m+lkH8rGYMgtyHUF+UDtPrQ7RKPTQO9XTEwMGzdu5OuvvyY6OppnnnnG43VjDKWlpZW+75VXXsnkyZNtX69qoPdl0KBB5OTkkJWV5Tr3/vvv061bN9q2bVstn6FUQzdl1RTyi6o+EQRIjE+sptGUp4E+QAMHDmTnzp1kZWVx2mmnMW7cOFJSUvjxxx9ZuXIl/fv3JyUlhWHDhpGXlwfAO++8Q5cuXTjnnHNYunSp614LFixg/PjxAOzdu5drrrmGHj160KNHDz777DMmT57Mrl276NmzJ/fccw8Ajz/+OH379uWMM85g6tSprntNnz6dzp07c+GFF7J9+/Zy446IiGDYsGH85z//cZ1bsmQJI0ZYxVTPPfccffv2pUePHlx33XU+f2s577zzXC0qDhw4gLMvUUlJCffcc49rXM8++ywAe/bsYdCgQa7fhj7++OMq/7krVR8EOxuPjYp15fBDoX7k6CdOhI0bq/eePXvCzJkBXVpcXMzbb7/NpZdaTTy3b9/O/PnzmT17NgcOHOCRRx7h/fffJy4ujn/84x88+eST3HvvvYwePZoPPviAU045heuvv97nvf/85z9z7rnn8tprr1FSUkJeXh4zZszg66+/ZqPj33nlypXs2LGDNWvWYIzhyiuv5KOPPiIuLo4lS5awYcMGiouLSUlJoXfv3uU+Y8SIEaSnp3Pfffdx7NgxVqxYwVNPPQXAtddey+jRowF44IEHmDdvHnfccUdAfy7z5s0jPj6etWvXcuzYMQYMGMDFF1/M0qVLueSSS5gyZQolJSVBpbyUqg8S4xPJPhRQ25lyEmISmDVkVsjy81BfAn0tKSgooGfPnoA1ox81ahQ///wzSUlJ9OvXD4AvvviCrVu3MmDAAAAKCwvp378/3377LR06dKBTp04A3HjjjWRkZJT7jA8++IAXXngBsJ4JxMfH8+uvv3pcs3LlSlauXEmvXr0AyMvLY8eOHRw+fJhrrrmG2NhYwEoJ+dK3b1/y8vLYvn0727Zto1+/frRs2RKAr7/+mgceeIDffvuNvLw8LrnkkoD/fFauXMnmzZt59dVXATh06BA7duygb9++3HLLLRQVFXH11Ve7/gyVCkeZWzI9qmjcNY1uSl5hHoJgvNp+1USAd6ofgT7AmXd1c+bovcXFxbm+N8Zw0UUXsXjxYo9rNm7cWG1lhMYY7r//fsaMGeNxfubMmQF/xg033MCSJUvYtm2bK20D8Kc//Ylly5bRo0cPFixYwOrVq8u9t1GjRq5nEe7178YYnn76aZ8/HD766COWL1/OyJEjueeee7jpppsCGqdS9YnzIaxdfj4hJoHD9x/2WWpZEwHeSXP0QerXrx+ffvopO3fuBCA/P5/vvvuOLl268MMPP7Br1y6Acj8InAYPHsycOdb+LCUlJfz+++80a9aMw4cPu6655JJLeP755125/59++ol9+/YxaNAgXnvtNQoKCjh8+DBvvvmm7ThHjBjBokWL+OCDDzxm/ocPH6Zt27YUFRWRmel70UZycjLr168HcM3eneOaM2cORUVFAHz33XccOXKE7OxsjjvuOEaPHs2oUaP46quv/P8hKlVPVfQQNvtQNvKgMGXVFKYPnk7p1FKyJmbVaJCH+jKjr8PatGnDggULGDFiBMeOHQPgkUce4dRTTyUjI4PLLruM1q1bc8455/D111+Xe/+sWbNIT09n3rx5REZGMmfOHPr378+AAQPo1q0bQ4YM4fHHH2fbtm2uMsmmTZuyaNEiUlJSuP766+nZsydJSUkMHDjQdpxdu3YlNjaW3r17e/xG8vDDD3PWWWeRlJRE9+7dPX7AON19990MHz6cF198kQsuuMB1/tZbbyUrK4uUlBSMMbRp04Zly5axevVqHn/8caKiomjatKkrNaVUuAk0L18Ti6L8CWiHqVDr06eP8d54ZNu2bZx22mm1NCIVavrfV4WDRg81osSUBHx9UnwSWROzqi2VIyLrjTF9Khxnpe+slFIKoFJBHqwyTO+8fk3M9jVHr5RSVZQUn1Sp6xPjE33m9Z0tEEJFA71SSgXIu+vk0E5DiY2KDfj9QzsNtV1cpS0QlFIqBCrTLti7n032oWwWblpIWo802/d4W7FjhW2rA22BoJRS1cxX4E5/M9022NulXDLWZ5AQkxDQZ+4+tJvpg6eX+y0g1C0QNNArpRqkyubK7VIrJabEdmWst8T4RFK7p5JxRQYdmybS9JiV58+4IiOkZZca6G3k5ubSs2dPevbsyQknnEC7du1cx4WFgbUfvfnmm302GrMzd+5c2rRpQ69evejUqROXXnopX3zxRYXvW7p0Kd9++23AnwNW47GhQ4fSo0cPunbtats+wengwYPluncqVZ9VNlcebGrFfdae+mY2u+7ezeFHIWvCDyGvrdfyShsJCQmu9gfTpk2jadOm3H333R7XGGMwxhAR4fvn5fz58yv9uampqcx0tHx4//33ueqqq/j444859dRTbd+zdOlSIiIi6NKlS8Cf88ADD3DZZZdx++3WFr+bN2/2e70z0N92220Bf4ZSdZldIzK7gD598HS/7Q78cfW1Ke0G7m1L7rrL8zhEwmZGX1N7MO7cuZNu3bpx2223kZKSwp49e0hPT6dPnz6cfvrpPPTQQ65rzznnHDZu3EhxcTEtWrRg8uTJ9OjRg/79+7Nv374KP+vCCy9k1KhRPPfccwA888wzrpbCw4YNo6CggI8//pgVK1YwadIkevbsSVZWls/rvO3Zs4f27du7js844wzX9zNmzODMM8/kjDPOcP37TJ48me3bt9OzZ0+/vfSVqi8qmyt3plwCJQhJ8UksunYRB/6cQ+rVf7O65jrt3w81tLlPWAT6yj5UCdbWrVsZNWoUGzZsoF27dsyYMYN169axadMm3nvvPbZu3VruPYcOHeLcc89l06ZN9O/fn+effz6gz0pJSXGlZYYNG8batWvZtGkTJ598MgsWLGDgwIEMHTqUp556io0bN5KcnOzzOm/jx48nLS2NCy64gL///e+u3aZWrFjB7t27+fLLL9m4cSOfffYZn332GTNmzKBz585s3LjR7+5YStUXqd1TSeuRRqREAhApkaT1SPObRkntnhrQg9ek+KSyvjbLf4SYGPj+e+vF5cvBGGjdulr+PQIRFoG+phcgnHzyyfTt29d1vHjxYlJSUkhJSWHbtm0+A31MTAxDhgwBoHfv3h47Pvnj3qJi8+bNDBw4kO7du7NkyRK++eYbn+8J5LqhQ4eya9cuRo0axdatW+nVqxe5ubmsXLmSt99+m169epGSksLOnTv57rvvAhqrUvVJ5pZMFm5a6FrdWmJKWLhpIeOWj/ObHZg1ZBbRkdG293X9VrB5s5WWuf9+64WRI6G0FIYODdm/k52wyNHX9AIE96ZgO3bsYNasWaxZs4YWLVpw4403erTydYqOLvuLERkZSXFxcUCftWHDBldPmJtuuom3336bbt26MXfuXNsHtYFel5CQQGpqKqmpqVx66aV88sknGGN44IEHGDVqlMe1zu6cSoULuwniM+uecfWO99WewPnVfSNwgIMFB0mMT+TRgdMYcc1UcHSuBaw0TQ3O4L2FxYy+NhYgODnbCjdv3pw9e/bw7rvvVtu9P/zwQ55//nlX0D1y5AgnnHACRUVFvPTSS67rvNsa213nbtWqVa7c/e+//84PP/xAYmIil1xyCfPmzePIkSMA5OTkcODAgXKfoVR9ZzcR9N4gxD074HwWOHLpSABevPZFDtx7gAP3HrBSNcfGMqLPzWVB/q23ajxN40tYzOh9PQ0P9QIEp5SUFLp27Uq3bt3o2LGja6epqsrMzGT16tXk5+fTsWNHli1bRufOnQF46KGHOPPMM0lMTKRbt26u3xxGjBjBmDFjeOKJJ1i2bJntde7Wrl3L+PHjiYqKorS0lLFjx9KrVy969erFt99+69pBq1mzZrz00kskJyfTp08funfvzmWXXaZ5elXvVWb7vwqbkXEGuBU0kJoKL75YIxU1gQibNsW1vYOLqhxtU6xqW0W7Q7mLi4rjaPHRct0qo4th27ON6LjfLRW7bx+0aVPdw/WpwbUpTu2eqoFdKRUw71x7YnwiB/IPcKToSLlrfZ275xN47H0AR5B/8024/PIQjrjqwibQK6VUZXlPECMerPixZbe9sGVO2fGylFiuXpdXZ9I0vtTph7F1Ia2kqp/+d1WhVtUFlP4KOKKLYdvTnkE++f4YjizIqNNBHupwoG/SpAm5ubkaFMKMMYbc3FyaNGlS20NRYShzSyatH2vNjUtvDGgBZSD95QXh7k/h2CPQxdG77MoboNGDkUwf8Vy9SBnX2YexRUVF5OTk+KwYUfVbkyZNaN++PVFRUbU9FBVGKnq46tyv1d/1sVGxpPVIY8WOFew+tJsL809g5WN7XK+/1A1Sr4PY6NiQd5wMRI08jBWRScCtgAG2ADcDbYElQCvgK2CkMSawdo9uoqKi6NChQzDDU0o1IL4WQLnzrpu3WzC1YscKssZut/rSuHWF7f1QezaU/kRSPazqq3KgF5F2wJ+BrsaYAhF5GbgBGAo8ZYxZIiLPAKOAOX5upZRSVeYsra6oJr5VTCuSZya7Kmzsrv/D29kwyS21+PrrcOWVrK/OQdewYKtuGgExIlIExAJ7gAuAPzpeXwhMQwO9UioEAq2Fj46M5vdjv7s2CMk+lI0gHqtgu+6Db2a7ven662Hx4jr/oDUQVQ70xpifROSfwG6gAFgJrAd+M8Y4Vw/kAO18vV9E0oF0gMTE0LcqUEqFn4rSNQBNo5vSOLJxuV2gnEE+qhg2PAun73d78Zdf4Pjjq3u4tabKVTci0hK4CugAnAjEAUN8XOrzaa8xJsMY08cY06dNDa0iU0rVH4GUSAbSuLCgqMB2q7+Jn0PhI2VB/n8zJ1q9acIoyENwqZsLgR+MMfsBRGQpcDbQQkQaOWb17YGfgx+mUqoh8dtXxu0haCD9arzbFgCctg+2uqVp3uoRy+Ub8jg3DNI0vgRTR78b6CcisSIiwGBgK/Ah8AfHNWnA68ENUSnV0AS6x4SvXaL8iSqGLf/2DPIn3AVXXlMQFrl4O1UO9MaYL4FXsUootzjulQHcB9wpIjuBBGBeNYxTKdWABLrHhHN7v6T4JMBa3GRngiNN082RprnmepBpsLdZzbQ0r01BVd0YY6YCU71Ofw+cGcx9lVINW2U27nbvV5O5JZO019I80jXeaZpXusLwYeD8mVBTLc1rkzY1U0rVOb72mAA4kH+A1o+1du3m5AzQ7h0o03uns3DTQooK8lmXAWfsK3v/CXdZM/hIiaTUlDaYluZ1tgWCUqphy9ySyYS3J9hWzIAVsCMkgqLSIte52KhY5mf3YnjGp65z1w6H17qWvV4X2hdUhwbXj14pFX5+O/qb39dLTIlHmqbLftj273zACvL/PQ3GpLUCEcTtt4BwCPKVoYFeKVUr/O0K5yyv9FUa6UujEliXAT32lp1rexf80gw4epDYqFhevPbFBhfgnepsm2KlVPhyBnK7VsKBrHh1uuMLKHq4LMhfN9yqpvmlWdk1vjb4rmyv+vpMZ/RKqRrnr04+tXtqQCteO++Hb/9ddry0C1x3PdhVWFa4wXcYz/Z1Rq+UqnEV1cn7q2tvVAJfPeMZ5E+8E667ARBIiEnw+b7E+MSAF2KFGw30SqkaZxfIneftVrze/qWVpun1i3X8h2FWmmZPc+s4UiKZNWRWufc6a+UDXYgVbjTQK6VqnK9A7r5wybniNVIiATj1AJhp8K+3rWuXdQaZCv893fO+JabEY7WsICTFJ7nKKSv6AROutI5eKVUr/FXdOEX/TfjiOUj5pezciXeWzeC9eW8X6OszfW0fWF/r6rWOXilVv82eTeHDZYfD/wCvdLO/PJBWBs5gXtEPmHCjM3qlVI1x3/bPe4cn58bc3376Oh88Wtbd/I1T4aoR+Kymcd4jKT6pQQRsbzqjV0rVKd5pE+O1J1Hh0XxuGT2HPnvKzrW7E372k6ZpiMG9KjTQK6VCwjsHn1eYZ7sI6ra1MGd52fH1f4CX/aRpIiXSby5eedJAr5SqNnapGbtdoDodgO/+VXb8Vie4cgSYCuoBA22NoCwa6JVS1aKi1Iy7yBL4bB6c6bbRqL80jTfnRiMqMBrolVJB87Xhhx3vNM0N18EX5yTxe0EuFOZV+P6GsFFIddNAr5QKSuaWTG55/ZYKg/wpubDj6bLjtzrB20/cxpIr5gAQ8WBg6zfra817bdJAr5QKyoS3J1BYUmj7emQJfPI89Pup7Fz7SfBTPMRueYGzk89xrVq1y+W70yBfedoCQSkVFH87QKWvg+KHy4L8iOus3jQ/xVvH7g3F7PrbuHO2RFCVozN6pVS1OzkXdrqlaVacApf/0Xc1jbOhmPuqVbuZfXrv9Gofa0OgM3qlVFDc2wJHlsDnz3kG+ZMmwWU32pdMujcUS+2eStbELMxUw9g+Y10z+EiJZGyfscy+bHZI/h3CnbZAUEoFJXNLJjcvu5k/rSki462y83+8Fhaf4f+99bmhWF2gLRCUUjUiNbYfqX8rch2/czIMTa140VNCTAKzhszSIF8DNNArpaqmuBgGDYLPP3edSpwIP7Yof2lcVBwFxQWUmlIiJZL03umahqlBmqNXSpVjt4G28/zoKwWiolxB/sZrrGoaX0EerFWypaYUsNoXLNy0sEFsyl1XaI5eKeXBbnOOtB5pfPTBfL5+8qjr/MqOcKmfB61gPUj1tZiqok1CVMU0R6+UqjS7VgZHj+WTOm4Os922VrVL07iLjYq17VgZ7vu01iWaulFKAWUzee8gf8tXUPIQDHDE5ZEVpGmcBHHt3epLuO/TWpfojF4pBVgLldxn3x0Owvf/V/b6+x3h4grSNO4MxlVR4ysVpI3Jao7O6JVqIOwesDo5UykRpfC/5z2DfKe7olj6f2OJaey/RYEvqd1TXTN7QUiKT9La+RoW1IxeRFoAc4FugAFuAbYD/wGSgSxguDHm16BGqZTyy3s3J+8t9rwfsGYfyib9TaudgPO6VjGtuOKzXOa/Xnbfm66GF3tCVAQMSBzAgMQBflsUuHNfMZvaPVUDey0KqupGRBYCHxtj5opINBAL/AU4aIyZISKTgZbGmPv83UerbpSqOl9VMt6bZtsFZ1flyw8/QMeOrvOrOsDFI6E0ovz1/u7nFBURxfyr52twD7FAq26qHOhFpDmwCeho3G4iItuB84wxe0SkLbDaGNPZ37000CtVdckzk/0GXX+VL5GlUPzhQPj447L7TYDslvafFx0Zzaheo1i4aaHfHy4a5EMv0EAfTI6+I7AfmC8iG0RkrojEAccbY/YAOL4eF8RnKKUqUFGZYn5Rvs/2vn/aAMUP4Qrytw+PQ6b5D/IAhSWFvPzNy+Xy7i9e+yJmqiFrYpYG+TommEDfCEgB5hhjegFHgMmBvllE0kVknYis279/fxDDUKphC6RMscSUuHq9J/0KZhplufjzz4fiYhb2CPwz/fWgV3VPMIE+B8gxxnzpOH4VK/DvdaRscHzd5+vNxpgMY0wfY0yfNm3aBDEMpRq2QDfseG7oM3z+YmOyZrm98MMP8MEHEBnJkaIjlfrc9DfTyT6UjcG4Hu5qW4O6qcqB3hjzC/CjiDjz74OBrcAbQJrjXBrwuo+3K6WqiXv5op0bvyrhj71uot+uYwDcPSKBzM2LIDnZVXZZWd55f/fdolTdEmzVTU+s8spo4HvgZqwfHi8DicBuYJgx5qC/++jDWKWqh/eD2aRf8ZjBr06CwWlWNY2zf433Q9VgCELp1NJquZeqWE08jMUYs9GRfjnDGHO1MeZXY0yuMWawMaaT46vfIK+UClxFi56caZyIUli1wDPId5gA599cVjKZX5RPxvqMCoN8hHiGiejIaI8aeXfa1qBu0pWxStUTznp5f3nx1O6pvGdGUvIQXJBlnbv1KkGmQZaPahpfXSW9tWzS0qO65vmrnmfWkFnlngtoW4O6S3vdKFVPePeigbK8eGr3VMjOhuRkzna8tuP0tnS5bg+lEcG1Ij9YcJAD9x6wHZPdalxVd2igV6qesKuX//HXbLjwQli1quzkrl2ctuhUSqthuwm7dIy2Nag/NHWjVD3hK+DeuMlqIewK8nPngjHQsWNAaZmKaDomPGigV6qecK+XP+k3a9HTi69Zr63p0JiXNrwAo0a5rve1GrYytMtk+NDUjVL1RGr3VCgtJWlYOufsKNvO7+Q/w/etjhG74jZMpDV3m7JqSlAzet3mL7xooFeqvli0iNSRN7kOR18Bc3uXvZxflM+EtydQUFwQdF380E5Dg3q/qls0daNULfFXE+/+2tlT24MIjBxpvXj22UT91TPIO+UW5FbL4qcVO1YEfQ9Vd+iMXqka5NwgJPtQtqutL3huBAJWH5mCY/m8nQmX7Pqp7AY7d8LJJ9OugtbEwdKNu8OLBnqlaoj3BiHOIO/k3ivm6vX5ZC4te230FfDeBUlknXwyYKVW5qybU+4z3H94BENXuIYXDfRK1RBfC568le7OZvdTZceftYdBN0NJJHAom+SZyUwfPN02tVIdQV5LKsOPBnqlaoi/dIiUwopMuHRX2blT7oBdXi1lnCme6mpC5k13hwpPGuiVqiGJ8Yk+8+o3bIHF/y07HnM5PNfHPgXj3DHKrnyyqukbQbSkMkxp1Y1SNcS7ZLHZUdjzeFmQ/7K90OivkNHHSsEIYnsv9x2jvFX0Xjualw9fGuiVqiGuvLqBP26G7f+CExybOp33lxPpd6uxcvE4LzO2q1udq1btNhvx915fNC8f3jTQK1UNKuoTD1aO/vS9sHoBZC6FH5tDn9EQMU34KHqPz/v6mrk7g3Jq91SyJmbZzt79zfrdaauD8KeBXik/AgnggfSJ5/ff+ff7jdn4DJy+zyqX7HcrrG8HrWJa2aZN3Gfuzn7w3kE5kPfacbY60CAf3oLaSrC66FaCqi6xW9QE1mzaO9B6b9/nlBSfRNaEH2DxYrjrLkr3/kJGCkwZDAfdJtoJMQnMGjKLm5fdTFFpket8VEQU86+eX2EQ9q7P9zXOQK5R9U+NbCWoVLhxn52D/0VNTnZlk82+y4bzz4fUVGjfnrNuhbFXeAZ5sNoWAIh4pmC8j+24bw5uN+sP5BoVvnRGr5Qbu9m5O+8NsL3f0+woTP0fTPgSGrVoBY8+CqNG0Wh6Y9uSSLtySe0iqfzRGb1SVRBIjxfvnLirT7yBEZvh23/BpC8gs09jWt96kOT8v5O5dYnftsF2r2nPGVUddMGUUm7sFjU5RUdGk1eYR8SDER77pMbvzKH1PVPpt+sYG9pHMixV+KztMQByHQ9nq7KQSWvbVXXQGb1Sbtx3cXJyli8mxCRgjCG3INdVXXPnq6PZmnYZlw9/gH6/xsGzz3LdpHZ81rbY4x75RfmVDvJa266qiwZ6pdz4emj54rUvYqYamkY3LauKMVbrgg1PFtDlxRVw882wfTukp5N1+Mcqf36kROrDUlXtNHWjlJfU7qk+A6wzX951H/xrBZyfBWtPhGtugD/fcS5TFvVh96HdREhElbbx03JHFSoa6JUK0GmN2/OnN39k4hdwONpqPjY3BVrGJXjUqFclyGvXSBVKGuiVqogxMHs2a5/KI3YfPJcC9w+G3Dhc+XxfbYP9dZgEDe6q5miOXil/Xn0VIiJg/HhiT0zinUXTmD4yiYNxZXn0gwUHfb611JTath/Q1gOqJumMXilf9uyBE08sOz7jDFizhkujoshiKgDjlo8j7bU022qaVjGtmD54Ore8fguFJYWu89GR0VpNo2qUzuiVcmcMXHONZ5DfuhU2bYKoKNepccvHMWfdnIDy8d6rz+vCanQfn8ApAAAWkElEQVTVsGigV8rpv/+10jTLllnHM2eSuXkRye8OKde98pl1z1R4u4MFB5myaopHozKAotKicv1ylAolTd0o5Z2m6d4d1q0jc/srHtU0zvbDENgm3InxibYtDLS1gapJQc/oRSRSRDaIyFuO4w4i8qWI7BCR/4hIdPDDVKr6jFs+jkYPNUKmCa91Fc8g/803sHkzREczZdWUctU0vrpX+uJc1WrXwkBbG6iaVB2pmwnANrfjfwBPGWM6Ab8Co6rhM5SqFs7c+pXflGAehGscf3NfGX22lZ/v2tV1rb/ZeNPopraf4b6q1VdLBW1toGpaUIFeRNoDlwFzHccCXAC86rhkIXB1MJ+hVHV6ffWzmGmw9GXreMtxEP0AjGj/Zblr7WbdBkNeYV658xESwaJrF3mUTWofeFUXBJujnwncCzRzHCcAvxljnB2dcoB2vt4oIulAOkBiov4aq0Irc/MiWo4cw0+by/rInz4Oth7nODAl5TpSTh88vdyuTP7YbcZt11JBqZpS5Y1HRORyYKgxZpyInAfcDdwMfG6MOcVxzUnACmNMd3/30o1HVCj9b+ZEzp00y3V858Xw1Nn210dFRNG8cXMOFhwkLjqOI4VHAu48qRuFqJoU6MYjwczoBwBXishQoAnQHGuG30JEGjlm9e2Bn4P4DKVcnHu57j6022PmbWvvXjjhBM51HH7TBnqNgaIK/tYXlRa5tvfzlaLxR6tpVF1U5Ry9MeZ+Y0x7Y0wycAPwgTEmFfgQ+IPjsjTg9aBHqRo8971cnb3g099Md9W1ezAGhg+HE05wnTp9HHS7veIgHyxnXj9zSybJM5PL1d8rVRtCsWDqPuBOEdmJlbOfF4LPUA1MwKWOy5ZZi55eecU6/uc/SX4qqSwX7yYpPomEmIRqG6OzmqZSP5SUqgHVEuiNMauNMZc7vv/eGHOmMeYUY8wwY8yx6vgM1bBVuPBo714QsdoXAHTpAkePwl131UiJo3s1TTD190qFgrZAUPVCq5hWvs83aQnXX++RpmHLFti2DRo3BvyXONp1nrQTFRFFQkyC6z6Lrl2EmWo8Sip1Nayqa7QFgqq3rvgW3lhyEHAUxT/2GNxzj89r7UocK9oM3F2g/ePt7qmrYVVt0Rm9qhfcZ95t8sBMgzeWOE507szidfNJjvq36+HnuOXjAnoY6iut40tl+sfralhV12igV/VCYnwiGHjpVdj3z7Lzl9zTlsxX/sqt797u8fBzzro5Hse3vH6LK9i7V8RMWTWFtB5prrROQkwCURFRHp9d2SCtq2FVXVPlBVPVSRdMqYqsfvouzvvzk67jey+Ef59vbaY9ZdWUgNIvCTEJzBoyq9xqV+9NuStdr69ULQl0wZTO6FXdtm8fiLiC/PYEaPwAPDkwkrQeaaR2Tw34IWduQa5WxKgGSR/GqrrJGLjxRnjpJdeps+5owpqEo47XS1i4aSEDEgdU6oFqRRUxzhp4Xz3odVav6iud0au65623rEVPziA/YwbJTyWVBXkH50w80AeqCTEJFfaH1xm/Ckc6o1d1x/79cFzZEtbfE4+n7/jG7Mi/H3PU97Ok3Yd2u2bazrx6q5hW/FrwK6WUdaqMiohi1hCrsZmvHL3zYavWwKtwpDN6VWNs+7840zRuQX75K9NpO+Yw3+Xv9ts50jkTT+2eStbELEqnlnLg3gO8cO0LHlUv86+e76ql91cRoztCqXCkVTeqRnjnvsGaSb8VP5bzxz9RduGjj8LkySTPTK4w7+5dLRPKcWp5pKqLtOpGhVQg3Rndr0l7Lc0jeLY+Akem5JcF+Y4doaAAJk8G/KdKnDPxtB5pTFk1pVo7RGoNvApHOqNXlRbIrNfXNQAYeOE1GLnZ7dyGDdCzp8dldjN65wpVnXkrFfiMXgO9qrSKgrDdNUO+gxVl1ZL85QJ46QrfOzL5CuTuOz9FSAQlpsTvGJQKdzWxw5RqoAKpTHH/PuEIHHi87LrvW0DX2+FYFIztNNTnvXxV0hwuPOza+clXkPc3NqUaMs3Rq0oLpDLF2ZtmwWueQb7nGDh5ohXkAVbsWGH7Oe6VNE2jm1JYUljlsSnVkGmgV5UWSHfG+dHDMQ9C2ibreMoFINNgU1vPewW7otXfGJRSFk3dqErzTqt4NP46cADatOF8x7U5LSM5dVwJBVG+7xUpkQF9pl2bg0iJpNSUavMxpfzQh7GqehgDt9wCCxaUnfvqK+jVCwB5UOzfOrXiv4NaZaNUeVpHr2rOu+9avWmcQf6hh6zA7wjyYFXD+BIpkQFtFqL17UpVnc7oVTm++rGDj1TNiZdC69au9/3UIpJOt5dwXOvyW+7Z1tX7oTN2pfzTOnpVJb4CcnRkNMYYikqLrBMGFr4ZyU1flZU4DhjXhM+OK+su6StIu/8AsauD96Z18UrZ00CvqqSiHjMX74R3F7mdePBBkps/X+ECKm8RD0b4bVbmJAilU0srvE6phkhz9KpK7IJ8y3xrQ25nkP+xOcROAf72tyq19g203j1CIqrUyyaQXjxKNRQa6JWHcuWOBp57HQ4+Vnaqdzok3gnHtbYesFaltW+gm4WUmBLXBt/pb6YHFLCd6Sf3zcEDfa9S4UgDvfLgnje/aCeYB+HWDdbxtHOtRU9fnei5OMluAdXQTkMrVUUzts9Y17Gv+vpAd3rSXaKU8qQLppSHhJgESnNzPWbwOc2g152xxLVog3gvkML3AqqhnYaycNNCv3uvOjcC8SXiQd9zkEBWyOouUUp50kCvPDz53zxuWlN23Gc0rG8HCTExfqtfvIN28sxk21l1IOWSdithA8ntB/NepcKRpm6U5b33QISb1hwD4EFHmmZ9O+vlgwUHK3W7YGfVgfTTCcV7lQpHGujriGCrRHy9P6B7/voriMDFFwOwt3kksX+Baed7XuY9G67o3sHuvRrMSlhdRauUJ62jrwOC7eMS0CInX/ccMwYyMsputGYNmU2+q9LuUVW5RikVnJDX0YvISSLyoYhsE5FvRGSC43wrEXlPRHY4vras6mc0FMFWifh6f2FJoUeQ97jnqlXWLN4Z5P/6V6s3Td++Ac2GAxmvzqqVqjuqPKMXkbZAW2PMVyLSDFgPXA38CThojJkhIpOBlsaY+/zdq6HP6O1WiQa6KjTQVaYtCiD3H2U/3fc3i2DV+89xw5m31Oh4lVLVI+QzemPMHmPMV47vDwPbgHbAVcBCx2ULsYK/8iPYfHYg181+C351C/Jn3grH3VXKqPfvqPTzgGDHq5SqWdXyMFZEkoFewJfA8caYPWD9MACOq47PCGfBVokMtdl3FeD8763WBWMdvzA9MtCqplnb3jrOL8on7bW0Sj0E1qoWpeqXoOvoRaQp8F9gojHmdxH7DSa83pcOpAMkJjbsmaDfHZsC4Gvf1fgCyH0MIh0Zln2x0GEi5EeXf79zNaxzUdOnuz9lxY4VtmMJdrxKqZoVVNWNiEQBbwHvGmOedJzbDpxnjNnjyOOvNsZ09nefhp6jryzvfvHei4P+tRxuX1t2fNatsKZ94PcXxCMHr9UyStVNNVF1I8A8YJszyDu8AaQ5vk8DXq/qZ6jyfDXsEqzfos77wUrTOIP8o+dYaZrKBHmg3INW7ROjVP0WTI5+ADASuEBENjr+GQrMAC4SkR3ARY7jsFYdLXHHLR9Ho4caIQ8KjR5qxLjl43xe56u0sXmBofAh+NDxCHxfLMT9BVaNHuxR3pgQk1DpcTlpnxil6q8q5+iNMZ8Adgn5wVW9b33jvTDIV/OuioxbPo456+a4jktMiet49mWzPa71DrhPL4fxbmmafqPgy5Os73ce3OnRn+bCFy5k1Q+r/I7FO23jpBU1StVf2gIhSNXREvfZ9c8GfN4ZcM91pGnGe6VpnEEeyv9QWJ212nYMzln/bX1u04oapcKMdq8Mkr/mXb422fY1yy81vhcZ+Tr/2JlTuHpQOtGOtvEHYqxqmrzG5d/vPQv3t0er+0KnAYkDtKJGqTCigT5Idi1xW8W0CjqlA1a7X2fAfWdtZ4a/tNL12tmj4OduSYzsNJS5X831aHkQFRFVbhYeKZE+g733Jh/++sQrpeofTd0EyW7xEBBwSicuKs72/tmHshmYZcialE0XZ5C/7z4whs/mGrImZjEgcQDe6xd8rWdI753u8zPsziulwoMG+iCldk8lrUeaa1YcKZGk9Uiz7d/uK9Xz7BXPEuHjP0Xzo1DwMPxvgXV8sAl0nXESzPAsZJqyagqFJYUe5wpLCsv9UJl92WzG9hnrMdaxfcaWe+CrlAov2qY4SHbteCMkgrzCvHLXJ8QkMGvIrHI5cPBcaTppSTYTvix739m3wOeJvhuHaZMxpRqmkC+YUha7qpsjhUd8Xn+0+Gi5BU/O3H3WxCxKz/uQrEllQf6xs61qms8dz1VbxbQqd09tMqaU8kcDfSX4Whjl60EslF9d6nSk6IjPHwyPLr8fYmPhvPMAONREaHY/3HdxxePSJmNKKX+06iZAmVsyuWnpTZRipUKyD2Vz09KbiJAI2/LIQD35Dkz64seyE598Qsv3B/r8UeEr969NxpRS/migD9CYN8e4grxTKaUEsN+HB/cfDOdkw8fz3V68+254/HEAEtf6Ltu0S8doSaRSyk7Ypm6qo/+MuyNFvnPulVVqSjm+JIa86WVB/rcmMOnlUSS3e8U13qGdhmo6RilVLcIy0Pvq8Jj+ZnrQwd5OdGR0uWO7BmLPfdiMXx4uIM6xtukPdxzPX14dS8aOxR7jXbhpIWk90nTPVaVU0MIydeOv/0xVA6VdLl4QvEtUjTEMP304CzctdI1jQDZ8Mh/gsHXRnXfCE0/wKtbqV1/jXbFjhUdTMqWUqop6PaO3S8/46z9TVWN6j/F5PjYq1qP1AEBRaRErdqwg44oMujY+id//7gzyQNOmcOgQPPFEhePS1sBKqepQbwO9v/RMKOrKZ182m8EdPLsvD+4w2DZ3n30om9QFX/HN/T/SzLlo9aOP4PBhaN48oHFpHbxSqjrU20DvLz0TTF253W8JmVsy+Tznc49rP8/53LW7k7uzd1sthHnSsfHWpElgDAwc6PMztQ5eKRVK9TZH7y/dUdW6cn+biNj9YHHX9Bj89AQ0d87g4+Lg55/LzeC9aR28UiqU6m2vm+SZyT7rzJPik6r8ANPfPXcf2m272hXgsZVwz2dlx8PHH8/LT/9SpXEopVQgwr7XTSjSHf5+S/DVYwbgwj0xmGllQX7mWRA3PZar0p/web1SStW0epu6CUW6w24TkcT4xHKdKOOOQc6T0OJYAQAFUcIJdxlaHp9EhqZdlFJ1SL1N3YSCXcvhjCsyGLl0pCt1M+M9uO9Ttzf+738waFANj1Yp1dCFfeomFFK7p5JxRYbP1aiJ8Yn0+9GqpnEG+VlnQfJTSRrklVJ1Wr1N3YSKz+ZgeXlsn3qAxr9bhwWN4IS7obhZLBlaAqmUquN0Rl+RyZOhWTMa/24tjLr+9uOJe0CsXLz2nlFK1QM6o7fzxRfQv3/Z8fjx8PTT/Af4T60NSimlKk8DvbcjRyApCXJzrePoaNi3D+Lja3dcSilVRZq6cXf//VbTMWeQ/+ADOHZMg7xSql7TGT3Al19Cv35lx7ffDv/6V+2NRymlqlHDDvTeaZqoKCtN06JF7Y5LKaWqUcNN3UyZ4pmmWbUKCgs1yCulwk7Dm9GvWQNnnVV2PHYszJ5de+NRSqkQaziB/sgR6NAB9u+3jiMj4cABncErpcJeSFI3InKpiGwXkZ0iMjkUn1Epf/2rlaZxBvlVq6C4WIO8UqpBqPYZvYhEAv8GLgJygLUi8oYxZmt1f1aFvNM0t90Gc+bU+DCUUqo2hSJ1cyaw0xjzPYCILAGuAmou0OfnQ8eOsHevdSxiPXRt2bLGhqCUUnVFKFI37YAf3Y5zHOc8iEi6iKwTkXX7nSmV6vC3v1lb+DmD/PvvQ2mpBnmlVIMVikBffrdsyu/BZ4zJMMb0Mcb0adOmTfCfunatNXN/+GHrOD3d2pB78ODg762UUvVYKFI3OcBJbsftgZ9D8DmW/Hw45RTYs6fs3MGDOoNXSimHUMzo1wKdRKSDiEQDNwBvhOBzrMqZuLiyIL9ypTWL1yCvlFIu1R7ojTHFwHjgXWAb8LIx5pvq/hzAqoWPiYHRo60Af9FFIfkYpZSqz0KyYMoYswJYEYp7exCxUjdKKaVsNdxeN0op1UBooFdKqTCngV4ppcKcBnqllApzGuiVUirMaaBXSqkwp4FeKaXCnAZ6pZQKc2JMuX5jNT8Ikf1Adohu3xo4EKJ7h4KON7R0vKFVn8Zbn8YKvsebZIypsCtknQj0oSQi64wxfWp7HIHS8YaWjje06tN469NYIbjxaupGKaXCnAZ6pZQKcw0h0GfU9gAqSccbWjre0KpP461PY4Ugxhv2OXqllGroGsKMXimlGrSwDfQi0kRE1ojIJhH5RkQerO0xVUREIkVkg4i8VdtjCYSIZInIFhHZKCLrans8/ohICxF5VUS+FZFtItK/tsdkR0Q6O/5Mnf/8LiITa3tc/ojIJMf/Z1+LyGIRaVLbY/JHRCY4xvpNXfyzFZHnRWSfiHztdq6ViLwnIjscXwPeSi9sAz1wDLjAGNMD6AlcKiL9anlMFZmAtStXfXK+MaZnPShTmwW8Y4zpAvSgDv85G2O2O/5MewK9gXzgtVoeli0RaQf8GehjjOkGRGJtIVoniUg3YDRwJtbfhctFpFPtjqqcBcClXucmA6uMMZ2AVY7jgIRtoDeWPMdhlOOfOvtAQkTaA5cBc2t7LOFGRJoDg4B5AMaYQmPMb7U7qoANBnYZY0K1oLC6NAJiRKQREAv8XMvj8ec04AtjTL5j69P/AdfU8pg8GGM+Ag56nb4KWOj4fiFwdaD3C9tAD65UyEZgH/CeMebL2h6THzOBe4HS2h5IJRhgpYisF5H02h6MHx2B/cB8R2psrojE1fagAnQDsLi2B+GPMeYn4J/AbmAPcMgYs7J2R+XX18AgEUkQkVhgKHBSLY8pEMcbY/YAOL4eF+gbwzrQG2NKHL/+tgfOdPzKVueIyOXAPmPM+toeSyUNMMakAEOA20VkUG0PyEYjIAWYY4zpBRyhEr/21hYRiQauBF6p7bH448gVXwV0AE4E4kTkxtodlT1jzDbgH8B7wDvAJqC4VgcVYmEd6J0cv6avpnzOq64YAFwpIlnAEuACEVlUu0OqmDHmZ8fXfVg55DNrd0S2coAct9/oXsUK/HXdEOArY8ze2h5IBS4EfjDG7DfGFAFLgbNreUx+GWPmGWNSjDGDsFIkO2p7TAHYKyJtARxf9wX6xrAN9CLSRkRaOL6PwfrL+G3tjso3Y8z9xpj2xphkrF/VPzDG1NkZEYCIxIlIM+f3wMVYvxLXOcaYX4AfRaSz49RgYGstDilQI6jjaRuH3UA/EYkVEcH6862zD7sBROQ4x9dE4Frqx5/zG0Ca4/s04PVA39goJMOpG9oCC0UkEusH2svGmHpRtlhPHA+8Zv1/TSPgJWPMO7U7JL/uADId6ZDvgZtreTx+OXLHFwFjanssFTHGfCkirwJfYaVANlD3V53+V0QSgCLgdmPMr7U9IHcishg4D2gtIjnAVGAG8LKIjML64Tos4PvpylillApvYZu6UUopZdFAr5RSYU4DvVJKhTkN9EopFeY00CulVJjTQK+UUmFOA71SSoU5DfRKKRXm/h9uJuDwRhirtgAAAABJRU5ErkJggg==\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": "0.969521856502028\n0.9679993627726939\n"
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.5",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "640024b2d4f3008f00c4340902ff200a",
"data": {
"description": "PycharmProjects/machine-learning/Regression/SimpleLinearRegression/Linear Regression Exercise 1.ipynb",
"public": true
}
},
"_draft": {
"nbviewer_url": "https://gist.github.com/640024b2d4f3008f00c4340902ff200a"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment