/// <summary>
        /// Тестирование
        /// </summary>
        public string TestStr(VectorIntDataset vidTest, int n)
        {
            double[] corr = new double[n];
            double[] N    = new double[n];
            int      index;
            string   str = string.Empty;

            for (int i = 0; i < vidTest.Count; i++)
            {
                index = vidTest[i].ClassMark;
                if (index == GetClass(vidTest[i].InpVector))
                {
                    corr[index]++;
                }

                N[index]++;
            }

            for (int i = 0; i < n; i++)
            {
                str += "Preсision " + i + ": " + (corr[i] / N[i] * 100) + "%\n";
            }


            return(str);
        }
        /// <summary>
        /// Тестирование
        /// </summary>
        /// <param name="vidTest">Датасет</param>
        /// <returns>Вероятность верного ответа</returns>
        public double Test(VectorIntDataset vidTest)
        {
            double corr = 0;

            for (int i = 0; i < vidTest.Count; i++)
            {
                if (vidTest[i].ClassMark == GetClass(vidTest[i].InpVector))
                {
                    corr++;
                }
            }

            return(corr / vidTest.Count);
        }
        /// <summary>
        /// Форма для визуализации данных
        /// </summary>
        /// <param name="vid">Выборка где вектору сопоставлена метка класса</param>
        public VisualData(VectorIntDataset vid)
        {
            InitializeComponent();

            int n = -1;

            for (int i = 0; i < vid.Count; i++)
            {
                if (n < vid[i].ClassMark)
                {
                    n = vid[i].ClassMark;
                }
            }

            n++;

            Vector[] vects = vid.DataVisual(n);

            Color[] colors =
            {
                Color.Red,
                Color.Green,
                Color.Blue,
                Color.Black,
                Color.Brown,
                Color.Gray,
                Color.Yellow,
                Color.YellowGreen,
                Color.DarkSalmon,
                Color.DarkOrange,
                Color.Gold,
                Color.Magenta
            };

            GraphicsView.ScattersVis(zedGraphControl1, vects, colors, "X", "Y");
        }
 /// <summary>
 /// Нейросетевой менеджер
 /// </summary>
 /// <param name="net">Нейросеть</param>
 /// <param name="vid">Датасет</param>
 public MenegerNNW(Net net, VectorIntDataset vid)
 {
     _net = net;
     _vid = vid;
 }