Ejemplo n.º 1
0
        private Hmm DadoUmAlgoritmoTreinado(int quantidadeDeSinais, int quantidadeDeAmostrasPorSinal)
        {
            var hmm = new Hmm(new CaracteristicasSinalDinamico());
            var colecaoDeSinais = new ColecaoDeSinaisBuilder()
                .ComQuantidadeDeSinais(quantidadeDeSinais)
                .ComQuantidadeDeAmostrasPorSinal(quantidadeDeAmostrasPorSinal)
                .ComGeradorDeAmostras(i => new ColecaoDeFramesBuilder().ParaOIndiceComQuantidade(i, 5).Construir())
                .Construir();

            var dados = new DadosSinaisDinamicos(colecaoDeSinais);
            dados.Processar();
            hmm.Aprender(dados);

            return hmm;
        }
Ejemplo n.º 2
0
        public void TreinarAlgoritmoClassificacaoSinaisDinamicos()
        {
            var repositorio = repositorioFactory.CriarECarregarRepositorioDeSinaisDinamicos();

            var algoritmo = algoritmoClassificacaoSinalFactory.CriarClassificadorSinaisDinamicos();
            var algoritmoDeLimitesDeSinaisDinamicos = algoritmoClassificacaoSinalFactory.CriarClassificadorFramesSinaisDinamicos();

            if (repositorio.Any())
            {
                var dadosSinaisDinamicos = new DadosSinaisDinamicos(repositorio);
                using (new MedidorTempo("montar dados de treinamento de sinais dinâmicos."))
                    dadosSinaisDinamicos.Processar();

                using (new MedidorTempo("treinar algoritmo de sinais dinâmicos."))
                    algoritmo.Aprender(dadosSinaisDinamicos);

                var dadosFramesSinaisDinamicos = new DadosFramesSinaisDinamicos(repositorio);
                using (new MedidorTempo("montar dados de treinamento de frames de sinais dinâmicos."))
                    dadosFramesSinaisDinamicos.Processar();

                using (new MedidorTempo("treinar algoritmos de frames sinais dinâmicos."))
                    algoritmoDeLimitesDeSinaisDinamicos.Aprender(dadosFramesSinaisDinamicos);
            }
        }