/// <summary>
        /// Расчет одного значения
        /// </summary>
        /// <param name="inp">Независимая переменная</param>
        /// <returns>Прогноз</returns>
        public double Predict(double inp)
        {
            Vector data = ExtensionOfFeatureSpace.Polinomial(inp, X.N - 1);
            double outp = GeomFunc.ScalarProduct(data, param);

            return(outp);
        }
        /// <summary>
        /// Расчет одного значения
        /// </summary>
        /// <param name="inp">Независимая переменная</param>
        /// <returns>Прогноз</returns>
        public double Predict(double inp)
        {
            Vector data = ExtensionOfFeatureSpace.GaussRBF(inp, X, sig);
            double outp = GeomFunc.ScalarProduct(data, param);

            return(outp);
        }
        /// <summary>
        /// Прогноз
        /// </summary>
        /// <param name="vect">Вектор входа</param>
        /// <returns>Выход</returns>
        public double Predict(Vector vect)
        {
            Vector inp = vect.AddOne();

            inp -= mean;
            inp /= std;
            return(GeomFunc.ScalarProduct(inp, _param));
        }
Exemple #4
0
        /// <summary>
        /// Возвращает вектор с максимальной энергией
        /// </summary>
        /// <param name="ens">Ансамбль векторов</param>
        /// <returns>Вектор с максимальной энергией</returns>
        public static Vector MaxEnergeVector(Vector[] ens)
        {
            Vector res = new Vector(ens.Length);

            for (int i = 0; i < res.N; i++)
            {
                res[i] = GeomFunc.NormVect(ens[i]);
            }

            double max = MaximalValue(res);
            int    ind = (int)res.IndexValue(max);

            return(ens[ind].Copy());
        }
Exemple #5
0
            /// <summary>
            /// Проводит гиперсферу нужного радиуса из конкретной точки и на заданном множестве
            /// </summary>
            /// <param name="R">Радиус</param>
            /// <param name="m">Центр масс</param>
            /// <param name="mass">Множество точек</param>
            /// <returns></returns>
            private Vector[] GetGipersfer(double R, Vector m, Vector[] mass)
            {
                List <Vector> OUT = new List <Vector>();

                foreach (Vector i in mass)
                {
                    if (GeomFunc.DistanceFromAToB(m, i) <= R)
                    {
                        OUT.Add(i); // проведение окружности
                    }
                }
                //	if(Distance.ManhattanDistance(m,i) <= R) OUT.Add(i); // проведение окружности

                return(OUT.ToArray());
            }
Exemple #6
0
            /// <summary>
            /// Максимальная дистанция
            /// </summary>
            /// <returns></returns>
            private double Max(Vector[] mass, Vector m)
            {
                double max = GeomFunc.DistanceFromAToB(mass[0], m), d;

                for (int i = 1; i < mass.Length; i++)
                {
                    d = GeomFunc.DistanceFromAToB(mass[i], m);

                    //d = Distance.ManhattanDistance(mass[i],m);
                    if (max < d)
                    {
                        max = d;
                    }
                }
                return(max);
            }
        /// <summary>
        /// Прогноз
        /// </summary>
        /// <param name="inp">Значение незав. переменной</param>
        public double Predict(double inp)
        {
            Vector X = ExtensionOfFeatureSpace.GaussRBF(inp, newX, sigma);

            return(GeomFunc.ScalarProduct(X, param));
        }
        /// <summary>
        /// Прогноз
        /// </summary>
        /// <param name="inp">Значение незав. переменной</param>
        public double Predict(double inp)
        {
            Vector X = ExtensionOfFeatureSpace.Sinc(inp, newX);

            return(GeomFunc.ScalarProduct(X, param));
        }
        /// <summary>
        /// Прогноз
        /// </summary>
        /// <param name="inp">вход</param>
        /// <returns>выход</returns>
        public double Predict(double inp)
        {
            Vector X = ExtensionOfFeatureSpace.Polinomial(inp, n - 1);

            return(GeomFunc.ScalarProduct(X, param));
        }