/// <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)); }
/// <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()); }
/// <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()); }
/// <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)); }