mbcFit
Description
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é.
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.
| 1 | DATA 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.
| 1 | PROC 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 :
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.
| 1 | PROC 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; |