/// <summary>
        /// Вероятности принадлежности к классу
        /// </summary>
        /// <param name="vect"></param>
        /// <param name="sm"></param>
        void GetProbability(double[] vect, SModel sm)
        {
            for (int i = 0; i < vect.Length; i++)
            {
                sm[i].pr = DistributionFunc.GaussNorm1(vect[i], sm[i]._e, sm[i]._sco);
            }

            sm.CalculateProb();
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="dataset"></param>
        /// <returns></returns>
        public static Vector ImportanceSign(Vector[] dataset)
        {
            Vector   dispers = Statistic.EnsembleDispersion(dataset);
            double   m       = Statistic.ExpectedValue(dispers);
            double   std     = Statistic.Std(dispers);
            Vector   Y       = DistributionFunc.GaussNorm1(dispers, m, std);
            Vector   X       = MathFunc.GenerateTheSequence(0, 1, Y.N);
            RBFGauss regr    = new RBFGauss(X, Y, 25);

            return(regr.Predict(X));
        }
Ejemplo n.º 3
0
        public UserGroup(User founder)
        {
            Members    = new List <User>();
            ClassCount = new Dictionary <Class, uint>();
            foreach (var cl in Enum.GetValues(typeof(Class)).Cast <Class>())
            {
                ClassCount[cl] = 0;
            }

            Logger.InfoFormat("Creating new group with {0} as founder.", founder.Name);
            // Distribute full experience to everyone with a bonus if a member of each
            // class is present.
            ExperienceDistributionFunc = Distribution_AllClassBonus;

            Add(founder);
            CreatedOn = DateTime.Now;
        }
Ejemplo n.º 4
0
        public UserGroup(User founder)
        {
            Members = new List<User>();
            ClassCount = new Dictionary<Class, uint>();
            foreach (var cl in Enum.GetValues(typeof(Class)).Cast<Class>())
            {
                ClassCount[cl] = 0;
            }

            Logger.InfoFormat("Creating new group with {0} as founder.", founder.Name);
            // Distribute full experience to everyone with a bonus if a member of each
            // class is present.
            ExperienceDistributionFunc = Distribution_AllClassBonus;

            Add(founder);
            CreatedOn = DateTime.Now;
        }