Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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");
            }
        }