Ich versuche, eine zufällige Teilmenge von Zeilen zu erstellen, zu speichern und diese zur späteren Verwendung in einem Skript zu speichernIch führe eine sehr große Anzahl von Validierungstests an einem Vorhersagemodell mit multipler Regression durch, das ich ständig verfeinere, und möchte einen Teil des Validierungstestprozesses mithilfe eines Skripts automatisieren.Bisher war es mir nicht möglich, den Teil des Prozesses, in dem ich eine zufällige Teilmenge von Zeilen aus meinem Trainingsdatensatz generiere und speichere, um sie für Validierungstests zu verwenden, im Skript zu speichern.
Wenn ich das manuell mache: 1) erzeuge 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 dafür gesorgt 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 Teilmengentabelle passen (d. h. Validierungstests).
Wie bringe ich JMP dazu, diese Bewegungen in einem Skript „aufzuzeichnen“?Bisher ist es mir noch nicht gelungen, diese Bewegungen zu erkennen.Vielen Dank im Voraus!
Datenmischung und -bereinigungDatenexploration und -visualisierungBetreff: Ich versuche, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernJa, das ist ein viel besserer Ansatz, Mark.Ich weiß es wirklich zu schätzen, dass Sie sich die Zeit genommen haben, mich darüber zu informieren.
Betreff: Ich versuche, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichern
Betreff: Ich versuche, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernDanke, Mark – Ermöglicht der Status „Ausgeschlossene Zeile“, dass eine zufällige Auswahl von Zeilen (z. B. 20 %) aus dem Originaldatensatz ausgeschlossen wird?Im JSL-Skriptindex war dies nicht offensichtlich.
Betreff: Ich versuche, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speicherntxnelson – Danke für den Tipp!
Betreff: Ich versuche, 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 Script Index als Hilfe vorgeschlagen haben.Es funktioniert perfekt.
Betreff: Ich versuche, 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 Reaktion der ausgeschlossenen Zeilen wird dort angezeigt.
Darüber hinaus bietet JMP Pro eine Validierungsanalyserolle, um solche Auswertungen sehr einfach und bequem zu gestalten.
Betreff: Ich versuche, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernHallo @learning_JSL ,
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 einer größeren For-Schleife unterbringen und es kann alles automatisch für Sie erledigen. Wenn ich jetzt darüber nachdenke, was Sie mit den Daten machen, kommt es mir fast so vor, als würden Sie etwas Ähnliches wie eine K-fache Kreuzvalidierung durchführen. Wenn ja, können viele der Fit-Plattformen in JMP das problemlos bewältigen. Abhängig von der Modellierungsplattform können Sie diese Option als Kreuzvalidierungsoption auswählen oder 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 schichten, je nachdem, was für Ihre Situation am besten funktioniert.
Nebenbei bemerkt: Wenn Sie mit der Skripterstellung 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 diese Aktionen/Befehle ausgeführt werden.
Hoffe das hilft!,
DS
Betreff: Ich versuche, 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 im Skript einen Befehl zum Benennen der neuen Dateien (dh der neuen Teilmengendatei und der neuen Haupttabellendatei)?Im Idealfall würde es die beiden neuen Dateien bei jeder Ausführung des Skripts mit einer fortlaufend steigenden Nummer benennen (z. B. Teilmenge 1, Hauptdatei 1 ... Teilmenge 2, Hauptdatei 2 ... Teilmenge 3, Hauptdatei 3, ... ..usw.), aber es macht mir nichts aus, es bei Bedarf manuell im Skript neu einzustellen, da dies bereits eine enorme Zeitersparnis bedeutet.
Betreff: Ich versuche, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernHallo @learning_JSL ,
Das folgende Skript soll Ihnen dabei helfen, dorthin zu gelangen, wo Sie hin möchten. Ich würde nicht empfehlen, die Teilmenge mit der Haupttabelle zu verknüpfen, denn wenn Sie dies tun, werden beim Löschen dieser Zeilen in der Haupttabelle mithilfe des Skripts auch die Zeilen in der Teilmengentabelle gelöscht. Auf jeden Fall sollte dies Ihnen den Einstieg in die Richtung ermöglichen, 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: Ich versuche, eine zufällige Teilmenge von Zeilen zu erstellen und zu speichern und diese zur späteren Verwendung in einem Skript zu speichernSehen Sie sich den Quelleneintrag in der Teilmengendatentabelle an und dort finden Sie die JSL für die Teilmenge