/// <summary> /// Metodo que retorna uma lista dos dados previstos. **** /// </summary> /// <param name="dados">Dados reais a serem trabalhados.</param> /// <param name="xInicial">Valor do indice inicial dos dados começando de 1. Default: 1.</param> /// <param name="comparacaoteste">Variavel que determina se haverá comparação com dados reais de teste.</param> /// <returns></returns> public List<double> Previsao(List<double> dados, int xInicial = 1, bool comparacaoteste = true) { //RNA.Algoritmo = "ParallelResilientBackpropagationLearning"; string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\RNA Archives"; //Variáveis que armazenarão resultados List<double> result = new List<double>(); List<double> resultTeste = new List<double>(); //Instancia a classe CSerieTemporal. Serie = new CSerieTemporal(dados, xInicial); //Aplica a diferença nos dados e separa em treino, validação e teste. Serie.PrepararDados(comparacaoteste); //Separação dos dados dadosTreino = Serie.DadosTreino; dadosValidacao = Serie.DadosValidacao; if (comparacaoteste == true) dadosTeste = Serie.DadosTeste; //resultados List<double> resultTreino = new List<double>(); TestarConfiguracoes(); //if (File.Exists(path + @"\RedeTreinada.bin") == false) //{ //adiciona ao resultado final os resultados de treino, validacao e teste de maneira sequencial. result.AddRange(Treino(path)); result.AddRange(resultValidacao); //try //{ // network.Save(path + @"\RedeTreinada.bin"); //} //catch { } //} //else //{ // network = (ActivationNetwork)ActivationNetwork.Load(path + @"\RedeTreinada.bin"); //} result.AddRange(Teste(dadosTeste.Count, comparacaoteste)); return result; }