mbc

mbcFit

##set_mbc

Description

rier des chaussettes dans le noir absolu, mais en utilisant des mathématiques de haut vol pour deviner à quel tas appartient chaque chaussette

L'action mbcFit effectue un regroupement (clusteringLe clustering est une technique d'apprentissage non supervisé regroupant des données similaires en segments homogènes afin d'identifier des structures cachées sans étiquettes préalables.) basé sur des modèles gaussiensLes modèles gaussiens sont des algorithmes basés sur la loi normale pour modéliser des données continues. Ils estiment des probabilités d'appartenance à des classes ou prédisent des valeurs cibles. en utilisant l'algorithme Espérance-MaximisationL'algorithme EM est une méthode itérative estimant les paramètres de modèles statistiques incluant des variables latentes ou des données manquantes par alternance entre calcul d'espérance et maximisation. (EM). C'est un peu comme trier des chaussettes dans le noir absolu, mais en utilisant des mathématiques de haut vol pour deviner à quel tas appartient chaque chaussette ! L'action permet de tester automatiquement plusieurs nombres de clusters et différentes structures de matrice de covariance, en choisissant le meilleur modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). selon un critère donné.

Syntaxe Officielle
proc cas;
mbc.mbcFit /
table={name="nom_table", caslib="nom_caslib"}
model={effects={{vars={"var1", "var2", "var3"}}}}
nClusters=3
covStruct="VVV"
seed=12345;
quit;

Paramètres Clés

Nom du paramètre Description
table Spécifie la table de données en entrée contenant les observations à regrouper. (Requis)
model Spécifie les variables à utiliser pour l'analyse (les effets). (Requis)
nClusters Définit le nombre de clusters gaussiens à tester. Peut prendre une valeur unique ou une liste de valeurs à comparer.
covStruct Spécifie le ou les modèles de structure de covariance à tester (par exemple 'EEE', 'VVV', 'CCC' ou 'ALL' pour tout tester).
criterion Le critère de sélection du meilleur modèle (ex: 'BIC', 'AIC'). Le BIC est le juge de paix par défaut !
initMethod Méthode d'initialisation des clusters. Les options sont 'KMEANS' ou 'RANDOM'.
seed Graine aléatoire pour l'initialisation. L'aléatoire contrôlé est indispensable pour que votre expérience soit reproductible.
output Permet de générer une table de sortie contenant les probabilités d'appartenance aux clusters pour chaque observation.
store Sauvegarde le modèle ajusté sous forme binaire (ASTORE) pour pouvoir noter (scorer) de nouvelles données ultérieurement.

Préparation des données

Création de données d'exemple (Fleurs d'Iris simplifiées)

Un petit jeu de données sur les mensurations de fleurs pour tester notre algorithme de clustering.

1DATA public.iris_sample; INPUT SepalLength SepalWidth PetalLength PetalWidth; DATALINES; 5.1 3.5 1.4 0.2 4.9 3.0 1.4 0.2 4.7 3.2 1.3 0.2 7.0 3.2 4.7 1.4 6.4 3.2 4.5 1.5 6.9 3.1 4.9 1.5 6.3 3.3 6.0 2.5 5.8 2.7 5.1 1.9 7.1 3.0 5.9 2.1 ; RUN;

Exemples d'utilisation

Clustering simple avec 2 clusters

Entraîne un modèle de mélange gaussien en demandant exactement 2 clusters et en utilisant K-Means pour l'initialisation.

1PROC CAS; mbc.mbcFit / TABLE={name='iris_sample', caslib='public'}, model={effects={{vars={'SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth'}}}}, nClusters=2, initMethod='KMEANS', seed=12345; RUN; QUIT;
Résultat Attendu :
L'action affiche les statistiques d'ajustement du modèle, les probabilités de mélange et les paramètres des 2 clusters gaussiens identifiés.
Recherche du meilleur modèle, sauvegarde (ASTORE) et création d'une table de scoring

L'approche 'filet garni' intelligente : on teste 2 et 3 clusters, combinés avec 2 structures de covariance différentes ('EEE' et 'VVV'). Le modèle avec le meilleur score BIC est automatiquement conservé. Les résultats sont sauvegardés dans une table et le modèle est exporté pour un usage futur.

1PROC CAS; mbc.mbcFit / TABLE={name='iris_sample', caslib='public'}, model={effects={{vars={'SepalLength', 'SepalWidth', 'PetalLength', 'PetalWidth'}}}}, nClusters={2, 3}, covStruct={'EEE', 'VVV'}, criterion='BIC', seed=98765, OUTPUT={casOut={name='mbc_scored', caslib='public', replace=true}, maxpost='Cluster_Pred'}, store={name='mbc_model', caslib='public', replace=true}; RUN; QUIT;
Résultat Attendu :
Le journal CAS affichera un résumé de la sélection du modèle montrant que les différentes configurations ont été testées. La table 'mbc_scored' contiendra les données d'origine plus une colonne 'Cluster_Pred' indiquant le cluster le plus probable pour chaque ligne. Le fichier binaire 'mbc_model' sera créé dans la caslib 'public'.