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