Diese Funktion der ASTORE-Prozedur erleichtert das Lebenszyklusmanagement von Modellen. Nachdem ein Modell auf CAS trainiert (z.B. mit PROC NNET, PROC FOREST usw.) und als analytischer Store gespeichert wurde, kann es aus verschiedenen Gründen notwendig sein, es vom CAS-Server in eine lokale Umgebung zu verschieben: Ausführung von Scoring auf lokalen Daten ohne CAS-Verbindung, Archivierung oder Integration in Client-Anwendungen. Der Download bewahrt die Struktur und die Gewichte des Modells für die spätere Verwendung. Der Befehl erfordert die Identifizierung des Modells auf dem CAS-Server (Caslib und Modellname) und die Angabe des lokalen Zielpfads. Es ist entscheidend sicherzustellen, dass der lokale Pfad zugänglich ist und ausreichende Schreibberechtigungen vorhanden sind.
Datenanalyse
Type : CREATION_INTERNE
Die Beispiele simulieren die Existenz eines ASTORE-Modells auf dem CAS-Server und demonstrieren die Download-Operationen. Die für die Beispiele erforderlichen Daten werden intern generiert oder es wird angenommen, dass sie in SASHELP existieren.
1 Codeblock
PROC ASTORE Data
Erklärung : Dieses Beispiel veranschaulicht den einfachsten Download eines ASTORE-Modells. Zuerst wird ein Dummy-ASTORE-Modell auf dem CAS-Server (in der Caslib 'mycaslib') erstellt. Anschließend wird die PROC ASTORE Prozedur mit der DOWNLOAD-Anweisung verwendet, um dieses Modell in das lokale Dateisystem zu übertragen, das durch 'casfile' angegeben ist. Der Pfad './' zeigt auf das aktuelle Arbeitsverzeichnis der SAS-Sitzung.
Kopiert!
/* Étape 1: Préparation - S'assurer qu'un modèle ASTORE existe sur CAS */
/* Cette étape est à des fins de démonstration. En pratique, un modèle serait déjà entraîné. */
/* Créons une table CAS simple, puis un store bidon */
proc cas;
session casauto;
table.addCaslib / caslib='mycaslib' path='/tmp' datasource={srctype='path'};
data _null_;
file caslib='mycaslib' '/tmp/my_simple_model.sashdat';
put 'MODEL_HEADER_INFO';
put 'MODEL_BINARY_CONTENT';
run;
session.upload / caslib='mycaslib' path='/tmp/my_simple_model.sashdat' casout={name='mySimpleModel', replace=TRUE};
quit;
/* Étape 2: Téléchargement du modèle ASTORE vers le système de fichiers local */
/* Le fichier sera sauvegardé dans le répertoire de travail actuel de SAS. */
proc astore;
download caslib="mycaslib" name="mySimpleModel" casfile="./mySimpleModel.astore";
run;
1
/* Étape 1: Préparation - S'assurer qu'un modèle ASTORE existe sur CAS */
2
/* Cette étape est à des fins de démonstration. En pratique, un modèle serait déjà entraîné. */
3
/* Créons une table CAS simple, puis un store bidon */
Erklärung : Dieses Beispiel demonstriert die Verwendung der Option 'REPLACE' in der DOWNLOAD-Anweisung, die es ermöglicht, eine vorhandene Datei im lokalen Dateisystem zu ersetzen, ohne einen Fehler zu erzeugen. Es verwendet das Konzept eines Dummy-Modells und gibt den lokalen Zielpfad mit der Ersetzungsoption an.
Kopiert!
/* Étape 1: Préparation - Assurer l'existence d'un modèle ASTORE sur CAS */
/* Réutilisons le modèle de l'exemple précédent ou créons-en un nouveau */
proc cas;
session casauto;
table.addCaslib / caslib='mycaslib' path='/tmp' datasource={srctype='path'};
data _null_;
file caslib='mycaslib' '/tmp/another_model.sashdat';
put 'MODEL_HEADER_INFO_V2';
put 'MODEL_BINARY_CONTENT_V2';
run;
session.upload / caslib='mycaslib' path='/tmp/another_model.sashdat' casout={name='anotherModel', replace=TRUE};
quit;
/* Étape 2: Téléchargement du modèle ASTORE, en écrasant un fichier local existant */
/* L'option REPLACE assure que le fichier local sera mis à jour. */
proc astore;
download caslib="mycaslib" name="anotherModel" casfile="./anotherModel.astore" replace;
run;
1
/* Étape 1: Préparation - Assurer l'existence d'un modèle ASTORE sur CAS */
2
/* Réutilisons le modèle de l'exemple précédent ou créons-en un nouveau */
Erklärung : Dieses Beispiel zeigt ein realistischeres Szenario, in dem ein Modell zuerst trainiert (hier eine logistische Regression mit PROC LOGISTIC) und direkt als analytischer Store auf dem CAS-Server gespeichert wird. Anschließend wird die DOWNLOAD-Anweisung von PROC ASTORE verwendet, um dieses trainierte Modell abzurufen und lokal zu speichern. Dies ist nützlich, um das Modell zu inspizieren oder in einer Offline-Umgebung bereitzustellen.
Kopiert!
/* Étape 1: Connexion au serveur CAS et chargement de données */
options casopts=(timeout=3600);
cas casauto;
caslib _all_ assign;
/* Chargement de données SASHELP dans CAS pour l'entraînement */
data casuser.hmeq_data;
set sashelp.hmeq;
where loan ne . and bad ne .;
run;
/* Étape 2: Entraînement d'un modèle simple (régression logistique) et sauvegarde en ASTORE */
proc logistic data=casuser.hmeq_data;
model bad = loan mortdue yoq;
output out=casuser.predicted_hmeq p=phat;
astore caslib='CASUSER' name='hmeq_logistic_model' label='HMEQ Logistic Model' replace;
run;
/* Étape 3: Téléchargement du modèle ASTORE vers le système de fichiers local */
proc astore;
download caslib="CASUSER" name="hmeq_logistic_model" casfile="./hmeq_logistic_model.astore" replace;
run;
1
/* Étape 1: Connexion au serveur CAS et chargement de données */
2
options casopts=(timeout=3600);
3
cas casauto;
4
caslib _all_ assign;
5
6
/* Chargement de données SASHELP dans CAS pour l'entraînement */
7
DATA casuser.hmeq_data;
8
SET sashelp.hmeq;
9
where loan ne . and bad ne .;
10
RUN;
11
12
/* Étape 2: Entraînement d'un modèle simple (régression logistique) et sauvegarde en ASTORE */
Erklärung : Dieses Beispiel verdeutlicht das Verhalten der DOWNLOAD-Anweisung, wenn bereits eine lokale Datei mit demselben Namen existiert. Der erste Versuch ohne die Option 'REPLACE' veranschaulicht die Notwendigkeit dieser Option, um vorhandene Dateien zu überschreiben. Der zweite Versuch, mit 'REPLACE', demonstriert, wie der Download und die Aktualisierung der lokalen Datei erzwungen werden können. Dieses Beispiel ist in einer Viya-Umgebung relevant, in der die Verwaltung lokaler und CAS-Dateien häufig vorkommt.
Kopiert!
/* Étape 1: S'assurer de l'existence d'un modèle sur CAS pour le test */
proc cas;
session casauto;
table.addCaslib / caslib='mycaslib' path='/tmp' datasource={srctype='path'};
data _null_;
file caslib='mycaslib' '/tmp/conditional_model.sashdat';
put 'MODEL_CONTENT_V_COND';
run;
session.upload / caslib='mycaslib' path='/tmp/conditional_model.sashdat' casout={name='conditionalModel', replace=TRUE};
quit;
/* Étape 2: Tentative de téléchargement - simule un fichier existant déjà */
/* Crée un fichier bidon local pour simuler un fichier existant */
data _null_;
file './conditionalModel.astore';
put 'OLD_LOCAL_MODEL_CONTENT';
run;
/* Tente de télécharger sans l'option REPLACE (devrait échouer ou avertir) */
proc astore;
download caslib="mycaslib" name="conditionalModel" casfile="./conditionalModel.astore";
run;
/* Étape 3: Téléchargement forcé avec REPLACE */
/* Cette étape réussira, écrasant le fichier local existant. */
proc astore;
download caslib="mycaslib" name="conditionalModel" casfile="./conditionalModel.astore" replace;
run;
/* Nettoyage : Suppression du fichier local et du modèle CAS */
/* x 'rm ./conditionalModel.astore'; */ /* Décommenter si l'exécution en ligne de commande est autorisée */
proc casutil;
delete casdata="conditionalModel" incaslib="mycaslib";
dropcaslib 'mycaslib';
quit;
1
/* Étape 1: S'assurer de l'existence d'un modèle sur CAS pour le test */
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.