diff --git a/.ipynb_checkpoints/basic-regression-checkpoint.ipynb b/.ipynb_checkpoints/basic-regression-checkpoint.ipynb
new file mode 100644
index 0000000..2fd6442
--- /dev/null
+++ b/.ipynb_checkpoints/basic-regression-checkpoint.ipynb
@@ -0,0 +1,6 @@
+{
+ "cells": [],
+ "metadata": {},
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/50_Startups.csv b/50_Startups.csv
new file mode 100644
index 0000000..55ce26e
--- /dev/null
+++ b/50_Startups.csv
@@ -0,0 +1 @@
+
Welcome To Zscaler Directory Authentication
\ No newline at end of file
diff --git a/Position_Salaries.csv b/Position_Salaries.csv
new file mode 100644
index 0000000..b4f4776
--- /dev/null
+++ b/Position_Salaries.csv
@@ -0,0 +1 @@
+Welcome To Zscaler Directory Authentication
\ No newline at end of file
diff --git a/Salary_Data.csv b/Salary_Data.csv
new file mode 100644
index 0000000..3dc1120
--- /dev/null
+++ b/Salary_Data.csv
@@ -0,0 +1 @@
+Welcome To Zscaler Directory Authentication
\ No newline at end of file
diff --git a/balance.txt b/balance.txt
new file mode 100644
index 0000000..2ba4c55
--- /dev/null
+++ b/balance.txt
@@ -0,0 +1 @@
+Welcome To Zscaler Directory Authentication
\ No newline at end of file
diff --git a/basic-regression.ipynb b/basic-regression.ipynb
new file mode 100644
index 0000000..d009d5a
--- /dev/null
+++ b/basic-regression.ipynb
@@ -0,0 +1,479 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "from sklearn.metrics import r2_score\n",
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import statsmodels.api as sm"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X = np.linspace(1, 20, 100)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([1. , 1.19191919, 1.38383838, 1.57575758, 1.76767677])"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X[:5]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# y = f(x) = 5x + 20\n",
+ "y = [np.random.normal(5,1)*n + 20 for n in X]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[26.621248367075914,\n",
+ " 25.13998936015423,\n",
+ " 25.969611911161454,\n",
+ " 27.616635303795668,\n",
+ " 30.58723548222437]"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y[:5]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAHktJREFUeJzt3X+QHPV55/H3g1jOS+J4JWux0QoiOYXl2CaHqA0mUeIDkbMwppCO8g9cuVhnU6XKFfGFXIxZxVXGf1wVa+sutnO5s0tnOMPF4Yd9WFDBDuYsclyogG+FBAKDggwEdiWjdWBxEvbMIp77Y3pgNOqe6Z7+3fN5Val2t6dn5kt7/My3n36+T5u7IyIizXVC2QMQEZF8KdCLiDScAr2ISMMp0IuINJwCvYhIwynQi4g0nAK9iEjDKdCLiDRc30BvZteb2REze6Rr+yfN7ICZPWpmX+jYvt3MDgaPbcpj0CIiEt+JMfb5OvCnwI3tDWZ2PrAZ+BV3/5mZnRJsfydwGfAuYBXwv8zs7e5+tNcbrFy50tesWTPQf4CIyLDas2fPT9x9vN9+fQO9u99rZmu6Nv9bYNrdfxbscyTYvhm4Odj+lJkdBM4B/qbXe6xZs4aZmZl+QxERkQ5m9ndx9hs0R/924DfN7AEz+99m9qvB9gng2Y79ZoNtIiJSkjipm6jnLQfOBX4VuNXM3gZYyL6hXdPMbBuwDeD0008fcBgiItLPoDP6WeA2b/kB8CqwMth+Wsd+q4FDYS/g7jvdfdLdJ8fH+6aYRERkQIMG+l3ARgAzeztwEvAT4A7gMjP7Z2a2FjgD+EEWAxURkcH0Td2Y2U3AecBKM5sFrgGuB64PSi5fBrZ6q7H9o2Z2K/BD4BXgin4VNyIiki+rwo1HJicnXVU3IlKmXXvn2HHXAQ4tLLJqbJSrNq1jy/pq15KY2R53n+y336AXY0VEGmPX3jm237afxaVWAmJuYZHtt+0HqHywj0MtEERk6O2468BrQb5tcekoO+46UNKIsqVALyJD79DCYqLtdaNALyJDb9XYaKLtdaNALyJD76pN6xgdWXbMttGRZVy1aV1JI8qWLsaKyNBrX3CtW9VNXAr0IiK0gn1TAns3pW5ERBpOgV5EpOEU6EVEGk6BXkSk4RToRUQaToFeRKThFOhFRBpOgV5EpOEU6EVEGk6BXkSk4RToRUQaToFeRKThFOhFRBpOgV5EpOH6Bnozu97MjpjZIyGPfcrM3MxWBn+bmf2JmR00s4fN7Ow8Bi0iUke79s6xYXo3a6fuZMP0bnbtnSvkfePM6L8OXNi90cxOA/4l8EzH5vcDZwT/tgFfST9EEZH627V3ju237WduYREH5hYW2X7b/kKCfd9A7+73As+HPPRF4NOAd2zbDNzoLfcDY2Z2aiYjFRGpqDgz9R13HWBx6egx2xaXjrLjrgO5j2+gO0yZ2SXAnLs/ZGadD00Az3b8PRtsOzzwCEVEKqw9U28H8fZMHTjmjlWHFhZDnx+1PUuJL8aa2cnAZ4DPhj0css1DtmFm28xsxsxm5ufnkw5DRKQS4s7UV42Nhj4/anuWBqm6+SVgLfCQmT0NrAYeNLO30prBn9ax72rgUNiLuPtOd59098nx8fEBhiEiUr64M/WrNq1jdGTZMdtGR5Zx1aZ1uY2tLXGgd/f97n6Ku69x9zW0gvvZ7v5j4A7gY0H1zbnAi+6utI2INFbcmfqW9RNce+mZTIyNYsDE2CjXXnpmITck75ujN7ObgPOAlWY2C1zj7tdF7P4d4CLgIPAS8PGMxikiUklXbVp3TI4eomfqW9ZPFBLYu/UN9O7+0T6Pr+n43YEr0g9LRKQe2oF7x10HOLSwyKqxUa7atK6UgB5loKobERF5XVkz9bjUAkFEpOEU6EVEGk6BXkSk4ZSjF5FC7No7V+kLlk2mQC8iuYvbJkDyodSNiOSuzIZeokAvIgUos6GXKNCLSAHKbOglCvQiUoAyG3qJLsaKSAHq0CagyRToRaQQVW8TULQiy00V6EVEClZ0ualy9CIiBSu63FSBXkSkYEWXmyrQi4gUrOhyUwV6EZGCFV1uqouxIiIFK7rcVIFeRKQERZabKnUjItJwmtGLiHRpWu98BXoRkQ5N7J3fN3VjZteb2REze6Rj2w4ze9zMHjazb5vZWMdj283soJkdMLNNeQ1cRCQPTeydHydH/3Xgwq5tdwPvdvdfAf4W2A5gZu8ELgPeFTznv5rZMkREaqKJvfP7pm7c/V4zW9O17Xsdf94PfDD4fTNws7v/DHjKzA4C5wB/k8loRUQyFJaLXzU2ylxIUK9z7/wsqm4+AXw3+H0CeLbjsdlg23HMbJuZzZjZzPz8fAbDEBGJr52Ln1tYxHk9F3/+O8Yb1zs/VaA3s88ArwDfaG8K2c3DnuvuO9190t0nx8fH0wxDRCSxqFz8PY/Pc+2lZzIxNooBE2OjXHvpmbW9EAspqm7MbCtwMXCBu7eD+SxwWsduq4FDgw9PRCQfvXLxTeudP1CgN7MLgauBf+HuL3U8dAfw52b2x8Aq4AzgB6lHKSKSsUFy8XWtr49TXnkTrYup68xs1swuB/4UeCNwt5ntM7OvArj7o8CtwA+BvwSucPejES8tIlKapI3FonL6u/bOFTDadOz1rEt5JicnfWZmpuxhiEgNpZllJ3nuhundoWcAE2Oj3De1MdV/w6DMbI+7T/bbTytjRaS20q5iTZKLr3N9vZqaiUhtDbKKddfeOTZM72bt1J1smN4dO/VS9M1CsqRALyK1lXSWnSbPXvTNQrKkQC8itZV0lp2mj82W9RO1ra9Xjl5EauuqTeuOydFD71l22jx7XevrNaMXkdpKOsuuc549Dc3oRaTWksyyk54BQH0XSXVSoBeRoZH0ptxNuQmJAr2IFK7MWXKSM4BeF28V6EVEItRplpz24m1V0j66GCsiharTrfrSXLytUm8cBXoRKVSdWgmkWSRVpS80BXoRKVSdShzTLJKq0heacvQiUqhBShzLNOgiqSrde1aBXkQKlbTEsW7aF2DnFhYxjr2XallfaAr0IkOq6iWOValYiRI2PuCYsxWH14L9RIn/DQr0IkOo6iWOdR3fG0ZOOO4CbDvIl3VzEtDFWJGhVKWKkDB1Hd8LLy2F7l92RZECvcgQqlJFSJi6ji9K2RVFCvQiQ6jqJY51Hd/Y6Eglb06iQC8yhKp+t6S6ju9zl7yrkjcn6Xsx1syuBy4Gjrj7u4NtK4BbgDXA08CH3f0FMzPgy8BFwEvAv3H3B/MZuogMquoljnUfX1XG2Wbu3nsHs/cC/wjc2BHovwA87+7TZjYFLHf3q83sIuCTtAL9e4Avu/t7+g1icnLSZ2ZmUv6niEgeql7mOMzMbI+7T/bbr2/qxt3vBZ7v2rwZuCH4/QZgS8f2G73lfmDMzE6NP2wRqZIqNeaSwQ2ao3+Lux8GCH6eEmyfAJ7t2G822CYiNTRImeOuvXNsmN7N2qk72TC9W18KFZD1gikL2RaaGzKzbcA2gNNPPz3jYYhIFpKWOVZ9odOwGnRG/1w7JRP8PBJsnwVO69hvNXAo7AXcfae7T7r75Pj4+IDDEJE8tGflUVfwosoLq77QaVgNGujvALYGv28Fbu/Y/jFrORd4sZ3iEZF66MzLh+lV5lj2QieljcLFKa+8CTgPWGlms8A1wDRwq5ldDjwDfCjY/Tu0Km4O0iqv/HgOYxaRHIXNytv6NeYqszWv0kbR+gZ6d/9oxEMXhOzrwBVpByUi5YmafRtENuaqQmveptzIOw/qXikix0g6K++eSZfVmrfstFGVqQWCiBwjafuBsJl0Z2veJEE+To49ap+oLyKHoc/Xa0YvUmNJV63G2T9p+4GsZtJxcuy99gm7RWHbsOfrFehFairpxcck+ye5T2pWF2Dj5Nh77dO+ftC+VtBtmPP1St2I1FTSmvW8atyz6jQZ58yg3z5b1k9w39TG0JWbvZ7fdJrRi9RU0pRJFimWXqmftI3P4pwZxD17KLPMs4oU6EVqKmkwSxv8+qV+0qZEwnLs3WcGcfZJst+wUOpGpGSDruZMmjJJm2LJu73BlvUTfW/aEWefJPsNi7796IugfvQyrLpnydAKvnGDUh5VN1HWTt0Z2vvGgKemPxDrNcrS1J76cfvRK3UjUqK0qzmTpkzSpFjqmvdWawSlbkRKVafVnGGpH6MVOKu8IEkdNRXoRUrV68Jp1XTmvYFjetpU+c5TdfoyzYsCvUiJel0grWLL3Xad+sTY6HH5+jxnyWmORZ2+TPOiQC9SoqjqEKDS92otcpac9r61WS3oqjNdjBUpWdgF0g3TuyvdcrfIC7NZXLBuv07Tqm7iUqAXqaCq55WLXJCUxbHIYkFXnSl1I1JBVc8rF7kgqerHog40oxepoDos4S9qllyHY1F1CvQiFaS88ut0LNJTCwSREqRZkt/U5fySnFogiJQsKiCnWZKv5fwyCM3oRXIQ1qxs5ATj599wIi+8tBT6nPY9VnvZML07tKwxznOleeLO6FNV3ZjZH5jZo2b2iJndZGZvMLO1ZvaAmT1hZreY2Ulp3kOkjsJqv5de9cggD/HKBatedinVNHCgN7MJ4N8Bk+7+bmAZcBnweeCL7n4G8AJweRYDFamTQQJvnHLBQUoNq9hKQYqVto7+RGDUzE4ETgYOAxuBbwWP3wBsSfkeIrWTtMY7brlg0uX8adsHSDMMHOjdfQ74j8AztAL8i8AeYMHdXwl2mwVCrxCZ2TYzmzGzmfn5+UGHIVJJYQE5SpLFRkkXKqlFr0CKqhszWw5sBtYCC8A3gfeH7Bp6tdfddwI7oXUxdtBxiJShX4ljd+33m0ZH+KeXX2Hp6Osf9bA7ScUpnUyyUEk5fYF05ZW/BTzl7vMAZnYb8OvAmJmdGMzqVwOH0g9TJBtZ1KDHLXHsDsj93juP0sm63hVKspUm0D8DnGtmJwOLwAXADHAP8EHgZmArcHvaQYpkIW4g7ReQB+2m2G8mnrZLYxi1DxBIl6N/gNZF1weB/cFr7QSuBv69mR0E3gxcl8E4RVKLk6+Oc/Eyr3RIHq9bZPMxqa5UK2Pd/Rrgmq7NTwLnpHldkTzECaRxZtV5pUPyet1hb9EralMsQyRODXqcL4O87ljUxDshqYa/GhToZWjECaRxvgzySoc0Lc2iGv7qUK8bGSpJK18AjFaN8IQ6RSaivjz5U/dKkRD98tWd9e9zC4uvBXmofqfIqrUvjntxuWrjbiKlbqTxkuaJt6yf4L6pjUyMjR632q+qq0qrmCaJkwar4ribSIFeGi1NIKnTqtIqtjqIc02kiuNuIqVupPLSnNqnWYQ0SLljWWmIKn4pxbkFYBXH3UQK9FJpadsCpAkkSVeVlnn3p6gvJad1UbSsvHe/ayJq0VAMpW6k0tKe2g/Sv72tTp0ie3XLrHLeu4lrB6pIM3qptLSn9ml7vVSlU2SSbplhM+R+6aqyUk5x0juSngK9VFraU/siA0leaYik3TLXTt0Z2hs86gun7BuOq0VD/pS6kUrL4tS+XS751PQHuG9qY25BJa80RNKUUNJ0lSpfmk8zehlIUaf6SWbkZS+8yevsIWlKKGm6SpUvzadAL4kVfaof59S+7PRDWx5piKQpoaRfOKp8aT6lbiSxKp7qV3FMWRkkJZQkXaXKl+bTjF4Sq+KpfhFjampliipfmk+BXhKr4ql+3mMqOzWUd2WKKl+aTakbSayKp/p5j6nJqSFpPs3oJbEqnurnPaYqpqtE4lKgl4FEnernncfu9fp5ph+qmK4SiUupG8lM3r3Fk7x+1vcqrWK6SiSuVIHezMbM7Ftm9riZPWZmv2ZmK8zsbjN7Ivi5PKvBSrXlnceO+/qDfOH0+2Jo2v1cZbikTd18GfhLd/+gmZ0EnAz8EfB9d582sylgCrg65ftIDWSZxw5L0cR9/aQ96JP2khGpm4Fn9Gb2C8B7gesA3P1ld18ANgM3BLvdAGxJO0iph7g9VvrNnqNm5GMnj8R6/aRfOKqokaZLk7p5GzAP/Hcz22tmXzOznwPe4u6HAYKfp2QwTqmBOHnsOGmVqMDrTqw8edKmXqqokaZLE+hPBM4GvuLu64F/opWmicXMtpnZjJnNzM/PpxiGVEWvPHZ7Fn/lLfv6zp6jAuyLi0ux8uRJL5ymuTmJSB2kydHPArPu/kDw97doBfrnzOxUdz9sZqcCR8Ke7O47gZ0Ak5OTYe2zpYbC8tjdOfAwncG9VyljnDx50pr6tDcnEam6gQO9u//YzJ41s3XufgC4APhh8G8rMB38vD2TkUpthaViunXOnrMIvEkunFZxAZhIltJW3XwS+EZQcfMk8HFa6aBbzexy4BngQynfQ2quX667O4iXEXhVUSNNlirQu/s+YDLkoQvSvK40S1QqBlp59rAgrsArkh2tjJXcRV0c/dJHzsr11n4i0qJeN5K7pufAy76FoUg/CvQSW5qA1tRUTNl96kXiUKCXWAYJaMMw003abkGkDAr0DZdVsM2rf0yZsjg2WlUrdaCLsQ2WZdvgpvWPyerYaFWt1IFm9A0WdxbePbM9/x3j3PP4/DEz3aQ33qj6TDerlItW1UodaEbfYHGCbdjM9s/uf+a4me757xhvVP+YrL6I1Kde6kAz+gaLMwuP055gceko9zw+z7WXntmY/jFZ3hqwqRVF0hwK9A0WJ9jGncEeWlhsVP+Yqn8RiWRJgb4helWQ9Aq2vdoTdGraTLfqX0QiWVKgb4B+pYy9glfYzLZbU2e6Vf4iEsmSLsZWSL9b7EVJU8oYdjHxX597ui4uijSIZvQVkWaBUVSefW5hkQ3Tu/umJDSzFWk2zegrImpWfuUt+/rO7nvlz9MskhKRZtCMviJ6Vb/0m933y7N3pnGqdvGx8yLym0ZHMIOFl5YqMz6RJlCgr4h+1S+9Vm12VpBEvUb7yyKP3jOD9ozpTlctLC4dN94sxicy7JS6qYiwm3N06zXr37J+gvumNjIRkcZZZpZL75k0PWP6LdaqUm8ckTpToK+IzuqXKHFq2aPu5nTUPXT/tL1n0lT8xHnvqvTGEakzpW5KEJXqaP/rTmlA/Fr2qIVAUWmdtL1n0vSMibNYq9/4hqHnvUhaCvQFi1NG2WvVZpzAFlUumceS/zQ9Y/pdRO43vjr0vBepAvOIU/oiTU5O+szMTNnDKMSG6d2hgXFibJT7pjb2fG7YTN8AD57fbzabx+w36uwj7iKrNFU3aY6lSBOY2R53n+y3X+oZvZktA2aAOXe/2MzWAjcDK4AHgd9x95fTvk9TpEl1hOXD21/TcWazgyyM6vflkLZnTJrFWlXveS9SFVmkbn4feAz4heDvzwNfdPebzeyrwOXAVzJ4n0ZIk+roF8Cyvldp3NRIWStrs2w1LNJkqapuzGw18AHga8HfBmwEvhXscgOwJc17VF3S/jRhVTHG6+0KBl0B25blbLbqtwOMqjBqYgM2kTTSlld+Cfg08Grw95uBBXd/Jfh7Fgid6pnZNjObMbOZ+fn5lMMoxyA15N1llO0cOzGeH6fWPsvZbNVTI7q7k0g8A6duzOxi4Ii77zGz89qbQ3YNvdrr7juBndC6GDvoOMqU5L6jYbnusJLHfvd0fdPoCG8YOYEXXlo65ksCsp/N1iE1ooZsIv2lmdFvAC4xs6dpXXzdSGuGP2Zm7S+Q1cChVCOssLgz3qiZf1QNea97ui4sLvH/ll7lSx85iy9+5KxcZ7NKjYg0w8AzenffDmwHCGb0n3L33zazbwIfpBX8twK3ZzDOSmnPsKNOQ1aNjR4zCz/B7LiVqYtLR1kWsr39/LZeZw33TW3MdTaruzCJNEMeC6auBm42s/8A7AWuy+E9ShNWN95pdGQZ579j/Jh9otoPHHVndGTZQPd0TZsnj1tTr9SISP1lEujd/a+Avwp+fxI4J4vXrZJ2YOy1ZH+iI/feq1lX2P5J7+maJk+uFaUiw0UtEGLoN4uH1lXo9mrMP7hlX9/XbM/cB7mna9o8eZKLyCJSfwr0XaKqY/rN0Dvz8lG5+2VmvOqeKNedR5686mWTIpItBfoOUSmNfkE+LC8fts+gVTFZ58nrUDYpItlRP/oOUSmNZRa2PKClXdZ4z+PzkUG+agt5VDYpMlw0o+8Qlbo46h66OKkzeEfl5Ttz91WhskmR4aJA36HXjTCc3i2B65YOUdmkyPAYqtRNvwZk/XrJtIN82EIlpUNEpKqGZkbfq3YcCO0lEyYqvaN0iIhU1dAE+qgLrZ+741F+9sqrrz22sLjE6Mgylp88Ehrse6VilA4RkSoamtRN1Ex8YXEp9AvAHaViRKQRGh/o23n5pH2QX1xcUq9zEWmERqdu4rQuiLJqbFSpGBFphFoH+n4dGOM2F+umFI2INEltA32cKppenSajhNXIi4jUWW0DfVQVzZW37DtuFWu3qBt+tGvkRUSapLYXY3t1WuwV5EdHlvHR95ymihoRGRq1ndH3alcQpTMtM/mLK7S4SUSGQm0DfdgNOXrpTsuookZEhkVtA31ny4F+M3ulZURkmNU2Rw+tYH/f1Ea+9JGzjsu5tzvIa6GTiAy72s7oO6mhmIhItIEDvZmdBtwIvBV4Fdjp7l82sxXALcAa4Gngw+7+Qvqh9qacu4hIuDSpm1eAP3T3XwbOBa4ws3cCU8D33f0M4PvB3yIiUpKBA727H3b3B4Pf/wF4DJgANgM3BLvdAGxJO0gRERlcJhdjzWwNsB54AHiLux+G1pcBcEoW7yEiIoNJHejN7OeB/wlc6e4/TfC8bWY2Y2Yz8/PzaYchIiIRUgV6MxuhFeS/4e63BZufM7NTg8dPBY6EPdfdd7r7pLtPjo+PpxmGiIj0YB7S3CvWE82MVg7+eXe/smP7DuDv3X3azKaAFe7+6T6vNQ/83UADKcZK4CdlD6IHjS8djS8djS+dNOP7RXfvO1NOE+h/A/g/wH5a5ZUAf0QrT38rcDrwDPAhd39+oDepCDObcffJsscRReNLR+NLR+NLp4jxDVxH7+5/zesLULtdMOjriohItmrdAkFERPpToI9nZ9kD6EPjS0fjS0fjSyf38Q2coxcRkXrQjF5EpOEU6Gk1aDOze8zsMTN71Mx+P2Sf88zsRTPbF/z7bMFjfNrM9gfvPRPyuJnZn5jZQTN72MzOLnBs6zqOyz4z+6mZXdm1T+HHz8yuN7MjZvZIx7YVZna3mT0R/Fwe8dytwT5PmNnWAse3w8weD/43/LaZjUU8t+fnIcfxfc7M5jr+d7wo4rkXmtmB4POYS7+riPHd0jG2p81sX8Rzcz1+UTGltM+fuw/9P+BU4Ozg9zcCfwu8s2uf84C/KHGMTwMrezx+EfBdWpVQ5wIPlDTOZcCPadX3lnr8gPcCZwOPdGz7AjAV/D4FfD7keSuAJ4Ofy4Pflxc0vvcBJwa/fz5sfHE+DzmO73PAp2J8Bn4EvA04CXio+/9PeY2v6/H/BHy2jOMXFVPK+vxpRk/PBm11shm40VvuB8baK5QLdgHwI3cvfQGcu98LdK/hiNN0bxNwt7s/760W23cDFxYxPnf/nru/Evx5P7A66/eNK+L4xXEOcNDdn3T3l4GbaR33TPUaX7Cg88PATVm/bxw9Ykopnz8F+i5dDdq6/ZqZPWRm3zWzdxU6MHDge2a2x8y2hTw+ATzb8fcs5XxZXUb0/7nKPH5tcZruVeVYfoLWWVqYfp+HPP1ekFq6PiL1UIXj95vAc+7+RMTjhR0/S970MfPjp0DfwXo3aHuQVjrinwP/GdhV8PA2uPvZwPtp9f5/b9fjYYvXCi2pMrOTgEuAb4Y8XPbxS6IKx/IztO758I2IXfp9HvLyFeCXgLOAw7TSI91KP37AR+k9my/k+PWJKZFPC9mW6vgp0AcsvEHba9z9p+7+j8Hv3wFGzGxlUeNz90PBzyPAt2mdHneaBU7r+Hs1cKiY0b3m/cCD7v5c9wNlH78OcZrulXosg4tvFwO/7UHStluMz0Mu3P05dz/q7q8C/y3ifcs+ficCl9K6012oIo5fREwp5fOnQM9r+bzrgMfc/Y8j9nlrsB9mdg6tY/f3BY3v58zsje3faV2we6RrtzuAjwXVN+cCL7ZPEQsUOYsq8/h1uQNoVzFsBW4P2ecu4H1mtjxITbwv2JY7M7sQuBq4xN1fitgnzuchr/F1Xvf5VxHv+3+BM8xsbXCWdxmt416U3wIed/fZsAeLOH49Yko5n7+8rjrX6R/wG7ROjR4G9gX/LgJ+F/jdYJ/fAx6lVUFwP/DrBY7vbcH7PhSM4TPB9s7xGfBfaFU77AcmCz6GJ9MK3G/q2Fbq8aP1pXMYWKI1S7oceDOtW1w+EfxcEew7CXyt47mfAA4G/z5e4PgO0srPtj+HXw32XQV8p9fnoaDx/Y/g8/UwraB1avf4gr8volVp8qMixxds/3r7c9exb6HHr0dMKeXzp5WxIiINp9SNiEjDKdCLiDScAr2ISMMp0IuINJwCvYhIwynQi4g0nAK9iEjDKdCLiDTc/wcvAd404aSaLAAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.scatter(X,y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X = sm.add_constant(X)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(100, 2)"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[1. , 1. ],\n",
+ " [1. , 1.19191919],\n",
+ " [1. , 1.38383838],\n",
+ " [1. , 1.57575758],\n",
+ " [1. , 1.76767677]])"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X[:5]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(67, 2)"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_train.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(33, 2)"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_test.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "OLS Regression Results \n",
+ "\n",
+ " Dep. Variable: y R-squared: 0.804 \n",
+ " \n",
+ "\n",
+ " Model: OLS Adj. R-squared: 0.801 \n",
+ " \n",
+ "\n",
+ " Method: Least Squares F-statistic: 266.2 \n",
+ " \n",
+ "\n",
+ " Date: Wed, 18 Jul 2018 Prob (F-statistic): 1.14e-24 \n",
+ " \n",
+ "\n",
+ " Time: 13:15:08 Log-Likelihood: -261.71 \n",
+ " \n",
+ "\n",
+ " No. Observations: 67 AIC: 527.4 \n",
+ " \n",
+ "\n",
+ " Df Residuals: 65 BIC: 531.8 \n",
+ " \n",
+ "\n",
+ " Df Model: 1 \n",
+ " \n",
+ "\n",
+ " Covariance Type: nonrobust \n",
+ " \n",
+ "
\n",
+ "\n",
+ "\n",
+ " coef std err t P>|t| [0.025 0.975] \n",
+ " \n",
+ "\n",
+ " const 23.4982 3.257 7.214 0.000 16.993 30.003 \n",
+ " \n",
+ "\n",
+ " x1 4.3932 0.269 16.316 0.000 3.855 4.931 \n",
+ " \n",
+ "
\n",
+ "\n",
+ "\n",
+ " Omnibus: 0.086 Durbin-Watson: 1.756 \n",
+ " \n",
+ "\n",
+ " Prob(Omnibus): 0.958 Jarque-Bera (JB): 0.015 \n",
+ " \n",
+ "\n",
+ " Skew: 0.026 Prob(JB): 0.992 \n",
+ " \n",
+ "\n",
+ " Kurtosis: 2.948 Cond. No. 26.6 \n",
+ " \n",
+ "
Warnings: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
+ ],
+ "text/plain": [
+ "\n",
+ "\"\"\"\n",
+ " OLS Regression Results \n",
+ "==============================================================================\n",
+ "Dep. Variable: y R-squared: 0.804\n",
+ "Model: OLS Adj. R-squared: 0.801\n",
+ "Method: Least Squares F-statistic: 266.2\n",
+ "Date: Wed, 18 Jul 2018 Prob (F-statistic): 1.14e-24\n",
+ "Time: 13:15:08 Log-Likelihood: -261.71\n",
+ "No. Observations: 67 AIC: 527.4\n",
+ "Df Residuals: 65 BIC: 531.8\n",
+ "Df Model: 1 \n",
+ "Covariance Type: nonrobust \n",
+ "==============================================================================\n",
+ " coef std err t P>|t| [0.025 0.975]\n",
+ "------------------------------------------------------------------------------\n",
+ "const 23.4982 3.257 7.214 0.000 16.993 30.003\n",
+ "x1 4.3932 0.269 16.316 0.000 3.855 4.931\n",
+ "==============================================================================\n",
+ "Omnibus: 0.086 Durbin-Watson: 1.756\n",
+ "Prob(Omnibus): 0.958 Jarque-Bera (JB): 0.015\n",
+ "Skew: 0.026 Prob(JB): 0.992\n",
+ "Kurtosis: 2.948 Cond. No. 26.6\n",
+ "==============================================================================\n",
+ "\n",
+ "Warnings:\n",
+ "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
+ "\"\"\""
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "model = sm.OLS(y_train, X_train)\n",
+ "results = model.fit()\n",
+ "results.summary()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([23.49822797, 4.393224 ])"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "results.params"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([97.87240401, 72.578084 , 86.91153201, 65.832932 , 64.98978799])"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#Predicted results\n",
+ "y_hat =results.predict(X_test)\n",
+ "y_hat[:5]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[74.54317734493611,\n",
+ " 63.00724166955317,\n",
+ " 85.36085343868754,\n",
+ " 59.446255183341584,\n",
+ " 75.93961676217643]"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# actual results\n",
+ "y_test[:5]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0.8557832917117888"
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "r2_score(y_test, y_hat)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Text(0.5,1,'actual vs predicted')"
+ ]
+ },
+ "execution_count": 35,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.scatter(X_test[:,1], y_test, label ='actual')\n",
+ "plt.scatter(X_test[:,1], y_hat, label ='predicted')\n",
+ "plt.legend()\n",
+ "plt.legend()\n",
+ "plt.title('actual vs predicted')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "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.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/cars_multivariate.txt b/cars_multivariate.txt
new file mode 100644
index 0000000..702faab
--- /dev/null
+++ b/cars_multivariate.txt
@@ -0,0 +1 @@
+Welcome To Zscaler Directory Authentication
\ No newline at end of file
diff --git a/main.py b/main.py
new file mode 100644
index 0000000..e69de29
diff --git a/tc_bmi.csv b/tc_bmi.csv
new file mode 100644
index 0000000..607fe0f
--- /dev/null
+++ b/tc_bmi.csv
@@ -0,0 +1 @@
+Welcome To Zscaler Directory Authentication
\ No newline at end of file