Clustering basé sur un modèle en R (Mclust)

Laissez un modèle de mélange gaussien choisir les regroupements et leur nombre pour vous — pas de k, pas de distance à choisir

Un guide pratique du clustering basé sur un modèle en R avec le package mclust : traitez vos données comme un mélange de gaussiennes, laissez Mclust() ajuster chaque modèle de covariance et choisir le meilleur ainsi que le nombre de regroupements par le BIC, puis lisez le modèle retenu (par ex. VVV), les composantes, et les probabilités souples de regroupement — visualisés avec fviz_mclust() de factoextra sur le jeu de données diabetes.

Date de publication

24 juin 2026

Modifié

7 juillet 2026

AstucePoints clés
  • Le clustering basé sur un modèle traite vos données comme un mélange de distributions gaussiennes — une par regroupement — au lieu de partitionner par distance. Chaque point reçoit une probabilité d’appartenir à chaque regroupement (une affectation souple).
  • Vous ne spécifiez pas k à l’avance et vous ne choisissez pas de distance : Mclust() ajuste une famille de modèles de covariance pour une plage de nombres de regroupements et retient le meilleur d’après le BIC (critère d’information bayésien).
  • Le modèle retenu porte un nom à trois lettres — EII … VVV — qui décrit le volume, la forme et l’orientation de chaque regroupement (E = égal, V = variable, I = aligné sur les axes).
  • Lancez-le en une ligne : Mclust(scale(data)) depuis le package mclust ; le résultat contient le nom du modèle, le nombre optimal de composantes et les probabilités par point.
  • Visualisez-le avec fviz_mclust() de factoextra — le graphique du BIC (sélection du modèle), le graphique de classification (les regroupements) et le graphique d’incertitude (quels points sont ambigus).
  • C’est l’alternative statistique aux k-means : meilleur quand les regroupements sont elliptiques, chevauchants, ou de taille et d’orientation inégales.
Obtenez le livre — Practical Guide to Cluster Analysis in R (PDF)

Introduction

Les méthodes de clustering traditionnelles comme la classification hiérarchique et les k-means sont heuristiques — elles regroupent les points par distance, mais elles ne reposent pas sur un modèle statistique formel. Cela entraîne deux désagréments pratiques : les k-means sont initialisés aléatoirement (si bien que différentes exécutions donnent des réponses différentes) et ils vous obligent à spécifier le nombre de regroupements à l’avance.

Le clustering basé sur un modèle adopte une position différente. Il suppose que les données ont été générées par un mélange de deux distributions ou plus — et laisse le modèle déterminer quel mélange s’ajuste le mieux (Fraley & Raftery, 2002). Contrairement au « ce point est dans le regroupement 2 » tranché des k-means, le clustering basé sur un modèle utilise une affectation souple : chaque observation porte une probabilité d’appartenir à chaque regroupement. Un point situé entre deux groupes se voit dire, honnêtement, qu’il est à 60 % dans l’un et à 40 % dans l’autre.

L’avantage principal : vous ne choisissez pas k, et vous ne choisissez pas de métrique de distance. L’algorithme ajuste toute une famille de modèles — pour plusieurs nombres de regroupements et plusieurs formes de regroupement — et sélectionne automatiquement le meilleur à l’aide du BIC. Optez pour le clustering basé sur un modèle quand vos regroupements paraissent elliptiques, chevauchants, ou de taille et d’orientation différentes, là où l’hypothèse sphérique et de taille égale des k-means ne tient plus.

Cette leçon fait partie de la série Analyse de clustering en R et se situe parmi les méthodes avancées, aux côtés du clustering flou (une autre approche par affectation souple). Nous utilisons le package R mclust tout au long.

Le concept : les données comme un mélange de gaussiennes

En clustering basé sur un modèle, on considère que les données proviennent d’un mélange de densités. Chaque composante — c’est-à-dire chaque regroupement k — est modélisée par une distribution normale (gaussienne), caractérisée par trois éléments :

  • \(\mu_k\) — le vecteur moyenne (où le regroupement est centré),
  • \(\Sigma_k\) — la matrice de covariance (la géométrie du regroupement : sa taille, sa forme et son inclinaison),
  • une probabilité de mélange — la part de l’ensemble des données que représente ce regroupement. Chaque point a alors une probabilité d’appartenir à chaque regroupement.

Une image rend l’idée concrète. Considérons les données classiques du « geyser old faithful » (dans le package MASS) : chaque point est une éruption, représentée par sa duration en fonction du temps d’waiting jusqu’à l’éruption suivante. Nous superposons une densité en 2D pour révéler la forme sous-jacente :

library(ggpubr)
data("geyser", package = "MASS")   # eruption duration vs. waiting time

# Scatter plot with 2D density contours
ggscatter(geyser, x = "duration", y = "waiting",
          color = "#3a86d4", alpha = 0.6) +
  geom_density2d(color = "grey30")   # add 2D density

Scatter plot of geyser eruption duration against waiting time with overlaid 2D density contours, revealing about three elliptical clusters.

Les contours suggèrent au moins trois regroupements dans le mélange, et la forme de chacun est globalement elliptique — exactement ce à quoi ressemble une distribution normale bivariée. Comme les trois ellipses paraissent semblables en volume, en forme et en orientation, on pourrait supposer que ce mélange a des matrices de covariance homogènes. Le clustering basé sur un modèle transforme cette intuition visuelle en un modèle ajusté et noté.

Comment le modèle est estimé

Les paramètres du mélange sont estimés par l’algorithme espérance-maximisation (EM), initialisé par une classification hiérarchique basé sur un modèle. Intuitivement, EM alterne entre deviner de quel regroupement chaque point provient et réestimer le centre et la covariance de chaque regroupement jusqu’à ce que l’ajustement cesse de s’améliorer. Chaque regroupement k finit centré sur sa moyenne \(\mu_k\), avec une densité qui croît vers ce centre.

Les caractéristiques géométriques d’un regroupement — sa forme, son volume et son orientation — sont entièrement gouvernées par la matrice de covariance \(\Sigma_k\). L’idée maîtresse de mclust est que vous pouvez contraindre ces matrices de covariance de différentes manières, chaque contrainte définissant un modèle différent.

Les 14 modèles de covariance (EII … VVV)

mclust propose une famille de paramétrisations de covariance identifiées par des codes à trois lettres tels que EII, VII, EEI, VEI, EVI, VVI, EEE, EEV, VEV et VVV (voir ?mclustModelNames). Lisez chaque code de gauche à droite :

  • la première lettre = volume (la taille globale du regroupement),
  • la deuxième lettre = forme (son degré d’allongement),
  • la troisième lettre = orientation (la direction de son inclinaison),

E = égal entre les regroupements, V = variable (libre de différer), et I = axes de coordonnées (aligné sur les axes, sans inclinaison). Quelques exemples font saisir le schéma :

  • EVI — les regroupements ont un volume égal (E), une forme variable (V), et une orientation identité (I, aligné sur les axes).
  • EEE — les regroupements partagent le même volume, la même forme et la même orientation.
  • VEI — volume variable, même forme, orientation le long des axes de coordonnées.
  • VVV — le plus flexible : volume, forme et orientation variables — des ellipsoïdes entièrement libres.

Vous ne choisissez jamais le code à la main. Mclust() les ajuste tous et laisse les données choisir.

Choisir le meilleur modèle avec le BIC

Mclust() utilise le maximum de vraisemblance pour ajuster chacun de ces modèles de covariance, sur une plage de nombres de composantes k. Pour les comparer équitablement — un modèle plus flexible ajuste toujours mieux les données d’apprentissage — il note chacun avec le critère d’information bayésien (BIC), qui récompense l’ajustement mais pénalise la complexité.

Important

Convention de signe du BIC dans mclust. Beaucoup de manuels définissent le BIC de sorte que plus petit est meilleur. mclust inverse le signe : il rapporte un BIC où une valeur plus grande (moins négative) indique un meilleur modèle. Donc lorsque vous lisez le graphique du BIC, le point le plus haut l’emporte. Cela déroute presque tout le monde la première fois.

Le modèle gagnant est le couple (nom du modèle, k) ayant le plus grand BIC — la forme du regroupement et le nombre de regroupements sont sélectionnés en une seule étape, fondée sur des principes.

Calculer le clustering basé sur un modèle en R

Installez mclust (et factoextra pour les graphiques) une fois :

install.packages(c("mclust", "factoextra"))

Nous illustrons le clustering basé sur un modèle avec le jeu de données diabetes du package mclust : trois mesures médicales plus le diagnostic pour 145 sujets.

library(mclust)
data("diabetes")
head(diabetes, 3)
   class glucose insulin sspg
1 Normal      80     356  124
2 Normal      97     289  117
3 Normal     105     319  143

Les quatre colonnes sont :

  • class — le diagnostic (Normal, Chemical, Overt). C’est le vrai label ; nous l’excluons du clustering et le gardons seulement pour vérifier le résultat ensuite.
  • glucose — réponse glycémique plasmatique à une charge orale de glucose.
  • insulin — réponse insulinique plasmatique à une charge orale de glucose.
  • sspg — glucose plasmatique à l’état stationnaire (une mesure de la résistance à l’insuline).

Maintenant le clustering proprement dit. Nous mettons à l’échelle d’abord les trois variables numériques (elles sont sur des plages très différentes), puis nous les confions à Mclust() — qui ajuste toute la famille de modèles, note par le BIC, et renvoie le gagnant. Pas de k, pas de distance :

library(mclust)
data("diabetes")
df <- scale(diabetes[, -1])   # standardize the 3 measurements (drop the class label)

mc <- Mclust(df)              # fit the Gaussian mixture; BIC picks model + k
summary(mc)                   # print the chosen model
---------------------------------------------------- 
Gaussian finite mixture model fitted by EM algorithm 
---------------------------------------------------- 

Mclust VVV (ellipsoidal, varying volume, shape, and orientation) model with 3
components: 

 log-likelihood   n df       BIC       ICL
      -169.0908 145 29 -482.5069 -501.4662

Clustering table:
 1  2  3 
81 36 28 

Lisez le résumé de haut en bas :

  • Mclust VVV … model with 3 components — le BIC a sélectionné le modèle VVV avec 3 regroupements. VVV signifie que les trois composantes sont ellipsoïdales, à volume, forme et orientation variables — des ellipses entièrement libres, le modèle le plus flexible. Notez que le nombre de regroupements a été découvert, et non fourni.
  • log.likelihood, n, df, BIC, ICL — les statistiques d’ajustement : la log-vraisemblance, la taille d’échantillon n = 145, le nombre de paramètres estimés df, et les scores de sélection de modèle (BIC et l’ICL sensible à l’entropie).
  • Clustering table — combien des 145 sujets se sont retrouvés dans chaque regroupement.

Accéder aux résultats

Un objet Mclust stocke tout sous forme de composantes nommées. Celles que vous utiliserez le plus :

library(mclust)
data("diabetes")
df <- scale(diabetes[, -1])
mc <- Mclust(df)

mc$modelName               # the chosen covariance model, e.g. "VVV"
[1] "VVV"
mc$G                       # the optimal number of clusters
[1] 3
head(mc$classification)    # hard cluster assignment for each subject
1 2 3 4 5 6 
1 1 1 1 1 1 
head(round(mc$z, 3))       # soft assignment: P(belongs to cluster) per subject
   [,1]  [,2]  [,3]
1 0.991 0.009 0.000
2 0.982 0.018 0.000
3 0.978 0.022 0.000
4 0.977 0.022 0.000
5 0.921 0.079 0.000
6 0.986 0.013 0.001

La matrice mc$z est le cœur du clustering basé sur un modèle : une probabilité par regroupement, par observation (chaque ligne somme à 1). Un point fermement à l’intérieur d’un regroupement affiche une probabilité proche de 1 à cet endroit ; un point ambigu répartit sa probabilité entre les regroupements. mc$classification n’est que le gagnant colonne par colonne de mc$z — le label tranché.

Pour reporter les labels de regroupement sur vos données d’origine, ajoutez l’affectation comme nouvelle colonne :

library(mclust)
data("diabetes")
df <- scale(diabetes[, -1])
mc <- Mclust(df)

dd <- cbind(diabetes, cluster = mc$classification)
head(dd, 3)
   class glucose insulin sspg cluster
1 Normal      80     356  124       1
2 Normal      97     289  117       1
3 Normal     105     319  143       1

Visualiser le clustering basé sur un modèle

mclust fournit une fonction de base plot.Mclust(), mais nous utilisons fviz_mclust() de factoextra pour des figures ggplot2 prêtes à publier. Quand les données ont plus de deux variables — comme ici, avec trois — fviz_mclust() effectue une analyse en composantes principales et représente les points sur les deux premières composantes principales. Trois graphiques racontent toute l’histoire.

Le graphique du BIC — comment le modèle a été choisi

Le graphique du BIC montre le score de chaque modèle de covariance selon le nombre de regroupements. Chaque ligne est une famille de modèles ; le sommet marque le gagnant. C’est la preuve visuelle du pourquoi VVV avec 3 composantes a été sélectionné :

library(mclust)
library(factoextra)
data("diabetes")
df <- scale(diabetes[, -1])
mc <- Mclust(df)

# BIC for every model across cluster counts — the highest point wins
fviz_mclust(mc, "BIC", palette = "jco")

BIC values for the mclust covariance models plotted against the number of clusters, with the VVV model peaking at three components.

Rappelez-vous la convention de mclust : la courbe la plus haute en son point le plus haut est le meilleur modèle. Le (modèle, k) retenu est exactement là où se trouve le maximum global.

Le graphique de classification — les regroupements

Le graphique de classification est celui que vous montrerez aux gens : les sujets colorés selon leur regroupement assigné, tracés sur les deux premières composantes principales, avec des ellipses de concentration entourant chaque composante gaussienne :

library(mclust)
library(factoextra)
data("diabetes")
df <- scale(diabetes[, -1])
mc <- Mclust(df)

# The clusters, on the first two principal components
fviz_mclust(mc, "classification", geom = "point",
            pointsize = 1.5, palette = "jco")

Classification plot of the diabetes subjects coloured into three model-based clusters on the first two principal components, each cluster outlined by an ellipse.

Les trois groupes se séparent nettement en ellipses de taille et d’orientation différentes — confirmation visible que le modèle flexible VVV était le bon choix (un modèle sphérique rigide comme les k-means aurait eu du mal ici). Pour tracer sur deux variables brutes plutôt que sur les composantes principales, passez choose.vars = c("insulin", "sspg").

Le graphique d’incertitude — quels points sont ambigus

Parce que l’affectation est souple, le clustering basé sur un modèle peut vous montrer quelles observations il juge incertaines. Dans le graphique d’incertitude, les symboles plus grands marquent les points les plus incertains — typiquement ceux situés à la frontière entre deux regroupements, là où mc$z partage la probabilité :

library(mclust)
library(factoextra)
data("diabetes")
df <- scale(diabetes[, -1])
mc <- Mclust(df)

# Larger symbols = more uncertain cluster membership
fviz_mclust(mc, "uncertainty", palette = "jco")

Uncertainty plot of the diabetes clusters where larger symbols mark the observations whose cluster membership is least certain, mostly on the boundaries.

Cette honnêteté sur l’ambiguïté est quelque chose que les méthodes à affectation tranchée comme les k-means ne peuvent tout simplement pas vous offrir — un véritable avantage quand les cas frontières comptent (pensez aux diagnostics médicaux limites).

Quand utiliser le clustering basé sur un modèle

Le clustering basé sur un modèle et les k-means partitionnent tous deux les données, mais ils reposent sur des hypothèses différentes — et c’est ce qui détermine quand utiliser chacun :

k-means Basé sur un modèle (mclust)
Modèle de regroupement groupes sphériques, de taille égale composantes gaussiennes de taille/forme/inclinaison quelconques
Choix de k vous devez le spécifier choisi automatiquement par le BIC
Métrique de distance vous devez en choisir une aucune nécessaire — basé sur la vraisemblance
Affectation tranchée (« dans le regroupement 2 ») souple (une probabilité par regroupement)
Idéal pour données vastes, propres, à peu près sphériques regroupements elliptiques, chevauchants, inégaux
Coût très rapide plus lent (ajuste de nombreux modèles via EM)

La règle courte : optez pour le clustering basé sur un modèle quand vos regroupements sont elliptiques, chevauchants, ou de taille et d’orientation inégales, quand vous préférez ne pas deviner k, ou quand vous avez besoin de probabilités d’appartenance plutôt que de labels tranchés. Optez pour les k-means quand les données sont vastes, propres et à peu près sphériques et que vous avez besoin de rapidité. Le clustering basé sur un modèle fonctionne aussi bien sur des données univariées que multivariées.

Le clustering basé sur un modèle suppose que chaque observation \(x_i\) est tirée d’un mélange de G composantes gaussiennes. La densité de probabilité des données est

\[ f(x_i) = \sum_{k=1}^{G} \pi_k \, \phi(x_i \mid \mu_k, \Sigma_k), \]

\(\pi_k\) est la proportion de mélange de la composante k (avec \(\sum_k \pi_k = 1\)), et \(\phi(x_i \mid \mu_k, \Sigma_k)\) est la densité normale multivariée de moyenne \(\mu_k\) et de covariance \(\Sigma_k\). L’algorithme EM maximise la vraisemblance de ce mélange : l’étape E calcule la responsabilité \(z_{ik}\) de chaque point — la probabilité a posteriori que \(x_i\) provienne de la composante k (c’est exactement mc$z) — et l’étape M réestime \(\pi_k\), \(\mu_k\) et \(\Sigma_k\) à partir de ces responsabilités. Les 14 noms de modèle (EII … VVV) correspondent à différentes contraintes sur \(\Sigma_k\), et le BIC choisit ensemble la contrainte et le nombre de composantes G.

Essayez en direct

Modifiez et exécutez le code ci-dessous dans votre navigateur — aucune installation nécessaire. Essayez de changer les variables que vous mettez à l’échelle, ou passez G = 1:6 à Mclust() pour contrôler la plage de nombres de regroupements qu’il explore, puis relancez et regardez les graphiques du BIC et de classification se mettre à jour.

🟢 Avec un agent IA

Pas sûr de savoir si vos données veulent des k-means ou un mélange gaussien ? Demandez à Prova « mes regroupements paraissent-ils assez elliptiques pour que le clustering basé sur un modèle batte les k-means ? » — elle répond avec du code R que vous pouvez exécuter sur votre propre jeu de données, puis vous aide à lire le nom du modèle retenu, le graphique du BIC et les probabilités d’appartenance. The runtime is the judge. Demander à Prova →

Problèmes courants

  • Vous vous attendiez à ce que le point le plus bas du graphique du BIC soit le meilleur — c’est le plus haut. mclust inverse la convention de signe habituelle : il rapporte le BIC de sorte qu’une valeur plus grande (moins négative) est meilleure. Sur le graphique fviz_mclust(mc, "BIC"), le sommet marque le modèle retenu, pas le creux.
  • Vous n’arrivez pas à dire ce que signifie le nom de modèle à trois lettres. Lisez EII … VVV de gauche à droite comme volume · forme · orientation, avec E = égal entre les regroupements, V = variable, I = aligné sur les axes. Donc VVV = tout est libre (ellipses flexibles) ; EII = sphères de taille égale (le plus contraint — essentiellement l’hypothèse des k-means).
  • Le clustering basé sur un modèle retient un nombre de regroupements différent de celui suggéré par le coude des k-means. C’est attendu et souvent meilleur : le BIC tient compte de la forme des regroupements, il peut donc fusionner deux groupes k-means d’allure sphérique en une seule ellipse inclinée, ou en scinder un. Faites confiance à la sélection du modèle, et regardez le graphique de classification pour juger.
  • Il s’exécute lentement ou échoue sur des données vastes ou de grande dimension. EM ajuste de nombreux modèles, ce qui est plus lourd que les k-means. Restreignez la recherche avec Mclust(df, G = 1:9) (moins de nombres de regroupements) ou modelNames = c("EEE", "VVV") (moins de modèles de covariance), ou réduisez les dimensions avec une ACP au préalable.
  • Une variable à très grande échelle domine l’ajustement. Standardisez d’abord avec scale() — comme nous le faisons ci-dessus — pour que chaque mesure contribue sur des bases comparables.

Questions fréquentes

Le clustering basé sur un modèle suppose que vos données ont été générées par un mélange de distributions de probabilité — typiquement une gaussienne par regroupement — et ajuste ce mélange par maximum de vraisemblance. Au lieu de regrouper les points par distance (comme les k-means), il estime la moyenne et la covariance de chaque regroupement et donne à chaque observation une probabilité d’appartenir à chaque regroupement, de sorte que le nombre de regroupements et leurs formes sont choisis par un critère statistique (le BIC) plutôt que devinés.

mclust est le package R standard pour le clustering basé sur un modèle, la classification et l’estimation de densité à l’aide de modèles de mélange gaussien. Sa fonction principale, Mclust(), ajuste une famille de 14 modèles de covariance sur une plage de nombres de regroupements, les note avec le BIC, et renvoie le meilleur — le nom du modèle retenu (par ex. VVV), le nombre de regroupements, et les probabilités d’appartenance par observation.

Essentiellement, oui. Le clustering basé sur un modèle avec mclust consiste à ajuster un modèle de mélange gaussien (GMM) et à utiliser l’appartenance à ses composantes comme regroupements. L’ingrédient supplémentaire qu’apporte mclust est une famille structurée de contraintes de covariance (EII … VVV) et une sélection automatique du modèle par le BIC, de sorte que vous n’avez pas à fixer vous-même le nombre de composantes ni la forme de la covariance.

Mclust() ajuste chaque modèle de covariance pour une plage de nombres de regroupements (par défaut de 1 à 9) et note chaque ajustement avec le BIC. La combinaison de modèle de covariance et de nombre de regroupements ayant le BIC le plus élevé l’emporte — donc le nombre de regroupements est sélectionné automatiquement. Vous pouvez le voir dans le graphique fviz_mclust(mc, "BIC") : le sommet est le modèle retenu. (Notez la convention de mclust — un BIC plus élevé est meilleur.)

Utilisez-le quand vos regroupements sont elliptiques, chevauchants, ou de taille et d’orientation différentes — des cas où l’hypothèse sphérique et de taille égale des k-means échoue. Il vous libère aussi du choix de k et du choix d’une métrique de distance, et il renvoie des probabilités d’appartenance au lieu de labels tranchés, ce qui compte pour les cas frontières. Les k-means restent préférables pour des données vastes, propres et à peu près sphériques où la rapidité compte.

Testez vos connaissances

Utilisez les quatre mesures numériques du jeu de données intégré iris (en retirant la colonne non numérique Species). Mettez-les à l’échelle, ajustez Mclust(), affichez le modèle retenu et le nombre de regroupements avec summary(), et tracez le graphique de classification.

Les colonnes numériques sont iris[, 1:4]. Mettez-les à l’échelle, passez la matrice mise à l’échelle à Mclust(), et confiez le résultat à fviz_mclust(..., "classification").

library(mclust)
library(factoextra)

# Numeric measurements only, standardized
df <- scale(iris[, 1:4])

mc <- Mclust(df)
summary(mc)            # chosen model name + number of clusters

fviz_mclust(mc, "classification", geom = "point",
            pointsize = 1.5, palette = "jco")

Le BIC sélectionne typiquement un modèle à 2 composantes pour l’iris mis à l’échelle (les fleurs setosa se séparent nettement, tandis que versicolor et virginica se chevauchent en une seule gaussienne) — une bonne illustration du fait que le clustering basé sur un modèle trouve le nombre de composantes que les données soutiennent, et non les trois espèces botaniques.

Vérification rapide. Un collègue exécute fviz_mclust(mc, "BIC") et en conclut que le meilleur modèle est celui au point le plus bas du graphique, « parce qu’un BIC plus bas est meilleur ». Pourquoi est-ce faux ici ?

Parce que mclust rapporte le BIC avec un signe inversé : une valeur plus grande (moins négative) est meilleure, donc le meilleur modèle est au point le plus haut du graphique, pas le plus bas. La convention statistique générale est « un BIC plus petit est meilleur », mais la sortie de mclust et fviz_mclust() suivent la propre convention de mclust — choisissez toujours le sommet.

Conclusion

Vous avez traité les données comme un mélange de gaussiennes, laissé Mclust() ajuster toute la famille de covariance et choisir le meilleur modèle et le nombre de regroupements par le BIC (ici, le modèle flexible VVV avec 3 composantes sur les données diabetes), lu le nom du modèle, les probabilités d’appartenance souples, et les labels de regroupement, et visualisé le résultat avec les graphiques du BIC, de classification et d’incertitude de fviz_mclust(). Le clustering basé sur un modèle est l’alternative statistique aux k-means : il n’a pas besoin que vous choisissiez k ou une distance, il gère les regroupements elliptiques et chevauchants, et il est honnête sur les points incertains. Pour une autre approche par affectation souple, poursuivez avec le clustering flou ; pour comparer les nombres de regroupements plus généralement, voyez le nombre optimal de regroupements.

Leçons connexes

Vous préférez un livre ? Practical Guide to Cluster Analysis in R est disponible en PDF téléchargeable — toutes les leçons de cette série, hors ligne et à vous.

Obtenir le livre (PDF) →Les leçons restent gratuites en ligne.
Cette page vous a-t-elle été utile ?

Prouvez que vous savez le faire. Maîtrisez toute la série Analyse de clustering en R — suivez votre parcours, construisez des projets et obtenez un certificat.

Commencer gratuitement →

Passez à Pro — Prova illimité sur vos propres données et un certificat vérifiable qui atteste la compétence.

dès 15 $/mois facturé annuellement

Passer à Pro →

✓ Vous êtes Pro — continuez. The runtime is the judge.

Recevez les nouvelles leçons R & Python par e-mail

Pratique, reproductible, sans spam. Désinscription à tout moment.

Double opt-in. Nous ne partageons jamais votre e-mail.

Partager cette pageXLinkedInRedditHN
Note

Cette leçon est reproductible : chaque figure a été produite par le code montré — modifiez n’importe quel bloc et lancez-le, et le bac à sable + le quiz se ré-exécutent en direct dans votre navigateur. The runtime is the judge.

Références

  • Fraley, C., & Raftery, A. E. (2002). Model-Based Clustering, Discriminant Analysis, and Density Estimation. Journal of the American Statistical Association, 97(458), 611–631.
  • Fraley, C., Raftery, A. E., Murphy, T. B., & Scrucca, L. (2012). mclust Version 4 for R: Normal Mixture Modeling for Model-Based Clustering, Classification, and Density Estimation. Rapport technique n° 597, département de statistique, université de Washington.

Réutilisation

Citation

BibTeX
@online{2026,
  author = {},
  title = {Clustering basé sur un modèle en R (Mclust)},
  date = {2026-06-24},
  url = {https://www.datanovia.com/learn/machine-learning/clustering/model-based-clustering},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
“Clustering basé sur un modèle en R (Mclust).” 2026. June 24. https://www.datanovia.com/learn/machine-learning/clustering/model-based-clustering.