R predict() joue un rôle par­ti­cu­lier dans le contexte de l’ap­pren­tis­sage au­to­ma­tique, car il offre la pos­si­bi­lité de faire des pré­dic­tions pour de nouvelles données qui n’ont pas encore été observées.

À quoi sert la fonction R predict() ?

La fonction predict() de R est un outil po­ly­va­lent utilisé dans la mo­dé­li­sa­tion pré­dic­tive. Elle sert à générer des pré­dic­tions pour des points de données nouveaux ou existants sur la base d’un modèle sta­tis­tique préa­la­ble­ment conçu. Ce modèle peut par exemple avoir été créé par ré­gres­sion linéaire, ré­gres­sion lo­gis­tique, arbres de décision ou autres tech­niques de mo­dé­li­sa­tion.

Comment la fonction R predict() est-elle struc­tu­rée ?

La fonction predict() accepte comme arguments le modèle entraîné et les points de données pour lesquels des pré­dic­tions doivent être ef­fec­tuées. Selon le type de modèle, dif­fé­rentes options et pa­ra­mètres peuvent être spécifiés. Le résultat est un vecteur de pré­dic­tions qui peut être utilisé à dif­fé­rentes fins d’analyse, telles que l’éva­lua­tion des per­for­mances du modèle, la prise de décisions ou la vi­sua­li­sa­tion des données ré­sul­tantes.

predict(objet, newdata, intervalle)
R
  • objet : le modèle entraîné auquel les pré­dic­tions doivent être ap­pli­quées
  • newdata : les points de données pour lesquels les pré­dic­tions doivent être ef­fec­tuées
  • interval : un argument optionnel pour indiquer le type d’in­ter­valle de confiance (confidence pour les moyennes, prediction pour les pré­dic­tions)

Exemple d’uti­li­sa­tion de la fonction predict dans R

L’exemple suivant a pour but de vous faire com­prendre le fonc­tion­ne­ment de la fonction predict() de R. Pour cela, nous utilisons un jeu de données défini par l’uti­li­sa­teur avec des valeurs de vitesse et de distance.

Créer et afficher des données

# Création d’un dataframe avec des valeurs personnalisées pour la vitesse et la distance
custom_data <- data.frame(speed = c(15, 20, 25, 30, 35),
    distance = c(30, 40, 50, 60, 70))
# Afficher le dataframe personnalisé
print("Custom Data Frame:")
print(custom_data)
R

Dans la première étape de cet exemple, nous cons­trui­sons un ensemble de données défini par l’uti­li­sa­teur afin d’étudier la relation entre la vitesse (speed) et la distance parcourue (distance). Pour cela, nous créons un dataframe avec la fonction data.frame(). Avec c(15, 20, 25, 30, 35) et c(30, 40, 50, 60, 70), nous dé­fi­nis­sons des valeurs concrètes pour les variables speed et distance.

Après la création de l’ensemble de données, nous l’affichons à l’aide de la fonction print(). Nous pouvons ainsi vérifier vi­suel­le­ment la structure et les valeurs at­tri­buées au nouveau cadre de données.

Sortie :

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

Créer un modèle linéaire

# Création d’un modèle linéaire pour le dataframe personnalisé
custom_model <- lm(distance ~ speed, data = custom_data)
# Imprimer les résultats du modèle
print("Model Results:")
print(summary(custom_model))
R

Sortie :

"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

Dans cet exemple, nous dé­ve­lop­pons un modèle linéaire (custom_model) basé sur le jeu de données pour étudier la relation entre la vitesse (speed) et la distance (distance). Les résultats du modèle incluent un aperçu des coef­fi­cients et des sta­tis­tiques clés, per­met­tant d’évaluer l’impact de la vitesse sur la distance parcourue.

Définir de nouvelles valeurs pour la vitesse et faire des pré­dic­tions

# Création d’un dataframe avec de nouvelles valeurs de vitesse
new_speed_values <- data.frame(speed = c(40, 45, 50, 55, 60))
# Prédire les futures valeurs pour la distance en utilisant le modèle linéaire
predicted_distance <- predict(custom_model, newdata = new_speed_values)
R

Nous dé­fi­nis­sons main­te­nant un autre jeu de données (new_speed_values) avec de nouvelles valeurs pour la vitesse. Ensuite, avec R predict(), nous faisons des pré­dic­tions pour les valeurs de distance cor­res­pon­dantes en utilisant le modèle linéaire créé pré­cé­dem­ment.

Afficher les pré­dic­tions

# Afficher les valeurs prédites
print("Predicted Distance Values:")
print(predicted_distance)
R

La sortie nous montre les valeurs de distance prévues en fonction de la vitesse :

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

Si vous voulez savoir comment manipuler les chaînes de ca­rac­tères dans R pour la ma­ni­pu­la­tion de texte et le nettoyage de données, vous pouvez consulter les tutoriels sur R gsub et sub et R substring dans le Digital Guide.

Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus
Aller au menu principal