Skip to content

Instantly share code, notes, and snippets.

@girlvsdata
Last active December 5, 2017 06:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save girlvsdata/5c973777a294d203a8e1caba4879b53e to your computer and use it in GitHub Desktop.
Save girlvsdata/5c973777a294d203a8e1caba4879b53e to your computer and use it in GitHub Desktop.
Linear Regression - Predicting a new employee's 'Salary' from their 'Years of Experience'
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Linear Regression - Predicting a new employee's 'Salary' from their 'Years of Experience'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The Business Challenge:\n",
"We need to know which salary to assign to a person depending on how many years of experience they have in the business.\n",
"We have a prospective employee with 5 years of experience, and we need to know how much we should pay them.\n",
"\n",
"Based on the data we have about 30 employees; their Years of Experience and their Salary, can we predict an employee's Salary only given their Years of Experience?\n",
"\n",
"#### Import the libraries\n",
"Preprocessing"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"from sklearn.linear_model import LinearRegression\n",
"from sklearn import model_selection\n",
"from sklearn.model_selection import train_test_split"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Visualisation"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import seaborn as sns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Import the dataset\n",
"We are wanting to predict the Salary using the Years of Experience, so:\n",
"\n",
"Set the independent variable 'X' as \"Years of Experience\"\n",
"\n",
"Set the dependent variable 'y' as \"Salary\"\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"dataset = pd.read_csv('Salary_Data.csv')\n",
"X = dataset ['YearsExperience'].values.reshape(-1,1)\n",
"y = dataset ['Salary'].values.reshape(-1,1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's also get a summary of what X and y look like:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Xsize = 30 \n",
" Xshape = (30, 1) \n",
" \n",
" Xhead =\n",
" [[ 1.1]\n",
" [ 1.3]\n",
" [ 1.5]\n",
" [ 2. ]\n",
" [ 2.2]] \n",
" \n",
" ysize = 30 \n",
" yshape = (30, 1) \n",
" \n",
" yhead = \n",
" [[ 39343.]\n",
" [ 46205.]\n",
" [ 37731.]\n",
" [ 43525.]\n",
" [ 39891.]]\n"
]
}
],
"source": [
"print ( 'Xsize =',X.size,'\\n',\n",
" 'Xshape =',X.shape,'\\n','\\n',\n",
" \n",
" 'Xhead =\\n',X[0:5],'\\n','\\n',\n",
" \n",
" 'ysize =',y.size,'\\n',\n",
" 'yshape =',y.shape,'\\n','\\n',\n",
" \n",
" 'yhead = \\n',y[0:5]\n",
" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It looks like they've been assigned properly, and there is 30 rows of data.\n",
"\n",
"Now let's split the data into the Training set and Test set, Train size will be 20 rows, Test will be 10 (1/3 split)\n",
"\n",
"#### Train test split"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(X,y,test_size = 1/3, random_state = 0)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"20 , 20\n"
]
}
],
"source": [
"print(X_train.size,',', y_train.size)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 , 10\n"
]
}
],
"source": [
"print(X_test.size,',', y_test.size)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Fitting the Linear Regression model to the Training set"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"regressor = LinearRegression()\n",
"regressor.fit(X_train,y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Checking the model's R^2 Score"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.97491544077083525"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"regressor.score(X_test,y_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"That's a very high correlation there."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.93819000128942776"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"regressor.score(X_train,y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Also very high. I'm confident we are able to predict the Salary - Let's continue.\n",
"#### Making the predictions"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"y_pred_test = regressor.predict(X_test)\n",
"y_pred_train = regressor.predict(X_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Visualising the predictions"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Visualising the training set"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZsAAAEWCAYAAACwtjr+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3XmcXFWd9/HPN4khCQhhXxKSAIki\n8IhoQFQERkCCG4yPC9A+RIRhBmHUUVQkziAMIIwLuAIBHIJEIgMioEBkUVERpAMIRGSSQBLCYhJD\n2MISkt/zxzlNVe/V3VV1u7q+79erXn3vudu5N5369e/cc89VRGBmZlZLw4qugJmZDX0ONmZmVnMO\nNmZmVnMONmZmVnMONmZmVnMONmZmVnMONjYgkhZLOrDoejQiSc9L2rHoepST9HVJn6vRvqdLurHa\n6xZF0oclXV50PRqF/JyNSdoH+C9gV2Ad8BDwuYi4u4JtFwPHRsQtNa1klUi6FDgSeKWseFFE7F5M\njQYPSVsC9wGTgQ8DF+ZFw4ENgDVt60bERnWvYIEkTQYWRITKygT8BfhIRMwvrHINwplNk5O0MfAL\n4HvAZsA44DTg5Rofd0Qt99+L/4qIjco+dQ00BZ97Tz4J3BARL0bE7LbrAxwCPFF+zTpuOIjPqWYi\n/aU+B/inouvSCBxs7A0AEXFFRKzLXzS/ioj7ASTtJOk2SX+XtFLSbElju9qRpL0k/VHSaklPSvq+\npJFly0PSCZIWAAsk/UDStzrs4/qumnEkXSDpmx3KrpX0+Tz9ZUmPS3pO0sOSDujrhZD0cUmP5ACM\npEMkPZX/4m+r/2fyOislfUPSsLLtPyXpIUlPS5oraWJ3515WNjlPbyDpm5KWSvpbPt/Redn+kpZJ\n+oKk5fnaHl2279GSviVpiaRnJP2+bNu9Jd2R/03+LGn/Hi7BIcBv+3C9lkn6oqQHyFmPpK/m6/Oc\npPmSPlS2/rGSfpOnR+Tz/2dJC/M1+24/1x0u6bz8O/qIpH+V1G2TjaRTJD0h6VlJf227JpKG5WWL\n8r/vHEmb5s1uz+s8nz975vLfAO+v9Jo1tYjwp4k/wMbA34FZpC+bTTssnwwcRGpG2ZL0n+68suWL\ngQPz9NuAvYERwCRKzXFt6wZwMymDGg3sBTwBDMvLtyB9aW3dRT33BR6j1PS7KfAisB3wxrxsu7xs\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x216433aa90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X_train,y_train, color ='red')\n",
"plt.plot(X_train, y_pred_train, color ='blue',linewidth = 1)\n",
"plt.title('Salary vs Experience (Training set)')\n",
"plt.xlabel('Years of Experience')\n",
"plt.ylabel('Salary')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Visualising the test set"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZsAAAEWCAYAAACwtjr+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3Xm8lWW9///XG1CE1FDBjoCABc5D\n6XaozEPO2jkOfbM0LCo62KBmkzl8y1+e1PyaOaSlJH7F3Ac19YjHr6YeNYccEidESUEDZDiCCYqC\nIuzP74/r2q61N3sC9tr3Wnu/n4/Heuz7vu7ps25lfdbnvq913YoIzMzMKqlX0QGYmVn352RjZmYV\n52RjZmYV52RjZmYV52RjZmYV52RjZmYV52RjXUrSbEkHFh1HLZL0tqSPFh1HOUnnSTql6Dg6g6T+\nkl6UtFnRsXRHTja21iTtK+kRSW9KekPSXyTtWXRclSDpGkkr8wd94+vZImKJiI0j4pUijt0SSYOA\nrwJXShpTdn5WSGooP2frcYztJa3qvKib7PsxScc3zkfEcqAe+FEljtfTOdnYWpG0KXA78Btgc2AI\n8HPgvQoft08l99+O/5M/6Btfu3XlwQt+7235GnBHRKyIiPrG8wMcBiwoP2fFhrlW6oFxVXzOa5aT\nja2tbQEiYnJErM4fNHdHxDQASR+TdJ+kf0h6XVK9pAEt7UjSXpIelbRU0kJJl0nasGx5SPqupJnA\nTEmXS7qw2T7+q6XLOJKukPSrZm1TJP0gT/9E0nxJy/KlkwPW9kRI+pKkV3ICRtJhkv4nf+NvjP/k\nvM7rki6Q1Kts+29ImiFpiaS7JA1v7b2XtY3M030l/UrSXEmv5ffbLy8bLWmepB9KWpTP7dfL9t1P\n0oWS5uTq9OGybffJVetSSc9KGt3GKTgMeGAtztfW+b/B6/mcfKts2aclPS3prXwOz8uLHgR6l1VJ\nn2hhv61ti6TPSHo8v5+nJH06t18I7Alclfd7IUBEvAy8D+zR0fdlHRQRfvnV4RewKfAPYBLpw2az\nZstHAgcBfYFBpA+Li8uWzwYOzNN7APsAfYARwAzglLJ1A7iHVEH1A/YCFgC98vKBwHLgIy3EuR/w\nKqA8vxmwAhgMbJeXDc7LRgAfa+X9XgP8oo3zUZ/X2SLH9i/N4r8/xz8MeAn4Zl52FDAL2CG///8N\n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\nZmYV9/8DlwbjEH/ubOwAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x2164628908>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X_test,y_test, color ='red')\n",
"plt.plot(X_test, regressor.predict(X_test), color ='blue',linewidth = 1)\n",
"plt.title('Salary vs Experience (Test set)')\n",
"plt.xlabel('Years of Experience')\n",
"plt.ylabel('Salary')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Observations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see above, the blue line is our predictions and the red dots are the actual data points.\n",
"\n",
"In both the training and test sets, the data fits very well considering the Linear Regression assumptions.\n",
"\n",
"\n",
"This Linear Regression model assumes:\n",
"\n",
"- that the relationship is perfectly linear\n",
"\n",
"- that the data is normally distributed\n",
"\n",
"- that the data is homoscedastic (all random variables have the same finite variance)\n",
"\n",
"#### Prediction\n",
"Lastly, let's get the answer to our initial question:\n",
"How much should the new employee's salary (who has 5 years of experience) be?"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 73545.90445964]]\n"
]
}
],
"source": [
"print(regressor.predict(5))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Our model predicts the employee should be earning $73,545,90 a year."
]
}
],
"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.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment