def show_example(): batter_list = [ 'Mookie Betts', 'Cody Bellinger', 'Corey Seager', 'Manny Machado' ] pitcher_list = ['Chris Paddack', 'Clayton Kershaw'] candidate_batters = [ sing.get_players(name=player_name)[0] for player_name in batter_list ] candidate_pitchers = [ sing.get_players(name=player_name)[0] for player_name in pitcher_list ] venue = sing.get_venues(stadium_name="Dodger Stadium")[0] game_state = State(on_1b=False, on_2b=True, on_3b=False, inning=4, outs=0, top=True, bat_score=3, fld_score=5, pitch_number=50) atmosph = Atmosphere(venue, temperature=70, home_team=sing.get_teams(name="Dodgers")[0]) matchups = ([ Matchup(batter=m, pitcher=p, state=game_state, atmosphere=atmosph) for m in candidate_batters for p in candidate_pitchers ]) results = pd.DataFrame(sing.get_pa_sim(matchups)) print(f'\nResults') print(results.sort_values(by=["woba_exp"], ascending=False))
def show_example(): batter = sing.get_players(name="Aaron Judge")[0] pitching_team = "Rays" candidate_pitchers = sing.get_players(team_name=pitching_team, position=["P"], active=True, on_40=True) atmosph = Atmosphere(sing.get_venues(stadium_name="Yankee Stadium")[0], temperature=70, home_team=sing.get_teams(name="Yankees")[0]) state = State(inning=9, top=False, bat_score=3, fld_score=3, on_1b=True, on_2b=True, on_3b=True, outs=2) matchups = [ Matchup(batter=batter, pitcher=p, atmosphere=atmosph, state=state) for p in candidate_pitchers ] results = pd.DataFrame(sing.get_pa_sim(matchups)) print(f'\nBest pitcher to face Aaron Judge with the game on the line') pprint(results.sort_values(by=["obp_exp"]))
def get_predictions(args): batter_list = [ sing.get_players(name=b.strip())[0] for b in args.batters.split(',') ] pitcher_list = [ sing.get_players(name=p.strip())[0] for p in args.pitchers.split(',') ] state = State(inning=args.inning, on_1b=args.on1b, on_2b=args.on2b, on_3b=args.on3b, outs=args.outs, top=not (args.bottom), bat_score=args.batscore, fld_score=args.fieldscore, pitch_number=args.pitchnumber) venue = sing.get_venues(stadium_name=args.venue)[0] atmosphere = Atmosphere(venue=venue, home_team=sing.get_teams(name=args.hometeam)[0], temperature=args.temperature) matchups = [ Matchup(batter=m, pitcher=p, atmosphere=atmosphere, state=state, date=args.date) for m in batter_list for p in pitcher_list ] results = pd.DataFrame( sing.get_pa_sim(matchups, return_features=args.showinputs, model_name=args.predictiontype)) return results
def show_example(): batter_list = ['Mookie Betts'] pitcher_list = ['Chris Paddack'] candidate_batters = [ sing.get_players(name=player_name)[0] for player_name in batter_list ] candidate_pitchers = [ sing.get_players(name=player_name)[0] for player_name in pitcher_list ] venue = sing.get_venues(stadium_name="Dodger Stadium")[0] atmosph = Atmosphere(venue, temperature=70, home_team=sing.get_teams(name="Dodgers")[0]) state = State(on_1b=False, on_2b=True, on_3b=False, pitch_number=79, inning=4, top=False, bat_score=3, fld_score=5) matchups = ([ Matchup(batter=m, pitcher=p, atmosphere=atmosph, state=state) for m in candidate_batters for p in candidate_pitchers ]) results = pd.DataFrame(sing.get_pa_sim(matchups, return_features=True)) print(f'\nResults') print(results.sort_values(by=["woba_exp"], ascending=False))
def show_example(): candidate_batters = (sing.get_players(position=["1B", "DH"], bat_side=["R"], age_min=32, active=True)) candidate_pitchers = [ sing.get_players(name=p)[0] for p in ['J.A. Happ', 'James Paxton', 'Jordan Montgomery'] ] venue = sing.get_venues(stadium_name="Yankee Stadium")[0] atmosph = Atmosphere(venue, temperature=70, home_team=sing.get_teams(name="Yankee")[0]) matchups = ([ Matchup(batter=m, pitcher=p, atmosphere=atmosph, state=State()) for m in candidate_batters for p in candidate_pitchers ]) results = pd.DataFrame(sing.get_pa_sim(matchups)) print(results.sort_values(by=["woba_exp"], ascending=False))
########################################## # Simple batter vs. pitcher plate appearance prediction using defaults ########################################## from common import sing from pprint import pprint from singlearity import State, Player, Team, Venue, Atmosphere, Matchup, ApiException from singlearity.rest import ApiException import pandas as pd batter_list = ['Mookie Betts', 'Cody Bellinger', 'Gavin Lux'] pitcher_list = ['Chris Paddack'] candidate_batters = [sing.get_players(name = player_name)[0] for player_name in batter_list] candidate_pitchers = [sing.get_players(name = player_name)[0] for player_name in pitcher_list] venue = sing.get_venues(stadium_name = "Dodger Stadium")[0] atmosph = Atmosphere(venue, temperature = 70, home_team = sing.get_teams(name = "Dodgers")[0]) matchups = ([Matchup(batter = m, pitcher = p, atmosphere = atmosph, state=State()) for m in candidate_batters for p in candidate_pitchers]) results = pd.DataFrame(sing.get_pa_sim(matchups)) #just get some interesting stats. comment below line out to see all predictions results = results[['batter_name', 'pitcher_name', 'hr_exp', 'so_exp', 'ba_exp', 'ops_exp', 'woba_exp']] print(f'Results:\n{results}')