Data

19 jul, 2018

Executando previsões com inteligência artificial de forma rápida e prática

Publicidade

Neste artigo vamos apresentar um exemplo de utilização de métodos simples de inteligência artificial para aplicações práticas, utilizando R direto da ferramenta Power BI.

Para seguir com o artigo, é necessário que tenham instalado o Power BI e do R for Windows.

Uma dificuldade comum para os desenvolvedores é fazer estimativas assertivas. Imagine a vantagem de ter de forma automática para obter macro estimativas de desenvolvimento com base no histórico? Isso pode facilitar o gerenciamento de projetos em geral, pois daria uma ideia do tamanho da demanda antes dos desenvolvedores desempenharem tempo nas estimativas. Bom, vamos tentar algo semelhante utilizando regressão linear.

Primeiro, para treinar o modelo utilizarei os seguintes dados históricos:

  • Estimativa dos requisitos
  • Tempo realizado para escrita dos requisitos
  • Tempo estimado das tarefas
  • Tempo realizado das tarefas

O Tempo realizado das tarefas é nossa classe e o valor que pretendemos predizer.

Para obter os dados, é possível acessar o botão “Obter Dados” do Power BI e alimentá-lo com uma consulta no banco ou pela importação de arquivos (csv, xlsx, etc). Temos, então, os dados:

Tendo os dados carregados, podemos acessar o menu ou “Editar Consulta”, localizada na aba principal, e em seguida, acionar o botão ou “Executar Script R” na aba “Transformar”.

Agora é possível escrever o script na linguagem R. Conforme descrito no comentário (#), a variável dataset possui um dataframe com os valores obtidos pela consulta.

Primeiro, é preciso atribuir o dataset a uma variável de retorno para usarmos em visões futuras

É possível criar um modelo treinado com regressão linear em R utilizando a função lm (linear model).

A função cria o modelo linear considerando a classe como TempoGastoDesenvolvimento e os outros campos como insumo para o cálculo.

Em seguida, tendo um modelo de dados já treinado, é possível realizar previsões. Neste caso, usaremos o mesmo dataset para previsões para simplificar um conjunto de treinamento e teste.

Está sendo armazenado o resultado de cada linha prevista na nova coluna “CalculadoIA”.

Depois de Fechar e Aplicar a nova coluna, irá pertencer à base de dados:

Usando o Entregável como Eixo, é evidente que mesmo errando algumas vezes na média, a previsão da estimativa é bem próxima da realizada pelo desenvolvimento, sendo em vários casos até mais assertiva.

Vermelho = tempo gasto real; Amarelo = tempo estimado pelo desenvolvimento e Azul = o tempo estimado pela Regressão Linear

É importante lembrar que desde a versão 2016, o SQL Server possui suporte para execução de código R pela system procedure sys.sp_execute_external_script (pretendo demonstrar o funcionamento em outro artigo) e que todos os exemplos demonstrados aqui podem ser aplicados diretamente no SQL Server.