In [5]:
# Load the "autoreload" extension
%load_ext autoreload

# always reload modules marked with "%aimport"
%autoreload 1

import os
import sys

# add the 'src' directory as one where we can import modules
src_dir = os.path.join(os.getcwd(), os.pardir, 'src', 'data')
sys.path.append(src_dir)

# import my method from the source code
%aimport scrape_buda
from scrape_buda import BudaRating
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline


The autoreload extension is already loaded. To reload it, use:
  %reload_ext autoreload

In [2]:
buda = BudaRating()
prefix = 'data20160521'
buda.load_allteams(prefix)
buda.load_buda(prefix)
buda.observed_rating()
buda.allteams = buda.allteams.drop('Unnamed: 0', axis=1)
buda.predicted_rating()

In [3]:
#buda.scrape_buda()

In [3]:
plt.plot(buda.allteams['observed_ratings'], buda.allteams['predicted_rating'], '.')

In [4]:
buda.allteams

In [5]:
since2005 = buda.allteams['year'] > 2005

In [6]:
allteamspost2005 = buda.allteams[since2005]

In [7]:
sns.set_context('talk')
g = sns.FacetGrid(allteamspost2005, row="type", col='season', hue='divname', palette='Blues_r', margin_titles=True)
g.map(plt.scatter, "predicted_rating", "observed_ratings")
g.add_legend()

In [68]:
# downselect spring hat only
downselect = (buda.allteams['year'] > 2005) & (buda.allteams['season'] == 'Spring') & (buda.allteams['type'] == 'Hat')
budaselect = buda.allteams[downselect]

In [71]:
g = sns.FacetGrid(budaselect, row='divname', hue='year', palette='Blues', margin_titles=True)
g.map(sns.regplot, "predicted_rating", "observed_ratings", order=1)
g.add_legend()

In [88]:
# downselect spring hat only
downselect = (buda.allteams['year'] > 2005) & (buda.allteams['season'] == 'Spring') & (buda.allteams['type'] == 'Hat') & (buda.allteams['divname'] == 'JP Mixed (4/3)')
budaselect = buda.allteams[downselect]
g = sns.FacetGrid(budaselect, row='year', palette='Blues', margin_titles=True, size=8)
g.map(plt.scatter, "predicted_rating", "observed_ratings")
g.map(sns.regplot, "predicted_rating", "observed_ratings", order=1)
g.add_legend()

In [10]:
# downselect spring hat only
sns.set_context('talk')
downselect = (buda.allteams['year'] == 2016) & (buda.allteams['season'] == 'Spring') & (buda.allteams['type'] == 'Hat') & (buda.allteams['divname'] == 'JP Mixed (4/3)')
budaselect = buda.allteams[downselect]
# g = sns.jointplot('predicted_rating', 'plusminus', budaselect, size=8, kind='scatter')
plt.plot(budaselect['predicted_rating'], budaselect['plusminus'], '.')
plt.title('Spring Hat League 2016, JP Mixed (4/3)')
plt.xlabel('Predicted Rating')
plt.ylabel('Score Differential per Game')

myteam = 'R2Defense (20)'
ok = budaselect['teamname'] == myteam
plt.plot(budaselect.ix[ok, 'predicted_rating'], budaselect.ix[ok, 'plusminus'], 'o', mew=2, mec='salmon', mfc='None')
plt.savefig('SpringHat2016_validation.png')

In [8]:
buda.team_detail('40309').sort('club_rating')

In [7]:
buda.team_detail('40328').sort('club_rating')

In [14]:
buda.team_rating['40309']

In [ ]: