public int Controle() { double[] dissimilaridades = CalculaDistancias(); double menorDissimilaridade = dissimilaridades.Min(); double maiorDissimilaridade = dissimilaridades.Max(); double pulaLimiar = (maiorDissimilaridade - menorDissimilaridade) / quantidadeLimiares; List <int> limiares = new List <int>(); for (double i = menorDissimilaridade; i <= maiorDissimilaridade; i += pulaLimiar) { for (int j = 0; j < iteracaoPorLimiar; j++) { BSAS_NG BSAS = new BSAS_NG(padroes, i); limiares.Add(BSAS.Agrupa()); Shake(); } } int[] lista = limiares.Cast <int>().ToArray(); int maisRecorrente = EstimaK(lista); Console.WriteLine("Moda" + maisRecorrente); Console.ReadLine(); return(maisRecorrente); }
public int[] Controle() { ArrayList numerosGrupos = new ArrayList(); CalculaDistancias(); int[] vetorLimiares = new int[iteracaoPorLimiar]; for (double i = menorDissimilaridade; i < maiorDissimilaridade; i += pulaLimiares) { for (int j = 0; j < iteracaoPorLimiar; j++) { BSAS_NG BSAS = new BSAS_NG(padroes, i); vetorLimiares[j] = BSAS.Agrupa(); Shake(); } numerosGrupos.Add(EstimaK(vetorLimiares)); } int[] lista = numerosGrupos.Cast <int>().ToArray(); return(lista); }