# Function predict() in R : la fonction pour la modélisation prédictive

R `predict()` joue un rôle particulier dans le contexte de l’apprentissage automatique, car il offre la possibilité de faire des prédictions 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 polyvalent utilisé dans la modélisation prédictive. Elle sert à **générer des prédictions pour des points de données nouveaux ou existants** sur la base d’un modèle statistique préalablement conçu. Ce modèle peut par exemple avoir été créé par régression linéaire, régression logistique, arbres de décision ou autres techniques de modélisation.

## Comment la fonction R `predict()` est-elle structurée ?

La fonction `predict()` accepte comme arguments le **modèle entraîné et les points de données** pour lesquels des prédictions doivent être effectuées. Selon le type de modèle, différentes options et paramètres peuvent être spécifiés. Le résultat est un vecteur de prédictions qui peut être utilisé à différentes fins d’analyse, telles que l’évaluation des performances du modèle, la prise de décisions ou la visualisation des données résultantes.

```R
predict(objet, newdata, intervalle)
```

- **objet** : le modèle entraîné auquel les prédictions doivent être appliquées
- **newdata** : les points de données pour lesquels les prédictions doivent être effectuées
- **interval** : un argument optionnel pour indiquer le type d’intervalle de confiance (`confidence` pour les moyennes, `prediction` pour les prédictions)

## Exemple d’utilisation de la fonction `predict` dans R

L’exemple suivant a pour but de vous faire comprendre le fonctionnement de la fonction `predict()` de R. Pour cela, nous utilisons un jeu de données défini par l’utilisateur avec des valeurs de vitesse et de distance.

### Créer et afficher des données

```R
# 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)
```

Dans la première étape de cet exemple, nous construisons un **ensemble de données défini par l’utilisateur** 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éfinissons 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 visuellement la structure et les valeurs attribuées au nouveau cadre de données.

Sortie :

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

### Créer un modèle linéaire

```R
# 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))
```

Sortie :

```R
"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
```

Dans cet exemple, nous développons 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 coefficients et des statistiques clés, permettant d’évaluer l’impact de la vitesse sur la distance parcourue.

### Définir de nouvelles valeurs pour la vitesse et faire des prédictions

```R
# 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)
```

Nous définissons maintenant un autre jeu de données (`new_speed_values`) avec de nouvelles valeurs pour la vitesse. Ensuite, avec R `predict()`, nous faisons des prédictions pour les valeurs de distance correspondantes en utilisant le modèle linéaire créé précédemment.

### Afficher les prédictions

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

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

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

Conseil Si vous voulez savoir comment manipuler les chaînes de caractères dans R pour la manipulation de texte et le nettoyage de données, vous pouvez consulter les tutoriels sur R gsub et sub et [R substring](https://www.ionos.com/fr-ch/digitalguide/sites-internet/developpement-web/fonction-r-substring/) dans le Digital Guide.


This is a markdown version of: [https://www.ionos.com/fr-ch/digitalguide/sites-internet/developpement-web/la-fonction-r-predict/](https://www.ionos.com/fr-ch/digitalguide/sites-internet/developpement-web/la-fonction-r-predict/) for AI/LLM consumption.