versuchen, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernIch mache eine sehr große Anzahl von Validierungstests an einem multiplen Regressionsvorhersagemodell, das ich weiter verfeinere, und möchte einen Teil des Validierungstestprozesses mit einem Skript automatisieren.Bisher konnte ich den Teil des Prozesses, in dem ich eine zufällige Teilmenge von Zeilen aus meinem Trainings-Dataset für Validierungstests generiert und speichere, nicht "in Skript speichern".
Wenn ich dies manuell mache: 1) generiere ich eine zufällige Teilmenge von Zeilen (20 Prozent) aus meiner Haupttabelle, 2) speichere die Teilmenge und 3) lösche diese Teilmengenzeilen aus der Haupttabelle und speichere die "neue" Haupttabelle ( Beachten Sie, dass ich sichergestellt habe, dass die Teilmengentabelle mit der Haupttabelle verknüpft ist, um diesen Schritt zu ermöglichen).Anschließend führe ich die Modellanalyse für die neue Haupttabelle durch und teste, wie gut die Zeilen in der Untermengentabelle passen (dh Validierungstests).
Wie bringe ich JMP dazu, diese Bewegungen in einem Skript aufzuzeichnen?Bisher habe ich es nicht geschafft, diese Bewegungen zu erkennen.Danke im Voraus!
SkriptingBetreff: Versuch, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernSchauen Sie in den Quelleintrag in der Teilmengen-Datentabelle und es wird die jsl für die Teilmenge habenBetreff: Versuch, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernHi @Campbell_Ted_R ,
Das folgende Skript soll Ihnen dabei helfen, dorthin zu gelangen, wo Sie hin möchten. Ich würde nicht empfehlen, die Untermenge mit der Haupttabelle zu verknüpfen, denn wenn Sie dies tun, werden beim Löschen dieser Zeilen in der Haupttabelle mit dem Skript auch die Zeilen in der Untermengentabelle gelöscht. Wie auch immer, dies sollte Sie in die Richtung bringen, in die Sie gehen möchten.
Names default to here (1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Random_rows = dt<<SELECT randomly=""></SELECT>
Hoffe das hilft!,
DS
Betreff: Versuch, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernPerfekt!Und gibt es einen Befehl, um die neuen Dateien (dh die neue Teilmengendatei und die neue Haupttabellendatei) innerhalb des Skripts zu benennen?Idealerweise benennt es die beiden neuen Dateien bei jedem Ausführen des Skripts mit einer fortlaufend aufsteigenden Nummer (zB subset 1, main 1.....subset 2, main 2.....subset 3, main 3, ... ..etc), aber es macht mir nichts aus, es bei Bedarf selbst im Skript manuell neu zu setzen, da dies bereits eine enorme Zeitersparnis bedeutet.
Betreff: Versuch, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernHi @Campbell_Ted_R ,
Ja, wenn Sie die Funktion Speichern oder Speichern unter in JSL aufrufen, können Sie den Namen festlegen. Wenn Sie dies iterativ tun, können Sie alles in eine größere For-Schleife einfügen und alles automatisch für Sie erledigen. Jetzt, wo ich darüber nachdenke, was Sie mit den Daten machen, scheint es fast so, als würden Sie etwas Ähnliches wie die K-fach-Kreuzvalidierung tun. Wenn ja, werden viele der Fit-Plattformen in JMP dies sehr leicht handhaben. Abhängig von der Modellierungsplattform können Sie sie als Kreuzvalidierungsoption auswählen oder Sie müssen möglicherweise mehrere k-fache Validierungsspalten erstellen, wie dies in XGBoost erforderlich ist. In beiden Fällen können Sie eine Validierungsspalte mit Trainings-, Validierungs- und Testspalten erstellen und die Validierungsspalte basierend auf der Antwortspalte oder Faktorspalten stratifizieren, je nachdem, wie es für Ihre Situation am besten funktioniert.
Nebenbei bemerkt: Wenn Sie mit dem Skripting beginnen möchten, um Zeit zu sparen, empfehle ich Ihnen dringend, den Skriptindex (Hilfe > Skriptindex) zu verwenden. Sie können nach Befehlen suchen, und es gibt Beispiele dafür, wie es verwendet wird, um diese Aktionen/Befehle auszuführen.
Hoffe das hilft!,
DS
Betreff: Versuch, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernBevor Sie fortfahren, frage ich mich, ob ein anderer Ansatz einen Vorteil hat. Sie können den Zeilenstatus „Ausgeschlossen“ anstelle einer Teilmenge verwenden. Fit Least Squares schließt ausgeschlossene Zeilen nicht in das Training des Modells ein. Sie können eine Vorhersageformel in einer neuen Spalte speichern und die vorhergesagte Antwort der ausgeschlossenen Zeilen wird dort angezeigt.
Außerdem bietet JMP Pro eine Validierungsanalyserolle, um solche Auswertungen sehr einfach und bequem zu machen.
Betreff: Versuch, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernDanke Diedrich!Und vielen Dank, dass Sie den JSL-Skriptindex als Hilfe vorgeschlagen haben.Es funktioniert perfekt.