L'action `featureMachine` du jeu d'actions `dataSciencePilot` est un moteur automatisé de transformation et de génération de fonctionnalités. Elle effectue une analyse exploratoire des données, filtre les variables non pertinentes et génère de nouvelles fonctionnalités (features) pour améliorer la puissance prédictive des modèles. Elle gère automatiquement les valeurs manquantes, les valeurs aberrantes, la cardinalité et peut créer des interactions et des transformations polynomiales.
| Paramètre | Description |
|---|---|
| table | Spécifie la table d'entrée contenant les données à analyser. (Requis) |
| target | Spécifie la variable cible pour l'apprentissage supervisé. (Requis) |
| featureOut | Spécifie la table de sortie CAS qui contiendra les métadonnées des fonctionnalités générées. (Requis) |
| transformationOut | Spécifie la table de sortie CAS qui contiendra les pipelines de transformation. (Requis) |
| casout | Spécifie la table de sortie pour les résultats d'analyse. |
| saveState | Spécifie la table de sortie pour sauvegarder le modèle de transformation (Analytic Store) pour le scoring futur. |
| inputs | Spécifie les variables d'entrée à utiliser. Si non spécifié, toutes les variables sont utilisées sauf la cible. |
| nominals | Spécifie les variables à traiter comme nominales. |
| screenPolicy | Définit les politiques pour filtrer les variables (ex: constantes, valeurs manquantes excessives, fuites d'information). |
| explorationPolicy | Définit les paramètres pour l'exploration des données (ex: seuils de cardinalité, entropie, valeurs aberrantes). |
| transformationPolicy | Définit les types de transformations à appliquer (ex: interactions, polynômes, traitement des valeurs manquantes). |
| rankPolicy | Définit les statistiques utilisées pour classer et sélectionner les meilleures fonctionnalités. |
| copyVars | Liste des variables à copier directement dans la table de sortie sans transformation. |
| freq | Variable de fréquence pour les observations pondérées. |
| weight | Variable de pondération pour l'analyse. |
| event | Spécifie le niveau d'événement cible pour les modèles de classification. |
| seed | Spécifie la graine pour la génération de nombres aléatoires. |
| misraGries | Active l'algorithme Misra-Gries pour l'estimation approximative des fréquences si la limite de comptage distinct est atteinte. |
| distinctCountLimit | Limite pour le comptage distinct exact avant de passer à l'approximation. |
| ecdfTolerance | Tolérance pour le calcul de la fonction de répartition cumulative empirique. |
Charge le jeu de données HMEQ (Home Equity) depuis la bibliothèque SASHELP vers la mémoire CAS.
| 1 | |
| 2 | PROC CAS; |
| 3 | |
| 4 | loadTable path="hmeq.csv" caslib="samples" casout="hmeq"; |
| 5 | |
| 6 | RUN; |
| 7 |
Cet exemple génère automatiquement des fonctionnalités pour prédire la variable cible BAD à partir de la table HMEQ.
| 1 | PROC CAS; |
| 2 | dataSciencePilot.featureMachine / |
| 3 | TABLE={name="hmeq"}, |
| 4 | target="BAD", |
| 5 | featureOut={name="features_out", replace=true}, |
| 6 | transformationOut={name="transformations_out", replace=true}; |
| 7 | RUN; |
Cet exemple configure des politiques spécifiques pour la détection d'interactions, l'élimination des variables à forte cardinalité et le traitement des valeurs manquantes.
| 1 | PROC CAS; |
| 2 | dataSciencePilot.featureMachine / |
| 3 | TABLE={name="hmeq"}, |
| 4 | target="BAD", |
| 5 | featureOut={name="features_adv", replace=true}, |
| 6 | transformationOut={name="trans_adv", replace=true}, |
| 7 | explorationPolicy={ |
| 8 | cardinality={mediumHighCutoff=50}, |
| 9 | missing={mediumHighCutoff=20} |
| 10 | }, |
| 11 | screenPolicy={ |
| 12 | missingPercentThreshold=80, |
| 13 | lowCv=TRUE |
| 14 | }, |
| 15 | transformationPolicy={ |
| 16 | interaction=TRUE, |
| 17 | polynomial=TRUE, |
| 18 | missing=TRUE |
| 19 | }, |
| 20 | saveState={name="astore_model", replace=true}; |
| 21 | RUN; |