<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich verwende JMP Pro 11.
Ich arbeite an einem Projekt, bei dem viele Gaußsche Prozesse angepasst werden müssen. Ich habe ein Skript geschrieben, das eine Reihe von Datendateien einliest, jeder einen Gaußschen Prozess anpasst, Vorhersagen für einen anderen Datensatz trifft und dann die Vorhersagen in eine Datei schreibt.
Aber jetzt möchte ich die Modellparameter (mu, Sigma im Quadrat, Theta) speichern und sie auch in eine separate Datei schreiben. Wie kann ich das machen? Zuerst wird das Modell erstellt, gp. Dann möchte ich den Modellbericht speichern.Von Hand kann ich Bearbeiten > Als Text kopieren, in eine andere Datei einfügen und speichern. Ich kann es nachbearbeiten, um die Parameter herauszubekommen, obwohl es nicht ideal ist. Wie kann ich ein Skript dazu bringen? Hier ist der Code, den ich jetzt habe:
gp = Gaußscher Prozess( Y( :y ), X( ), Korrelationsfunktion setzen( "Cubic" ) ); // das sollte ein : x sein, kein Smiley
gp << Speichern( ); // funktioniert nicht
Ich konnte Speichern oder Textdatei speichern nicht zum Laufen bringen. Ich habe auch einige Variationen des Hauptmenüs ("Als Text kopieren") ausprobiert, aber ich konnte das auch nicht zum Laufen bringen.
Danke für jede Hilfe.
Danke Ron! Der Befehl Report parameters NumberColBox war genau das, was ich brauchte, und ich bin dabei, den Code für die Verwendung in meinem eigenen Skript anzupassen.
Hallo Jazz,
Ihre Frage beinhaltet ein paar Probleme.
Wenn Sie die Ergebnisse vieler Prozesse behalten möchten, kann es nützlich sein, die Ausgabe jedes Laufs nicht zu speichern, sondern die Werte in eine Datentabelle zu extrahieren und diese zu speichern.
Das Folgende ist vielleicht nicht die eleganteste Lösung, aber es gibt Ihnen eine Vorstellung davon, was Sie möglicherweise suchen:
// Erstellen Sie eine neue leere Tabelle, um die Ergebnisse aufzunehmen
ntd = Neuer Tisch ( "Parameter" , Zeilen hinzufügen ( 5 )) ;
Neue Spalte ( "mu" ) ;
Neue Spalte ( "sig2" ) ;
Neue Spalte ( "Theta" ) ;
für ( ich = 1 , ich <= 5 , ich ++,
// eine Datentabelle öffnen
dt = Offen ( "$SAMPLE_DATA/Große Klasse.jmp" ) ;
Warten ( 0 ) ;
// den Gaußschen Prozess ausführen
Parameter = GP = Gaußscher Prozess ( Y ( : Höhe ) , X ( : Gewicht ) , Korrelationsfunktion einstellen ( "kubisch" ) ) ;
// extrahiere die Parameter aus dem Bericht
Mu = Bericht ( Parameter ) [ NumberColBox ( 5 )] [ 1 ] ;
sig2 = Bericht ( Parameter ) [ NumberColBox ( 6 )] [ 1 ] ;
Theta = Bericht ( Parameter ) [ NumberColBox ( 1 )] [ 1 ] ;
// Werte in die neue Tabelle einfügen
ntd : Mu [ ich ] = Mu ;
ntd : sig2 [ ich ] = sig2 ;
ntd : Theta [ ich ] = Theta ;
schließen ( dt , nicht sparen ) ;
Warten ( 1 ) ;
) ;
Die Schleife ist nur eine Möglichkeit, dies viele Male zu tun und Ergebnisse zu sammeln. Offensichtlich macht es keinen Sinn, dieselben Ergebnisse immer wieder zu reproduzieren.
hoffe das hilft,
Ron