Convertendo Unidades Com Redes Neurais

Blog Sobre Engenharia e IA

Convertendo Unidades Com Redes Neurais

Neste post vamos mostrar como converter graus Celsius para Fahrenheit utilizando redes neurais e linguagem de programação Python, utilizaremos uma base de dados pronta e criaremos um perceptron simples para a conversão. O algoritmo foi desenvolvido na plataforma Google Colab.

Vamos começar importando as bibliotecas.

Pandas – para análise e manipulação de dados;

Numpy – para realizar operações em arrays multidimensionais;

Seaborn – para visualizar gráficos;

Matplotlib – para visualizações mais interativas;

TensorFlow – para criar e treinar o modelo de rede neural.

Através do comando head(), podemos observar os cinco primeiros valores do banco de dados.

Notamos que o banco de dados possui 30 linhas e 2 colunas.

O comando info() verifica os tipos de dados, existência de valores faltantes e quantidade de memória que a base de dados está utilizando.

Percebemos pelo gráfico abaixo, que quanto maior é a temperatura em Celsius, maior é a temperatura em Fahrenheit.

tf.keras.Sequential() – sequência de camadas para criar a rede neural;

layers.Danse() – adiciona uma camada densa, que significa que o neurônio de uma camada é ligado a todos os outros neurônios da próxima camada;

units = 1 – significa que terá um neurônio na saída que será em graus Fahrenheit;

input_shape = [1] – significa um neurônio de entrada que será em graus Celsius;

summary() – é o resumo da rede neural construída, onde podemos observar os 2 parâmetros que indicam os pesos.

Para compilar o modelo usaremos o otimizador Adam(0.1), onde 0.1 é a taxa de aprendizagem, ou seja, o quão rápido o algoritmo vai aprender.

loss = ‘mean_squared_error’ – é a função do erro

Para fazer o treinamento criamos uma nova variável, passamos o modelo, a base de dados configurada e o número de épocas que o algoritmo vai treinar, no caso o treinamento será por 600 épocas.

Percebemos pela gráfico abaixo que quando o erro está em 8, ele vai descendo e quando chega em 300 épocas percebe-se que ele se estabiliza, ou seja, o algoritmo não irá melhorar muito.

Agora vamos fazer o teste da nossa rede neural onde:

temp_c – representa o valor de entrada em Celsius;

temp_f – o valor de saída em Fahrenheit;

modelo.predict() – será o valor final encontrado pela rede neural.

Percebemos que se a temperatura em Celsius for 0 a rede neural encontrou o valor 31.99 graus Fahrenheit.

Utilizando a fórmula de conversão para tirar a prova, encontramos o valor real 32 graus Fahrenheit, sendo assim, podemos concluir que a rede neural se saiu muito bem neste estudo de caso.

Tags: , , , ,

Um comentário

  1. Vinny disse:

    Achei bem interessante.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *