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"]))
Example #3
0
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
Example #4
0
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))
Example #6
0
##########################################
# 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}')