public void adicionando_dados_de_treinamento2() { var dadosTreinamento = new DadosTreinamento(); var caracteristicas = new[] { new[] { 2.0, 2.5 }, new[] { 1.3, 2.0 }, new[] { 8.1, 3.5 }, new[] { 2.2, 4.5 } }; var classes = new[] { 0, 1, 1, 0 }; dadosTreinamento.Adicionar(caracteristicas[0], classes[0]); dadosTreinamento.Adicionar(caracteristicas[1], classes[1]); dadosTreinamento.Adicionar(caracteristicas[2], classes[2]); dadosTreinamento.Adicionar(caracteristicas[3], classes[3]); dadosTreinamento.Saidas.Should().HaveSameCount(classes); dadosTreinamento.Entradas.Should().HaveSameCount(caracteristicas); for (var i = 0; i < caracteristicas.Length; i++) { dadosTreinamento.Entradas[i].Should().ContainInOrder(caracteristicas[i]); dadosTreinamento.Saidas[i].Should().Be(classes[i]); } }
public DadosTreinamento Extrair(EmailRecebido[] emailsRecebidos) { var dadosTreinamento = new DadosTreinamento(); foreach (var emailRecebido in emailsRecebidos) { var caracteristicas = geradorCaracteristicas.Extrair(emailRecebido); var classe = colecaoChaveValor.ObterValor(emailRecebido.Categoria); dadosTreinamento.Adicionar(caracteristicas, classe); } return dadosTreinamento; }
public void classificando_caracteristicas() { var dadosTreinamento = new DadosTreinamento(); dadosTreinamento.Adicionar(new [] { 1.0, 1.0 }, 0); dadosTreinamento.Adicionar(new [] { 0.5, 0.5 }, 1); dadosTreinamento.Adicionar(new [] { 1.5, 1.5 }, 2); var svm = new Svm(); svm.Treinar(dadosTreinamento); var classe = svm.Classificar(new[] {0.3, 0.3}); classe.Should().Be(1); }
public void adicionando_dados_de_treinamento() { var dadosTreinamento = new DadosTreinamento(); var caracteristicas = new[] { 2.0, 2.5 }; var classe = 0; dadosTreinamento.Adicionar(caracteristicas, classe); dadosTreinamento.Saidas.Should().HaveCount(1); dadosTreinamento.Saidas.Should().OnlyContain(s => s == 0); dadosTreinamento.Entradas.Should().HaveCount(1); dadosTreinamento.Entradas.Should().OnlyContain(a => a[0] == caracteristicas[0] && a[1] == caracteristicas[1]); }
public void Treinar(DadosTreinamento dadosTreinamento) { var kernel = new Linear(1); var quantidadeCaracteristicas = dadosTreinamento.Entradas[0].Length; var quantidadeClasses = dadosTreinamento.Saidas.Distinct().Length; svm = new MulticlassSupportVectorMachine(quantidadeCaracteristicas, kernel, quantidadeClasses); var learning = new MulticlassSupportVectorLearning(svm, dadosTreinamento.Entradas, dadosTreinamento.Saidas) { Algorithm = (machine, inputs, outputs, a, b) => new SequentialMinimalOptimization(machine, inputs, outputs) { Complexity = 1.0 } }; learning.Run(); }
public void treinando_algoritmo_de_classificacao() { var emailsRecebidos = new[] { new EmailRecebido("email", "email"), new EmailRecebido("email", "email"), new EmailRecebido("email", "email") }; var dadosTreinamento = new DadosTreinamento(); geradorDadosTreinamento.Extrair(emailsRecebidos).Returns(dadosTreinamento); classificadorEmail.Treinar(emailsRecebidos); geradorDadosTreinamento.Received().Extrair(emailsRecebidos); algoritmoClassificacao.Received().Treinar(dadosTreinamento); }