예제 #1
0
        //possible that null will be returned from this function if no a like users found
        public static List <int> defineUserSegmentsTransitionsProbabilitiesCombined(string _userId, int _age, int _height, int _weight, string _gender, float userDataWeight)
        {
            SleepSegmentsStatsRepository repo = new SleepSegmentsStatsRepository();
            List <int> userStats          = repo.GetUserSleepSegmentsStatsList(_userId);
            List <int> aLikeUsersAverages = repo.getSleepSegmentsStatsAveragesFromALikeUsersCombined(_userId, _age, _height, _weight, _gender);

            if (aLikeUsersAverages == null)
            {
                return(null);
            }

            List <int> res = new List <int>();
            float      aLikeUsersDataWeight = 1 - userDataWeight;

            for (int i = 0; i < userStats.Count; i++)
            {
                res.Add((int)(userDataWeight * userStats[i]) + (int)(aLikeUsersDataWeight * aLikeUsersAverages[i]));
            }
            return(res);
        }
예제 #2
0
        //possible that null will be returned from this function if no a like users found
        public static List <int> getSleepSegmentsStatsAverages(string _userId, int _age, string _gender)
        {
            SleepSegmentsStatsRepository repo = new SleepSegmentsStatsRepository();

            return(repo.getSleepSegmentsStatsAveragesFromALikeUsersOption1(_userId, _age, _gender));
        }