uncertaintySampling
Description
Effectue un apprentissage actif (active learning) en sélectionnant les observations à étiqueter en priorité. L'action utilise un échantillonnage basé sur l'incertitude (uncertainty), la pertinence (relevance) ou de manière aléatoire (random). Laissez la machine vous dire ce qu'elle ignore, ça vous évitera d'étiqueter toute la base à la main ! Sources :
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| id | Spécifie la variable d'identifiant unique utilisée pour fusionner les étiquettes. Paramètre requis. |
| output | Crée une table de données contenant les observations sélectionnées pour être interrogées (étiquetées). Paramètre requis. |
| selectQuery | Spécifie la stratégie de requête à utiliser : échantillonnage aléatoire (RANDOM), par pertinence (RELEVANCE) ou par incertitude (UNCERTAINTY). Paramètre requis. |
| table | Spécifie la table d'entrée contenant les données. Paramètre requis. |
| target | Spécifie la variable cible binaire à utiliser pour l'analyse. Paramètre requis. |
| topK | Spécifie le nombre maximal (top K) des observations à interroger (50 par défaut). |
| inputs | Spécifie les variables d'entrée à utiliser pour l'analyse. |
| nominals | Spécifie les variables nominales à utiliser pour l'analyse. |
Préparation des données
Création de données de test avec cibles partiellement manquantes
Génère une table CAS avec un identifiant, des variables prédictives, une probabilité estimée et une cible binaire dont une partie des valeurs est non étiquetée (manquante).
| 1 | DATA mycas.donnees_apprentissage; |
| 2 | DO id = 1 to 1000; |
| 3 | var1 = rand('uniform'); |
| 4 | var2 = rand('normal'); |
| 5 | pred_prob = rand('uniform'); |
| 6 | IF rand('uniform') > 0.8 THEN target = .; |
| 7 | ELSE target = (var1 + var2 > 0.5); |
| 8 | OUTPUT; |
| 9 | END; |
| 10 | RUN; |
Exemples d'utilisation
Échantillonnage par incertitude basé sur l'entropie
Utilise l'échantillonnage par incertitude (UNCERTAINTY) pour sélectionner les 10 observations (topK) où le modèle actuel est le moins confiant, en utilisant la métrique de l'entropie.
| 1 | PROC CAS; |
| 2 | activeLearn.uncertaintySampling / |
| 3 | TABLE={name="donnees_apprentissage"} |
| 4 | id="id" |
| 5 | target="target" |
| 6 | selectQuery={method="UNCERTAINTY", probVar="pred_prob", metric="ENTROPY"} |
| 7 | OUTPUT={casOut={name="donnees_a_etiqueter", replace=true}, copyVars="ALL"} |
| 8 | topK=10; |
| 9 | QUIT; |
Résultat Attendu :
Échantillonnage par pertinence avec noyau gaussien
Effectue un échantillonnage basé sur la pertinence (RELEVANCE) pour équilibrer la densité des données et l'incertitude. Le paramètre gamma contrôle la variance du noyau gaussien.
| 1 | PROC CAS; |
| 2 | activeLearn.uncertaintySampling / |
| 3 | TABLE={name="donnees_apprentissage"} |
| 4 | id="id" |
| 5 | target="target" |
| 6 | inputs={"var1", "var2"} |
| 7 | selectQuery={method="RELEVANCE", minNObs=500, gamma=20.0} |
| 8 | OUTPUT={casOut={name="donnees_pertinentes", replace=true}, copyVars="ALL_MODEL"} |
| 9 | topK=25; |
| 10 | QUIT; |