示例#1
0
        public Dictionary <string, string> GetPredictions(int week)
        {
            Dictionary <string, string> p = new Dictionary <string, string>();

            List <ITeam> allTeams = _league.Conferences.SelectMany(c => c.Divisions).SelectMany(d => d.Teams).ToList();

            foreach (ITeam team in allTeams)
            {
                IGame game = team.Games.Where(g => g.Week == week).FirstOrDefault();
                if (game == null)
                {
                    continue;
                }
                ITeam  homeTeam = _leagueLastWeek.GetTeam(game.HomeTeam);
                ITeam  awayTeam = _leagueLastWeek.GetTeam(game.AwayTeam);
                string key      = awayTeam.ID + " at " + homeTeam.ID;

                if (!p.ContainsKey(key))
                {
                    int prediction = _predictor.Predict(homeTeam, awayTeam);
                    if (prediction > 0)
                    {
                        p[key] = homeTeam.ID;
                    }
                    else if (prediction < 0)
                    {
                        p[key] = awayTeam.ID;
                    }
                    else
                    {
                        p[key] = PickRandom(homeTeam, awayTeam).ID;
                    }
                }
            }
            return(p);
        }