private void Classterizate_Click(object sender, EventArgs e) { Classter.ChangeD(TypeDComboBox.Text); Classter.ChangeDSS(TypeDSSComboBox.Text); Classter.VFound(IAM); if (MethodComboBox.SelectedIndex == 0) { if (Classters.Count < 2) { return; } KAverage(); } else if (MethodComboBox.SelectedIndex == 1) { AdditionalInformationForm AIF = new AdditionalInformationForm("Введіть K"); int index; try { index = Convert.ToInt32(AIF.getString()); } catch { return; } AgmomerativClassterizate(index > 1 ? index : 2); } if (IAM.n == 2) { chart.Series[0].Enabled = chart.Series[1].Enabled = Classterizate.Visible = false; } int MaxGroup = -1; for (int j = 0; j < ML.Count; j++) { MaxGroup = Math.Max(MaxGroup, ML[j].Group); } for (int i = 0; i < Classters.Count; i++) { InitialStatisticalAnalys[] ISA = Classters[i].ToISA(MaxGroup + i + 1); if (IAM.n == 2) { chart.Series.Add( PaintData.CorelPaint(ISA[0].unsortl, ISA[1].unsortl, GetColor(i), "Classter" + (i + 1).ToString())); chart.Series[chart.Series.Count - 1].MarkerSize = 10; } for (int j = 0; j < ISA.Length; j++) { ML.Add(ISA[j]); undolist.Add(ML[ML.Count - 1].unsortl); } } WraitData.RefreshList(treeView1, ML); Classter.QFound(Classters.ToArray()); ShowQ(Classter.Q); }
private void ReversTransformValueToolStripMenuItem_Click(object sender, EventArgs e) { InitialAnalysMultidimensionalData IAMReverse = ReversTransform(IAMIndepended, IAM.eightvector); int MaxGroup = -1; for (int j = 0; j < ML.Count; j++) { MaxGroup = Math.Max(MaxGroup, ML[j].Group); } for (int i = 0; i < IAMReverse.n; i++) { IAMReverse.ISA[i].Group = MaxGroup + 1; ML.Add(IAMReverse.ISA[i]); undolist.Add(ML[ML.Count - 1].unsortl); } WraitData.RefreshList(treeView1, ML); }
private void BottomValueToolStripMenuItem_Click(object sender, EventArgs e) { try { MinimalDispersValue = Convert.ToDouble(MinimalDispers.Text); } catch { MinimalDispersValue = 0; } if (IAM.n == 2) { double corel = IAM.K[0, 1]; double fi = Math.Atan(2 * corel * IAM.ISA[0].Gx.Q * IAM.ISA[1].Gx.Q / (Math.Pow(IAM.ISA[0].Gx.Q, 2) - Math.Pow(IAM.ISA[1].Gx.Q, 2))) / 2; picture.Image = PaintData.RotateImage(new Bitmap(picture.Image), fi); } double[,] Xallstandart = new double[IAM.Xall.GetLength(0), IAM.Xall.GetLength(1)]; for (int i = 0; i < IAM.Xall.GetLength(0); i++) { for (int j = 0; j < IAM.Xall.GetLength(1); j++) { Xallstandart[i, j] = (IAM.Xall[i, j] - IAM.Ex[j]) /* / IAM.ISA[j].Gx.Q*/; } } double[,] X = Matrix.MultiplicMatrix(Xallstandart, IAM.eightvector); int MaxGroup = -1; for (int j = 0; j < ML.Count; j++) { MaxGroup = Math.Max(MaxGroup, ML[j].Group); } List <int> index = new List <int>(); for (int i = 0; i < IAM.n; i++) { List <double> Data = new List <double>(); for (int j = 0; j < IAM.N; j++) { Data.Add(X[j, i]); } InitialStatisticalAnalys ISA = new InitialStatisticalAnalys(Data, MaxGroup + 1); if (ISA.Dx.Q >= MinimalDispersValue) { ML.Add(ISA); index.Add(ML.Count - 1); undolist.Add(ML[ML.Count - 1].unsortl); } } WraitData.RefreshList(treeView1, ML); IAMIndepended = new InitialAnalysMultidimensionalData(ML, index, -1); IAMIndependedToRevers = new InitialAnalysMultidimensionalData(X, 1); ReversTransformValueToolStripMenuItem.Visible = true; Procent = new double[IAM.n]; for (int c = 0; c < IAM.n; c++) { for (int r = 0; r < IAMIndepended.Xall.GetLength(1); r++) { Procent[c] += Math.Pow(IAM.eightvector[r, c], 2); } Procent[c] *= 100; } DataGridView.Rows.Clear(); SetData(); SetNextData(); }