Skip to content

Instantly share code, notes, and snippets.

@bendominguez0111
Created April 18, 2020 16:52
Show Gist options
  • Save bendominguez0111/2cd04a721eee67071e4a25ea5378f52f to your computer and use it in GitHub Desktop.
Save bendominguez0111/2cd04a721eee67071e4a25ea5378f52f to your computer and use it in GitHub Desktop.
ml_post_one.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"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.7.4"
},
"colab": {
"name": "ml_post_one.ipynb",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/fantasydatapros/2cd04a721eee67071e4a25ea5378f52f/ml_post_one.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "UqI0wH4yH48v",
"colab_type": "code",
"colab": {}
},
"source": [
"import pandas as pd\n",
"from sklearn.model_selection import train_test_split \n",
"from sklearn.linear_model import LinearRegression\n",
"from matplotlib import pyplot as plt\n",
"import warnings\n",
"import numpy as np\n",
"\n",
"warnings.filterwarnings('ignore')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "kls58FVBH49B",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 313
},
"outputId": "13ac4efd-3e9c-4054-faa0-f652ca70b499"
},
"source": [
"#import our CSV file\n",
"df = pd.read_csv('2019.csv')\n",
"#drop unneccessary columns\n",
"df.drop(['Rk', '2PM', '2PP', 'DKPt', 'FDPt', 'VBD', 'PosRank', 'OvRank', 'PPR', 'Fmb', 'GS'], axis=1, inplace=True)\n",
"\n",
"#fix name formatting\n",
"df['Player'] = df['Player'].apply(lambda x: x.split('*')[0]).apply(lambda x: x.split('\\\\')[0])\n",
"\n",
"#rename columns\n",
"df.rename({\n",
" 'TD': 'PassingTD',\n",
" 'TD.1': 'RushingTD',\n",
" 'TD.2': 'ReceivingTD',\n",
" 'TD.3': 'TotalTD',\n",
" 'Yds': 'PassingYDs',\n",
" 'Yds.1': 'RushingYDs',\n",
" 'Yds.2': 'ReceivingYDs',\n",
" 'Att': 'PassingAtt',\n",
" 'Att.1': 'RushingAtt'\n",
"}, axis=1, inplace=True)\n",
"\n",
"#seperate dataframes based off position\n",
"rb_df = df[df['FantPos'] == 'RB']\n",
"qb_df = df[df['FantPos'] == 'QB']\n",
"wr_df = df[df['FantPos'] == 'WR']\n",
"te_df = df[df['FantPos'] == 'TE']\n",
"\n",
"rb_df.head()"
],
"execution_count": 28,
"outputs": [
{
"output_type": "execute_result",
"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>Player</th>\n",
" <th>Tm</th>\n",
" <th>FantPos</th>\n",
" <th>Age</th>\n",
" <th>G</th>\n",
" <th>Cmp</th>\n",
" <th>PassingAtt</th>\n",
" <th>PassingYDs</th>\n",
" <th>PassingTD</th>\n",
" <th>Int</th>\n",
" <th>RushingAtt</th>\n",
" <th>RushingYDs</th>\n",
" <th>Y/A</th>\n",
" <th>RushingTD</th>\n",
" <th>Tgt</th>\n",
" <th>Rec</th>\n",
" <th>ReceivingYDs</th>\n",
" <th>Y/R</th>\n",
" <th>ReceivingTD</th>\n",
" <th>FL</th>\n",
" <th>TotalTD</th>\n",
" <th>FantPt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Christian McCaffrey</td>\n",
" <td>CAR</td>\n",
" <td>RB</td>\n",
" <td>23</td>\n",
" <td>16</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>287</td>\n",
" <td>1387</td>\n",
" <td>4.83</td>\n",
" <td>15</td>\n",
" <td>142</td>\n",
" <td>116</td>\n",
" <td>1005</td>\n",
" <td>8.66</td>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" <td>19</td>\n",
" <td>355.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Derrick Henry</td>\n",
" <td>TEN</td>\n",
" <td>RB</td>\n",
" <td>25</td>\n",
" <td>15</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>303</td>\n",
" <td>1540</td>\n",
" <td>5.08</td>\n",
" <td>16</td>\n",
" <td>24</td>\n",
" <td>18</td>\n",
" <td>206</td>\n",
" <td>11.44</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>18</td>\n",
" <td>277.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Aaron Jones</td>\n",
" <td>GNB</td>\n",
" <td>RB</td>\n",
" <td>25</td>\n",
" <td>16</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>236</td>\n",
" <td>1084</td>\n",
" <td>4.59</td>\n",
" <td>16</td>\n",
" <td>68</td>\n",
" <td>49</td>\n",
" <td>474</td>\n",
" <td>9.67</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>19</td>\n",
" <td>266.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Ezekiel Elliott</td>\n",
" <td>DAL</td>\n",
" <td>RB</td>\n",
" <td>24</td>\n",
" <td>16</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>301</td>\n",
" <td>1357</td>\n",
" <td>4.51</td>\n",
" <td>12</td>\n",
" <td>71</td>\n",
" <td>54</td>\n",
" <td>420</td>\n",
" <td>7.78</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>14</td>\n",
" <td>258.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>Dalvin Cook</td>\n",
" <td>MIN</td>\n",
" <td>RB</td>\n",
" <td>24</td>\n",
" <td>14</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>250</td>\n",
" <td>1135</td>\n",
" <td>4.54</td>\n",
" <td>13</td>\n",
" <td>63</td>\n",
" <td>53</td>\n",
" <td>519</td>\n",
" <td>9.79</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>13</td>\n",
" <td>239.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Player Tm FantPos Age ... ReceivingTD FL TotalTD FantPt\n",
"0 Christian McCaffrey CAR RB 23 ... 4 0 19 355.0\n",
"2 Derrick Henry TEN RB 25 ... 2 3 18 277.0\n",
"3 Aaron Jones GNB RB 25 ... 3 2 19 266.0\n",
"4 Ezekiel Elliott DAL RB 24 ... 2 2 14 258.0\n",
"5 Dalvin Cook MIN RB 24 ... 0 2 13 239.0\n",
"\n",
"[5 rows x 22 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 28
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "L0dLUr7lH49P",
"colab_type": "code",
"colab": {}
},
"source": [
"rushing_columns = ['RushingAtt', 'RushingYDs', 'Y/A', 'RushingTD']\n",
"receiving_columns = ['Tgt', 'Rec', 'ReceivingYDs', 'Y/R', 'ReceivingTD']\n",
"\n",
"def transform_columns(df, new_column_list):\n",
" df = df[['Player','Tm', 'Age', 'G','FantPt'] + new_column_list + ['FL']]\n",
" return df\n",
"\n",
"rb_df = transform_columns(rb_df, rushing_columns+receiving_columns)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "B1ZSF_1SH49Z",
"colab_type": "code",
"colab": {}
},
"source": [
"rb_df['FantasyPoints'] = (rb_df['RushingYDs']*0.1 + rb_df['RushingTD']*6+ rb_df['ReceivingYDs']*0.1 + rb_df ['ReceivingTD']*6 - rb_df['FL']*2)\n",
"rb_df['Total Usage'] = (rb_df['RushingAtt'] + rb_df['Tgt'])\n",
"rb_df = rb_df[rb_df['RushingAtt'] > 20]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "EiQe9bLOH49i",
"colab_type": "code",
"colab": {}
},
"source": [
"x = rb_df['Total Usage'].values.reshape(-1, 1)\n",
"y = rb_df['FantasyPoints'].values.reshape(-1, 1)\n",
"x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)\n",
"regressor = LinearRegression() \n",
"regressor.fit(x_train, y_train) #training the algorithm\n",
"y_pred = regressor.predict(x_test)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "_g9JvUesH49r",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"outputId": "95259503-f0df-4c56-d956-ac045d7fa13d"
},
"source": [
"df = pd.DataFrame({'Actual': y_test.flatten(), 'Predicted': y_pred.flatten()})\n",
"df.head()"
],
"execution_count": 32,
"outputs": [
{
"output_type": "execute_result",
"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>Actual</th>\n",
" <th>Predicted</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>265.8</td>\n",
" <td>199.907703</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>111.1</td>\n",
" <td>95.167927</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>143.2</td>\n",
" <td>171.037124</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>165.3</td>\n",
" <td>173.051350</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>171.6</td>\n",
" <td>176.408394</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Actual Predicted\n",
"0 265.8 199.907703\n",
"1 111.1 95.167927\n",
"2 143.2 171.037124\n",
"3 165.3 173.051350\n",
"4 171.6 176.408394"
]
},
"metadata": {
"tags": []
},
"execution_count": 32
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "tlLXzvu_H49z",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 279
},
"outputId": "c300b1f2-831d-4340-8c79-e371d2632aac"
},
"source": [
"plt.scatter(x_test, y_test, color='gray')\n",
"plt.plot(x_test, y_pred, color='red', linewidth=2)\n",
"plt.xlabel('Usage')\n",
"plt.ylabel('Total FantasyPoints')\n",
"plt.show()"
],
"execution_count": 37,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "hAtBPkpMH494",
"colab_type": "code",
"colab": {}
},
"source": [
"#This is for part two of Machine Learning for Fantasy Football\n",
"def rmse(actual, predicted):\n",
" \"\"\"Calculates RMSE from actual and predicted values\"\"\"\n",
" return np.sqrt(np.mean((actual-predicted)**2))"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Sh-bjCg0H499",
"colab_type": "code",
"colab": {},
"outputId": "2400b06d-08c0-40a0-9181-91f0fdff8a35"
},
"source": [
"rmse(y_test,y_pred)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"26.049902859860683"
]
},
"metadata": {
"tags": []
},
"execution_count": 9
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Ex709xluH4-H",
"colab_type": "text"
},
"source": [
"Root mean square is the standard deviation of the residuals (error in our prediction). Essentially this means most of our predictions are within 26 fantasy points of the actual. If this doesnt make sense just think the lower this number the better. It is important to look at error when you make models so you can evaluate how well we are doing our prediction."
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment