def run_sigopt(box_scores, historical_games, historical_games_training_set, bet_info, sigopt_width=1, sigopt_depth=100): historical_games_by_tuple = evaluator.get_historical_games_by_tuple(historical_games) conn = sigopt.Connection() experiment = create_sigopt_experiment(conn, sigopt_depth) for _ in range(experiment.observation_budget): tunable_param_lists = [] suggestion_ids = [] for worker_id in range(sigopt_width): conn = sigopt.Connection() suggestion = conn.experiments(experiment.id).suggestions().create() suggestion_ids.append(suggestion.id) moving_averages = ( suggestion.assignments['slow_ma'], suggestion.assignments['fast_ma'], ) transform_params = { 'type': EXP_TRANSFORM, 'exp_param': suggestion.assignments['exp_param'], } tunable_param_lists.append([ moving_averages, transform_params, suggestion.assignments['n_estimators'], suggestion.assignments['min_samples_split'], suggestion.assignments['min_samples_leaf'], suggestion.assignments['bet_threshold'], ]) all_stats = read_data.generate_all_stats(box_scores) winnings_list = runner( historical_games_training_set, historical_games_by_tuple, bet_info, all_stats, tunable_param_lists, ) for i, suggestion_id in enumerate(suggestion_ids): conn.experiments(experiment.id).observations().create( suggestion=suggestion_id, value=winnings_list[i][0], value_stddev=winnings_list[i][1], ) print "Optimization done. View results at https://sigopt.com/experiment/{0}".format(experiment.id) experiment_detail = conn.experiments(experiment.id).fetch() best_observation = experiment_detail.progress.best_observation if best_observation: print "Best value found: {0} at {1}".format(best_observation.value, best_observation.assignments) return experiment.id
def run_sigopt( box_scores, user_token, client_token, client_id, historical_games, historical_games_training_set, bet_info, sigopt_width=1, sigopt_depth=100, ): historical_games_by_tuple = evaluator.get_historical_games_by_tuple(historical_games) conn = sigopt.interface.Connection(user_token=user_token, client_token=client_token) experiment = create_sigopt_experiment(conn, client_id) for _ in range(sigopt_depth): tunable_param_lists = [] assignments = [] for worker_id in range(sigopt_width): conn = sigopt.interface.Connection(user_token=user_token, client_token=client_token, worker_id=worker_id) suggestion = conn.experiments(experiment.id).suggest().suggestion assignments.append(suggestion.assignments) moving_averages = (suggestion.assignments["slow_ma"], suggestion.assignments["fast_ma"]) transform_params = {"type": EXP_TRANSFORM, "exp_param": suggestion.assignments["exp_param"]} tunable_param_lists.append( [ moving_averages, transform_params, suggestion.assignments["n_estimators"], suggestion.assignments["min_samples_split"], suggestion.assignments["min_samples_leaf"], suggestion.assignments["bet_threshold"], ] ) all_stats = read_data.generate_all_stats(box_scores) winnings_list = runner( historical_games_training_set, historical_games_by_tuple, bet_info, all_stats, tunable_param_lists ) for i, assignment in enumerate(assignments): conn.experiments(experiment.id).report( data={"assignments": assignment, "value": winnings_list[i][0], "value_stddev": winnings_list[i][1]} ) print "Optimization done. View results at https://sigopt.com/experiment/{0}".format(experiment.id) best_observation = conn.experiments(experiment.id).bestobservation().observation if best_observation: print "Best value found: {0} at {1}".format(best_observation.value, best_observation.assignments) return experiment.id
def run_example(sigopt_width=1, sigopt_depth=100): boxscores_path = os.path.join(os.path.dirname(__file__), '../boxscores/all_boxscores.json') box_scores = read_data.read_box_scores(boxscores_path) historical_games = get_historical_games(box_scores) historical_games_training_set = get_historical_games(box_scores, max_date=SEASON_1314_END) bet_info_s15 = bet_reader.read_info() bet_info = bet_reader.transform_old_format(bet_info_s15) historical_games_by_tuple = evaluator.get_historical_games_by_tuple(historical_games) return run_sigopt(box_scores, historical_games, historical_games_training_set, bet_info, sigopt_width=sigopt_width, sigopt_depth=sigopt_depth)
def run_example(user_token, client_token, client_id, sigopt_width=1, sigopt_depth=100): box_scores = read_data.read_box_scores("../boxscores/all_boxscores.json") historical_games = get_historical_games(box_scores) historical_games_training_set = get_historical_games(box_scores, max_date=SEASON_1314_END) bet_info_s15 = bet_reader.read_info() bet_info = bet_reader.transform_old_format(bet_info_s15) historical_games_by_tuple = evaluator.get_historical_games_by_tuple(historical_games) return run_sigopt( box_scores, user_token, client_token, client_id, historical_games, historical_games_training_set, bet_info, sigopt_width=sigopt_width, sigopt_depth=sigopt_depth, )
def run_example(sigopt_width=1, sigopt_depth=100): boxscores_path = os.path.join(os.path.dirname(__file__), '../boxscores/all_boxscores.json') box_scores = read_data.read_box_scores(boxscores_path) historical_games = get_historical_games(box_scores) historical_games_training_set = get_historical_games( box_scores, max_date=SEASON_1314_END) bet_info_s15 = bet_reader.read_info() bet_info = bet_reader.transform_old_format(bet_info_s15) historical_games_by_tuple = evaluator.get_historical_games_by_tuple( historical_games) return run_sigopt(box_scores, historical_games, historical_games_training_set, bet_info, sigopt_width=sigopt_width, sigopt_depth=sigopt_depth)
def run_example(user_token, client_token, client_id, sigopt_width=1, sigopt_depth=100): box_scores = read_data.read_box_scores('../boxscores/all_boxscores.json') historical_games = get_historical_games(box_scores) historical_games_training_set = get_historical_games( box_scores, max_date=SEASON_1314_END) bet_info_s15 = bet_reader.read_info() bet_info = bet_reader.transform_old_format(bet_info_s15) historical_games_by_tuple = evaluator.get_historical_games_by_tuple( historical_games) return run_sigopt(box_scores, user_token, client_token, client_id, historical_games, historical_games_training_set, bet_info, sigopt_width=sigopt_width, sigopt_depth=sigopt_depth)
def run_sigopt(box_scores, user_token, client_token, client_id, historical_games, historical_games_training_set, bet_info, sigopt_width=1, sigopt_depth=100): historical_games_by_tuple = evaluator.get_historical_games_by_tuple( historical_games) conn = sigopt.interface.Connection( user_token=user_token, client_token=client_token, ) experiment = create_sigopt_experiment(conn, client_id) for _ in range(sigopt_depth): tunable_param_lists = [] assignments = [] for worker_id in range(sigopt_width): conn = sigopt.interface.Connection( user_token=user_token, client_token=client_token, worker_id=worker_id, ) suggestion = conn.experiments(experiment.id).suggest().suggestion assignments.append(suggestion.assignments) moving_averages = ( suggestion.assignments['slow_ma'], suggestion.assignments['fast_ma'], ) transform_params = { 'type': EXP_TRANSFORM, 'exp_param': suggestion.assignments['exp_param'], } tunable_param_lists.append([ moving_averages, transform_params, suggestion.assignments['n_estimators'], suggestion.assignments['min_samples_split'], suggestion.assignments['min_samples_leaf'], suggestion.assignments['bet_threshold'], ]) all_stats = read_data.generate_all_stats(box_scores) winnings_list = runner( historical_games_training_set, historical_games_by_tuple, bet_info, all_stats, tunable_param_lists, ) for i, assignment in enumerate(assignments): conn.experiments(experiment.id).report( data={ 'assignments': assignment, 'value': winnings_list[i][0], 'value_stddev': winnings_list[i][1], }) print "Optimization done. View results at https://sigopt.com/experiment/{0}".format( experiment.id) best_observation = conn.experiments( experiment.id).bestobservation().observation if best_observation: print "Best value found: {0} at {1}".format( best_observation.value, best_observation.assignments) return experiment.id
def run_sigopt(box_scores, historical_games, historical_games_training_set, bet_info, sigopt_width=1, sigopt_depth=100): historical_games_by_tuple = evaluator.get_historical_games_by_tuple( historical_games) conn = sigopt.Connection() experiment = create_sigopt_experiment(conn, sigopt_depth) for _ in range(experiment.observation_budget): tunable_param_lists = [] suggestion_ids = [] for worker_id in range(sigopt_width): conn = sigopt.Connection() suggestion = conn.experiments(experiment.id).suggestions().create() suggestion_ids.append(suggestion.id) moving_averages = ( suggestion.assignments['slow_ma'], suggestion.assignments['fast_ma'], ) transform_params = { 'type': EXP_TRANSFORM, 'exp_param': suggestion.assignments['exp_param'], } tunable_param_lists.append([ moving_averages, transform_params, suggestion.assignments['n_estimators'], suggestion.assignments['min_samples_split'], suggestion.assignments['min_samples_leaf'], suggestion.assignments['bet_threshold'], ]) all_stats = read_data.generate_all_stats(box_scores) winnings_list = runner( historical_games_training_set, historical_games_by_tuple, bet_info, all_stats, tunable_param_lists, ) for i, suggestion_id in enumerate(suggestion_ids): conn.experiments(experiment.id).observations().create( suggestion=suggestion_id, value=winnings_list[i][0], value_stddev=winnings_list[i][1], ) print "Optimization done. View results at https://sigopt.com/experiment/{0}".format( experiment.id) experiment_detail = conn.experiments(experiment.id).fetch() best_observation = experiment_detail.progress.best_observation if best_observation: print "Best value found: {0} at {1}".format( best_observation.value, best_observation.assignments) return experiment.id