1
resposta

Previsão de uma entrada simples

Já tem uma pergunta dessa aqui no fórum com o nome "Previsões pontuais - mensagem de aviso ao usar o .predict"

Eu resolvi o problema criando um DataFrame para a entrada simples

from pandas.core.frame import DataFrame
temp_max = 40
chuva = 0
fds = 1

entrada = pd.DataFrame({"temp_max":[temp_max], "chuva":[chuva], "fds":[fds]})

previsao = modelo.predict(entrada)[0]
print(f"{previsao:.2f} litros")

A biblioteca deve ter tido alguma atualização para não funcionar igual no vídeo, mas queria saber se alguem tem uma maneira mais eficiente de prever para uma entrada simples onde eu pudesse apenas fazer como no vídeo:

entrada = [[25,0,0]]
modelo.predict(entrada)[0]
1 resposta

Olá Matheus, tudo bem? Espero que sim!

A mensagem que aparece ao executar a célula não é de erro e sim de Warning, ou seja, um aviso que aparece para o usuário informando de algo que pode acarretar problemas.

A mensagem de erro é a seguinte: UserWarning: X does not have valid feature names, but LinearRegression was fitted with feature names

Indicando que o modelo foi treinado com nomes das variáveis e o X passado não possui os nomes. Caso as variáveis estejam em uma ordem distinta, por não serem identificadas por nomes, pode acarretar em uma previsão incorreta.

O warning não foi mostrado no vídeo porque o notebook utilizado pelo instrutor possui o código de importação no início do notebook:

import warnings

warnings.filterwarnings('ignore') # ou warnings.filterwarnings(action='once')

Esse código é responsável por não mostrar nenhum warning na tela para o usuário.

Pode ficar tranquilo que caso passe os valores em ordem correta, a previsão será feita adequadamente.

Mas com certeza a criação de um DataFrame nomeando as colunas deixa mais claro os dados para utilização no predict.

Bons estudos!