Com a função predict() em R, você consegue fazer previsões de dados novos e inéditos, de maneira simples e eficiente. Essa é uma fer­ra­menta de fun­da­men­tal im­por­tân­cia para o apren­di­zado de máquina (machine learning), sendo am­pla­mente utilizada em análises es­ta­tís­ti­cas e modelagem preditiva.

Para que usar a função R predict()?

A função R predict() é uma fer­ra­menta versátil usada em modelos pre­di­ti­vos. Ela gera previsões para pontos de dados novos ou exis­ten­tes baseadas em modelos es­ta­tís­ti­cos de­sen­vol­vi­dos an­te­ri­or­mente, como regressão linear, regressão lógica, árvore de decisão e outras técnicas de modelagem. Sua aplicação se estende tanto a análises ex­plo­ra­tó­rias quanto ao de­sen­vol­vi­mento de al­go­rit­mos de previsão mais complexos, tornando-se essencial em diversos contextos.

Sintaxe da função predict() em R

A função R predict() considera como ar­gu­men­tos um modelo treinado e os pontos de dados aos quais a previsão será aplicada. Você também pode es­pe­ci­fi­car opções e pa­râ­me­tros di­fe­ren­tes baseados no tipo de modelo usado. O resultado é um vetor de previsões útil para diversos fins ana­lí­ti­cos, incluindo ava­li­a­ções de de­sem­pe­nho de modelos, tomadas de decisão ou ilus­tra­ções dos dados re­sul­tan­tes.

predict(objeto, dados, intervalo)
R
  • objeto: O modelo treinado ao qual as previsões serão aplicadas.
  • dados: Os pontos de dados para a previsão.
  • intervalo: Argumento opcional. Serve para inserir o tipo de intervalo de confiança (confidence para intervalo médio, prediction para previsões).

Exemplos de aplicação da função R predict()

O exemplo a seguir ilustra como aplicar a função predict() em R. Usaremos um conjunto de dados definido pelo usuário com valores de ve­lo­ci­dade e distância.

Criar e exibir dados

# Criação de data frame com valores personalizados de velocidade e distância
dados_personalizados <- data.frame(velocidade = c(15, 20, 25, 30, 35),
    distancia = c(30, 40, 50, 60, 70))
# Exibição do data frame personalizado
print("Data frame personalizado:")
print(dados_personalizados)
R

Primeiro, criamos um conjunto de dados definido pelo usuário para avaliar a relação entre ve­lo­ci­dade e distância. Usamos a função data.frame() para criar um data frame e definir os valores das variáveis velocidade e distância como c(15, 20, 25, 30, 35) e c(30, 40, 50, 60, 70), res­pec­ti­va­mente.

Após criarmos o conjunto de dados, nós o exibimos usando a função print(). Assim, con­se­gui­mos verificar a estrutura e os valores de­sig­na­dos ao nosso novo data frame. Veja:

O resultado obtido é:

"Data frame personalizado:"
    velocidade distancia
1        15            30
2        20             40
3        25             50
4        30             60
5        35             70
R

Criar modelo linear

# Criação de modelo linear para o data frame personalizado
modelo_personalizado <- lm(distancia ~ velocidade, data = dados_personalizados)
# Apresentação dos resultados do modelo
print("Resultados do modelo:")
print(summary(modelo_personalizado))
R

Resultado:

"Resultados do modelo:"
Call:
lm(formula = distancia ~ velocidade, data = dados_personalizados)
Residuals:
     1        2        3        4        5
    -2     -1        1        0        2
Coefficients:
(Intercept)     -10.00    15.81    -0.632    0.55897
velocidade         2.00        0.47            4.254    0.01205
R

No exemplo acima você pode observar um modelo linear (modelo_personalizado) que foi gerado para o conjunto de dados e que ilustra a relação entre ve­lo­ci­dade e distância. O resultado do modelo inclui co­e­fi­ci­en­tes e in­for­ma­ções es­ta­tís­ti­cas.

Definir novos valores de ve­lo­ci­dade e fazer previsões

# Criação de um data frame com novos valores de velocidade
novos_valores_velocidade <- data.frame(velocidade = c(40, 45, 50, 55, 60))
# Previsão dos valores de distância futuros usando o modelo linear
distancia_prevista <- predict(modelo_personalizado, newdata = novos_valores_velocidade)
R

Criamos outro conjunto de dados (novos_valores_velocidade) com novos valores de ve­lo­ci­dade. Usamos a função R predict() para fazer previsões dos valores de distância cor­res­pon­den­tes usando o modelo linear criado an­te­ri­or­mente.

Exibir previsões

# Exibição dos valores previstos
print("Valores de distância previstos:")
print(distancia_prevista)
R

O resultado exibe os valores de distância previstos com base nos valores de ve­lo­ci­dade:

"Valores de distância previstos:"
               1                2                  3                 4                   5
 80.0000     90.0000    100.0000  110.0000     120.0000
R
Dica

Se quiser aprender a processar strings para manipular textos e limpar dados na linguagem R, confira os nossos tutoriais sobre gsub e sub em R e subs­trings em R.

Hos­pe­da­gem que se adapta às suas ambições
  • Fique online com 99,99% de tempo de atividade e segurança robusta
  • Aumente o de­sem­pe­nho com um clique à medida que o tráfego cresce
  • Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana
Ir para o menu principal