public void criando_dados_com_uma_colecao_de_um_sinal()
        {
            var sinais = DadaUmaColecaoDeUmSinal();

            var dadosDoAlgoritmo = new DadosSinaisEstaticos(sinais);
            dadosDoAlgoritmo.Processar();

            DeveTerUmDadoDeTreinamento(sinais.First(), dadosDoAlgoritmo);
        }
Example #2
0
        private Svm DadoUmAlgoritmoTreinado(int quantidadeDeSinais, int quantidadeDeAmostrasPorSinal)
        {
            var sinais = DadaUmaColecaoDeSinais(quantidadeDeSinais, quantidadeDeAmostrasPorSinal);
            var dadosDeTreinamento = new DadosSinaisEstaticos(sinais);
            dadosDeTreinamento.Processar();
            var svm = new Svm(new CaracteristicasSinalEstatico());
            svm.Aprender(dadosDeTreinamento);

            return svm;
        }
        public void criando_dados_com_uma_colecao_de_sinais()
        {
            const int quantidadeDeAmostrasPorSinal = 5;
            const int quantidadeDeSinais = 6;

            var sinais = DadaUmaColecaoDeSinais(quantidadeDeAmostrasPorSinal, quantidadeDeSinais);

            var dadosDoAlgoritmo = new DadosSinaisEstaticos(sinais);
            dadosDoAlgoritmo.Processar();
            DeveTerOsDadosDaColecaoDeSinais(dadosDoAlgoritmo, sinais, quantidadeDeAmostrasPorSinal);
        }
        public void TreinarAlgoritmoClassificacaoSinaisEstaticos()
        {
            var algoritmo = algoritmoClassificacaoSinalFactory.CriarClassificadorSinaisEstaticos();
            var repositorio = repositorioFactory.CriarECarregarRepositorioDeSinaisEstaticos();

            if (repositorio.Any())
            {
                var dadosSinaisEstaticos = new DadosSinaisEstaticos(repositorio);
                using (new MedidorTempo("montar dados de treinamento de sinais estáticos."))
                    dadosSinaisEstaticos.Processar();

                using (new MedidorTempo("treinar algoritmos de sinais estáticos."))
                    algoritmo.Aprender(dadosSinaisEstaticos);
            }
        }
        private void DeveTerOsDadosDaColecaoDeSinais(DadosSinaisEstaticos dadosDoAlgoritmo, ICollection<Sinal> sinais, int quantidadeDeAmostrasPorSinal)
        {
            dadosDoAlgoritmo.QuantidadeClasses.Should().Be(sinais.Count);
            dadosDoAlgoritmo.CaracteristicasSinais.Should().HaveCount(quantidadeDeAmostrasPorSinal * sinais.Count);
            dadosDoAlgoritmo.CaracteristicasSinais.Should().HaveSameCount(dadosDoAlgoritmo.IdentificadoresSinais);
            dadosDoAlgoritmo.IdentificadoresSinais.Should().ContainInOrder(SaidasEsperadas(sinais));

            int indiceDaEntrada = 0;
            var entradasEsperadas = EntradasEsperadasParaOsSinais(sinais);
            foreach (var input in dadosDoAlgoritmo.CaracteristicasSinais)
            {
                input.Should().ContainInOrder(entradasEsperadas[indiceDaEntrada]);
                indiceDaEntrada++;
            }
        }
 private void DeveTerUmDadoDeTreinamento(Sinal sinal, DadosSinaisEstaticos dadosDoAlgoritmo)
 {
     var arrayDaAmostra = amostraPadrao[0].MontarArrayEsperadoParaSinaisEstaticos();
     dadosDoAlgoritmo.QuantidadeClasses.Should().Be(1);
     dadosDoAlgoritmo.CaracteristicasSinais.Should().HaveCount(1);
     dadosDoAlgoritmo.CaracteristicasSinais[0].Should().ContainInOrder(arrayDaAmostra);
     dadosDoAlgoritmo.IdentificadoresSinais.Should().HaveCount(1);
     dadosDoAlgoritmo.IdentificadoresSinais[0].Should().Be(sinal.IdNoAlgoritmo);
 }