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
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 [ ]: