private static void operaNeuronio(Dados dados) { var i = 0; var desempenho = 0.0; try { var tamC = Arquivo.qtdDadosColunas(Arquivo.arquivoDadosTeste); var tamL = Arquivo.qtdDadosLinhas(Arquivo.arquivoDadosTeste); dados.entrada = new double[tamC]; verificaArquivosExiste(dados); for (i = 0; i < tamL; i++) { Arquivo.lePesos(dados); for (var j = 0; j < tamC; j++) { dados.entrada[j] = dados.DadosEntrada[i, j]; } desempenho = desempenho + 1; Neuronio.executaCalculo(dados); desempenho = (dados.erro != 0) ? desempenho-- : desempenho++; } Console.WriteLine((desempenho / i) * 100 + "% de acerto"); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private static void treinaNeuronio(Dados dados) { Console.WriteLine("Insira a quantidade de epocas desejadas!"); var epocasDesejadas = double.Parse(Console.ReadLine()); for (int epocas = 0; epocas < epocasDesejadas; epocas++) { var desempenho = 0.0; var i = 0; try { var tamC = Arquivo.qtdDadosColunas(Arquivo.arquivoDados); var tamL = Arquivo.qtdDadosLinhas(Arquivo.arquivoDados); dados.entrada = new double[tamC - 1]; verificaArquivosExiste(dados); for (i = 0; i < tamL; i++) { Arquivo.lePesos(dados); for (var j = 0; j < tamC; j++) { if (j != 0) { dados.entrada[j - 1] = dados.DadosEntrada[i, j]; } else { dados.desejado = dados.DadosEntrada[i, j]; } } desempenho = desempenho + 1; desempenho = Neuronio.TreinaNeuronio(dados, desempenho); } Console.WriteLine((desempenho / i) * 100 + "% de acerto"); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.WriteLine(epocas + 1 + "epocas"); } }