• Menu
    • Nos Formations
    • Nos Prestations
    • Les Astuces
Skip to content
Astuces et scripts R
Astuces et scripts R
Primary Navigation Menu
Menu
  • Abcd’R
  • Tous les scripts
    • Voir les articles
    • Proposer un Article
  • Formation au logiciel R
  • Contact

Les dates de formations à R, éligibles au CPF sont en lignes !

Voir nos formations

Ajuster des modèles de classification avec glmnet

Par vincent
Le septembre 27, 2024
Dans classification
Tagged classification, glmnet
Avec 0 Commentaire

Ajuster des modèles de classification avec glmnet

Le package glmnet en R est un outil puissant pour ajuster des modèles de régression et de classification, en particulier lorsque nous avons des données avec un grand nombre de variables prédictives. Ce package utilise la régularisation Lasso et Ridge, ce qui permet de gérer la multicolinéarité et de sélectionner des variables pertinentes.

Installation et chargement du package

Avant de commencer, assurez-vous d’avoir installé le package glmnet. Vous pouvez l’installer avec la commande suivante :

install.packages("glmnet")

Ensuite, chargez le package :

library(glmnet)

Exemple concret : Classification avec le jeu de données Iris

Nous allons utiliser le célèbre jeu de données Iris pour illustrer comment ajuster un modèle de classification avec glmnet. Ce jeu de données contient des mesures de fleurs d’iris et leur espèce.

Préparation des données

Nous allons d’abord préparer les données. Nous allons convertir la variable cible (espèce) en un format binaire pour la classification.

# Charger les données
data(iris)

# Convertir l'espèce en variable binaire (versicolor vs. non-versicolor)
iris$Species <- ifelse(iris$Species == "versicolor", 1, 0)

# Séparer les variables prédictives et la variable cible
X <- as.matrix(iris[, 1:4])  # Variables prédictives
y <- iris$Species             # Variable cible

Ajustement du modèle

Nous allons maintenant ajuster un modèle de régression logistique avec régularisation Lasso (L1) en utilisant glmnet.

# Ajuster le modèle avec régularisation Lasso
set.seed(123)  # Pour la reproductibilité
model <- glmnet(X, y, family = "binomial", alpha = 1)

# Afficher les coefficients du modèle
print(coef(model))

Prédictions

Une fois le modèle ajusté, nous pouvons faire des prédictions sur de nouvelles données. Pour cela, nous allons utiliser la fonction predict.

# Prédictions sur les données d'origine
predictions <- predict(model, newx = X, type = "response")

# Convertir les probabilités en classes
predicted_classes <- ifelse(predictions > 0.5, 1, 0)

# Afficher les premières prédictions
head(predicted_classes)

Évaluation du modèle

Pour évaluer la performance de notre modèle, nous pouvons calculer la précision.

# Calculer la précision
accuracy <- mean(predicted_classes == y)
print(paste("Précision du modèle :", round(accuracy * 100, 2), "%"))

Conclusion

Dans cet article, nous avons vu comment ajuster un modèle de classification avec le package glmnet en R. Nous avons utilisé le jeu de données Iris pour illustrer le processus, de la préparation des données à l’évaluation du modèle. Grâce à la régularisation, glmnet nous aide à gérer les complexités des données tout en fournissant un modèle robuste pour la classification. N’hésitez pas à explorer d’autres jeux de données et à ajuster les paramètres du modèle pour voir comment cela affecte les résultats !

2024-09-27
Article précédent: Ajouter une régression linéaire à un graphique avec ggplot2
Article suivant: Ajuster des modèles non linéaires avec nls

Formation et consultance

Trouvez votre formation R sur-mesure chez ThinkR

-- Contactez-nous --

Catégories

Commentaires récents

  • Sébastien dans Comment effectuer des calculs de somme et de moyenne sur les colonnes ou les lignes d’une matrice ? colSums, rowSums, colMeans, rowMeans
  • Achraf Mazouz dans Comment effectuer des calculs de somme et de moyenne sur les colonnes ou les lignes d’une matrice ? colSums, rowSums, colMeans, rowMeans
  • Lou Sayd dans Coment alculer simplement la SEM dans R ? (Erreur Standard)
  • Nicolas dans Comment remplacer une chaîne de caractères ? string_replace_all(df, "pattern","replacement")
  • Vincent dans Comment comparer deux moyennes avec R grâce au test de Student ? t.test

Archives

Plan

  • Abcd’R
  • Tous les scripts
    • Proposer un Article
  • Ressources documentaires
    • Le logiciel R
    • Liste des interfaces graphiques
  • Formation au logiciel R
  • Contact
  • Politique de confidentialité

Flux ThinkR – Certification & Formation langage R

  • Déboguer une fonction avec debugonce() ou browser()
  • Dessinez pour gagner : L’impact des maquettes sur vos apps Shiny
  • Gérer et manipuler des dates en 2024 : une année pas comme les autres !
  • Retour vers le turfu : R, le web, et webR
  • Créer un package R et le versionner avec VSCode ? Mission possible !

Méta

  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

ABCD'R (par ThinkR ) © 2025 - Confidentialité