R: función predict() para el modelado predictivo

La función predict() de R desempeña un papel especial en el contexto del aprendizaje automático, ya que permite hacer predicciones para nuevos datos que no se han visto anteriormente.

¿Qué hace la función predict() de R?

La función predict() en R sirve para hacer predicciones para puntos de datos nuevos o existentes basándose en un modelo estadístico previamente diseñado. Puedes crear este modelo mediante regresión lineal, regresión logística, árboles de decisión u otras técnicas de modelización.

Así es la sintaxis de predict() en R

La función predict() requiere como argumentos el modelo entrenado y los puntos de datos para los cuales se realizarán las predicciones. Dependiendo del tipo de modelo, puedes especificar diferentes opciones y parámetros. El resultado es un vector de predicciones que puedes utilizar para diversos fines analíticos, como la evaluación del rendimiento del modelo, la toma de decisiones o la visualización de los datos resultantes.

predict(object, newdata, interval)
R
  • object: el modelo entrenado al que aplicarás las predicciones.
  • newdata: los puntos de datos para las predicciones.
  • interval: un argumento opcional que permite especificar el tipo de intervalo de confianza (confidence para valores medios, prediction para predicciones).

Ejemplo de uso de la función predict en R

En el siguiente ejemplo verás cómo funciona predict() en R. Para ello, utiliza un conjunto de datos personalizado con valores de velocidad y distancia.

Crear y visualizar datos

custom_data <- data.frame(speed = c(15, 20, 25, 30, 35),
    distance = c(30, 40, 50, 60, 70))
# Displaying the custom data frame
print("Custom Data Frame:")
print(custom_data)
R

En el primer paso de este ejemplo, crea un conjunto de datos personalizado para analizar la relación entre la velocidad (speed) y la distancia recorrida (distance). Utiliza la función data.frame() para crear un marco de datos y establece valores concretos para las variables speed y distance utilizando c(15, 20, 25, 30, 35) y c(30, 40, 50, 60, 70).

Una vez creado el conjunto de datos, visualízalos utilizando la función print() para comprobar la estructura y los valores asignados al nuevo marco de datos.

Resultado:

"Custom Data Frame:"
    speed distance
1        15        30
2        20        40
3        25        50
4        30        60
5        35        70
R

Crear modelo lineal

# Creating a linear model for the custom data frame
custom_model <- lm(distance ~ speed, data = custom_data)
# Printing the model results
print("Model Results:")
print(summary(custom_model))
R

Resultado:

"Model Results:"
Call:
lm(formula = distance ~ speed, data = custom_data)
Residuals:
     1        2        3        4        5
    -2     -1        1        0        2
Coefficients:
(Intercept)     -10.00    15.81    -0.632    0.55897
speed                         2.00        0.47            4.254    0.01205
R

Desarrolla un modelo lineal (custom_model) para el conjunto de datos que modela la relación entre velocidad y distancia. Obtén los resultados del modelo, incluyendo los coeficientes y la información estadística.

Definir nuevos valores de velocidad y hacer predicciones

# Creating a data frame with new speed values
new_speed_values <- data.frame(speed = c(40, 45, 50, 55, 60))
# Predicting future distance values using the linear model
predicted_distance <- predict(custom_model, newdata = new_speed_values)
R

Define otro conjunto de datos (new_speed_values) con nuevos valores de velocidad. A continuación, utiliza la función predict() en R para hacer predicciones de los valores de distancia asociados utilizando el modelo lineal que has creado previamente.

Mostrar predicciones

# Displaying the predicted values
print("Predicted Distance Values:")
print(predicted_distance)
R

La salida te muestra los valores de distancia previstos en función de la velocidad:

"Predicted Distance Values:"
               1                2                  3                 4                   5
 80.0000     90.0000    100.0000  110.0000     120.0000
R
Consejo

Consulta los tutoriales R gsub y sub y R substring de nuestra Digital Guide para aprender a editar strings o cadenas de caracteres en R, para manipular texto o limpiar datos.

¿Le ha resultado útil este artículo?
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración de su navegador en nuestra. Política de Cookies.
Page top