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; }
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); } }