La función predict() de R desempeña un papel especial en el contexto del apre­n­di­za­je au­to­má­ti­co, ya que permite hacer pre­di­c­cio­nes para nuevos datos que no se han visto an­te­rio­r­me­n­te.

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

La función predict() en R sirve para hacer pre­di­c­cio­nes para puntos de datos nuevos o exi­s­te­n­tes basándose en un modelo es­ta­dí­s­ti­co pre­via­me­n­te diseñado. Puedes crear este modelo mediante regresión lineal, regresión logística, árboles de decisión u otras técnicas de mo­de­li­za­ción.

Así es la sintaxis de predict() en R

La función predict() requiere como ar­gu­me­n­tos el modelo entrenado y los puntos de datos para los cuales se rea­li­za­rán las pre­di­c­cio­nes. De­pe­n­die­n­do del tipo de modelo, puedes es­pe­ci­fi­car di­fe­re­n­tes opciones y pa­rá­me­tros. El resultado es un vector de pre­di­c­cio­nes que puedes utilizar para diversos fines ana­lí­ti­cos, como la eva­lua­ción del re­n­di­mie­n­to del modelo, la toma de de­ci­sio­nes o la vi­sua­li­za­ción de los datos re­su­l­ta­n­tes.

predict(object, newdata, interval)
R
  • object: el modelo entrenado al que aplicarás las pre­di­c­cio­nes.
  • newdata: los puntos de datos para las pre­di­c­cio­nes.
  • interval: un argumento opcional que permite es­pe­ci­fi­car el tipo de intervalo de confianza (confidence para valores medios, prediction para pre­di­c­cio­nes).

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 pe­r­so­na­li­za­do con valores de velocidad y distancia.

Crear y vi­sua­li­zar datos

# Creating a data frame with custom speed and distance values
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 pe­r­so­na­li­za­do 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 uti­li­za­n­do c(15, 20, 25, 30, 35) y c(30, 40, 50, 60, 70).

Una vez creado el conjunto de datos, vi­sua­lí­za­los uti­li­za­n­do la función print() para comprobar la es­tru­c­tu­ra 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

De­sa­rro­lla un modelo lineal (custom_model) para el conjunto de datos que modela la relación entre velocidad y distancia. Obtén los re­su­l­ta­dos del modelo, in­clu­ye­n­do los co­efi­cie­n­tes y la in­fo­r­ma­ción es­ta­dí­s­ti­ca.

Definir nuevos valores de velocidad y hacer pre­di­c­cio­nes

# 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 co­n­ti­nua­ción, utiliza la función predict() en R para hacer pre­di­c­cio­nes de los valores de distancia asociados uti­li­za­n­do el modelo lineal que has creado pre­via­me­n­te.

Mostrar pre­di­c­cio­nes

# 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 tu­to­ria­les R gsub y sub y R substring de nuestra Digital Guide para aprender a editar strings o cadenas de ca­ra­c­te­res en R, para manipular texto o limpiar datos.

Web Hosting
El hosting que crece con tu proyecto
  • Tiempo de actividad de 99.99 % y seguridad ga­ra­n­ti­za­da
  • Aumenta el re­n­di­mie­n­to según el tráfico de tu página web
  • Incluye dominio, SSL, e-mail y soporte 24/7
Ir al menú principal