L'action `mbcFit` effectue un clustering basé sur un modèle en utilisant l'algorithme EM (Espérance-Maximisation). Elle est conçue pour les données où les observations peuvent être regroupées en clusters, chaque cluster étant modélisé par une distribution Gaussienne. L'action détermine les paramètres de ces distributions (moyennes, covariances) ainsi que les probabilités d'appartenance de chaque observation à chaque cluster.
| Paramètre | Description |
|---|---|
| table | Spécifie la table de données d'entrée CAS à analyser. |
| model | Définit les variables à utiliser pour l'analyse de clustering. |
| nClusters | Spécifie le nombre de clusters Gaussiens à rechercher. Peut être un entier unique ou une liste d'entiers à tester (ex: {2, 3, 4}). |
| covStruct | Spécifie le ou les modèles de structure de covariance à ajuster. Des valeurs communes sont 'EEE' (sphérique), 'VVI' (diagonale, volumes inégaux), 'VVV' (ellipsoïdale). 'ALL' teste toutes les structures possibles. |
| criterion | Spécifie le critère d'information pour sélectionner le meilleur modèle parmi les combinaisons testées. Les options incluent 'AIC', 'AICC', et 'BIC' (par défaut). |
| maxIter | Définit le nombre maximum d'itérations pour l'algorithme EM. La valeur par défaut est 500. |
| noise | Spécifie si un cluster de bruit (pour les outliers) doit être inclus dans le modèle. Les valeurs peuvent être 'Y' (Oui) ou 'N' (Non). |
| store | Sauvegarde le modèle ajusté final dans un item store CAS pour une utilisation ultérieure, par exemple pour le scoring avec l'action `mbcScore`. |
| output | Crée une table de sortie contenant les probabilités d'appartenance de chaque observation aux clusters, ainsi que d'autres statistiques. |
| seed | Spécifie la graine pour le générateur de nombres aléatoires afin d'assurer la reproductibilité, notamment pour l'initialisation. |
| technique | Spécifie la technique d'espérance-maximisation à utiliser. 'EM' est la technique standard, tandis que 'CEM' (Classification EM) effectue une étape de classification dure à chaque itération. |
| topModels | Spécifie le nombre de meilleurs modèles à afficher dans la table de résumé 'ModelInfo' après la sélection de modèle. |
Cet exemple charge le jeu de données classique 'Iris' disponible dans `sashelp` vers une table en mémoire dans CAS nommée 'iris'. Cette table sera utilisée pour l'analyse de clustering.
| 1 | DATA mycas.iris; SET sashelp.iris; RUN; |
Effectue un clustering sur la table 'iris' en recherchant 3 clusters. La structure de covariance est fixée à 'VVI' (diagonale, volumes inégaux, orientation alignée aux axes). Le modèle est stocké pour le scoring.
| 1 | PROC CAS; |
| 2 | mbc.mbcFit / |
| 3 | TABLE={name='iris'}, |
| 4 | model={effects={{vars={'SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth'}}}}, |
| 5 | nClusters=3, |
| 6 | covStruct='VVI', |
| 7 | store={name='mbc_model_store', replace=true}, |
| 8 | OUTPUT={casOut={name='iris_scored', replace=true}, copyVars={'Species'}}; |
| 9 | RUN; |
| 10 | QUIT; |
Teste plusieurs configurations pour trouver le meilleur modèle de clustering. L'action évalue le nombre de clusters de 2 à 5, plusieurs structures de covariance ('EEE', 'VVI', 'EVE'), et la présence ou non d'un cluster de bruit. Le critère BIC est utilisé pour classer et sélectionner le meilleur modèle.
| 1 | PROC CAS; |
| 2 | mbc.mbcFit / |
| 3 | TABLE={name='iris'}, |
| 4 | model={effects={{vars={'SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth'}}}}, |
| 5 | nClusters={2, 3, 4, 5}, |
| 6 | covStruct={'EEE', 'VVI', 'EVE'}, |
| 7 | noise='Y', |
| 8 | criterion='BIC', |
| 9 | topModels=5, |
| 10 | itHist='SUMMARY', |
| 11 | store={name='mbc_best_model', replace=true}, |
| 12 | OUTPUT={casOut={name='iris_scored_best', replace=true}, copyVars={'Species'}}; |
| 13 | RUN; |
| 14 | QUIT; |