nesticot commited on
Commit
ee9ce6f
·
verified ·
1 Parent(s): 574e204

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -1
app.py CHANGED
@@ -23,6 +23,9 @@ import inflect
23
  from matplotlib.pyplot import text
24
  import rolling_batter_functions as rbf
25
 
 
 
 
26
  def percentile(n):
27
  def percentile_(x):
28
  return np.nanpercentile(x, n)
@@ -154,9 +157,24 @@ codes_in = ['In play, out(s)',
154
  'Intent Ball',
155
  'Swinging Pitchout']
156
 
157
- exit_velo_df['in_zone'] = exit_velo_df['zone'] < 10
158
 
159
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
160
  exit_velo_df = exit_velo_df.drop_duplicates(subset=['play_id'])
161
 
162
  exit_velo_df_codes = exit_velo_df[exit_velo_df.play_description.isin(codes_in)].dropna(subset=['in_zone'])
 
23
  from matplotlib.pyplot import text
24
  import rolling_batter_functions as rbf
25
 
26
+ px_model = joblib.load('joblib_model/linear_reg_model_x.joblib')
27
+ pz_model = joblib.load('joblib_model/linear_reg_model_z.joblib')
28
+
29
  def percentile(n):
30
  def percentile_(x):
31
  return np.nanpercentile(x, n)
 
157
  'Intent Ball',
158
  'Swinging Pitchout']
159
 
 
160
 
161
 
162
+ # exit_velo_df['in_zone'] = exit_velo_df['zone'] < 10
163
+
164
+ df.loc[df['sz_top']==0,'sz_top'] = np.nan
165
+ df.loc[df['sz_bot']==0,'sz_bot'] = np.nan
166
+
167
+ if len(df.loc[(~df['x'].isnull())&(df['px'].isnull()),'px']) > 0:
168
+ df.loc[(~df['x'].isnull())&(df['px'].isnull()),'px'] = px_model.predict(df.loc[(~df['x'].isnull())&(df['px'].isnull())][['x']])
169
+ df.loc[(~df['y'].isnull())&(df['pz'].isnull()),'pz'] = px_model.predict(df.loc[(~df['y'].isnull())&(df['pz'].isnull())][['y']]) + 3.2
170
+
171
+
172
+ df['in_zone'] = [x < 10 if type(x) == int else np.nan for x in df['zone']]
173
+
174
+ df['in_zone_2'] = in_zone_model.predict(df[['x','y','sz_bot','sz_top']].fillna(0).values)
175
+ df['in_zone_3'] = df['in_zone_2'] < 10
176
+ df.loc[df['in_zone'].isna(),'in_zone'] = df.loc[df['in_zone'].isna(),'in_zone_3'].fillna(0)
177
+
178
  exit_velo_df = exit_velo_df.drop_duplicates(subset=['play_id'])
179
 
180
  exit_velo_df_codes = exit_velo_df[exit_velo_df.play_description.isin(codes_in)].dropna(subset=['in_zone'])