brauche Hilfe beim JSL-Skript - versuche, zufällige Zeilen für Modellvalidierungstests zu entfernen und die restlichen Zeilen für die Modellerstellung zu verwendenHallo! Ich versuche, eine Regressionsgleichung mit zufällig ausgewählten 80 % der Daten anzupassen und mithilfe der resultierenden Modellgleichung die verbleibenden 20 % der Daten durch das Modell laufen zu lassen. Anschließend speichere ich die beobachteten und modellierten Ergebnisse dieser 20 %. Das heißt, die 20 % der Zeilen werden zur Validierung verwendet.
Mein Datensatz umfasst 227 Zeilen. Ich möchte mit 80 % dieser Zeilen trainieren (d. h. eine Regressionsgleichung entwickeln). Anschließend werde ich diese Regressionsgleichung auf die verbleibenden 20 % der Zeilen anwenden, um für diese 20 % der Zeilen das beobachtete und das modellierte Ergebnis zu berechnen.
Mein Skript funktioniert nicht richtig. Es schließt 20 % der Zeilen korrekt aus, führt dann aber alle 100 % der Zeilen aus und speichert diese. Ich zeige den Code unten, habe aber den Teil entfernt, der verschiedene Metriken zu beobachteten und modellierten Ergebnissen berechnet.
Ich bin für jede Hilfe sehr dankbar! (Ich verwende JMP Pro 17.0)
dt = Open("C:\Users\trcampbell\Desktop\MASTER ECOLI\2025\2024.xlsx");
Random_rows = dt << Select Randomly(0.2) << Hide and Exclude();
New Column("Excluded", Numeric, ordinal);
:Excluded << Set Formula(If(Excluded(), 1, 0));
dt << Sort(By(:Excluded), Replace Table, Order(Descending), Copy formula(0));
/////////////......LOG ECOLI VS LOG TURB....LINEAR FIT....../////////////////////
obj = Fit Model(
Y(:LOGECOLI),
Effects(:LOGTURB),
Personality("Standard Least Squares"),
Emphasis("Effect Leverage"),
Run(:LOGECOLI)
);
obj << Prediction Formula;
ref = obj <<
dt << save(
"C:\Users\trcampbell\Desktop\MASTER ECOLI\2025\validation results\test xxxxx1 with 126 and 886.xls"
);Automatisierung und SkriptingGrundlegende Datenanalyse und -modellierungBetreff: Brauche Hilfe mit JSL-Skript – versuche, zufällige Zeilen für Modellvalidierungstests zu entfernen und die restlichen Zeilen für die Modellerstellung zu verwendenDa Sie JMP Pro haben, würde ich die Verwendung der Validierungsspalte in Betracht ziehen.

Betreff: Brauche Hilfe mit JSL-Skript – versuche, zufällige Zeilen für Modellvalidierungstests zu entfernen und die restlichen Zeilen für die Modellerstellung zu verwendenSie verwenden JMP Pro. Kennen Sie die integrierte Unterstützung für die Modellauswahl mithilfe von Trainings-, Validierungs- und Test-Holdout-Sets?
Betreff: Brauche Hilfe mit JSL-Skript – versuche, zufällige Zeilen für Modellvalidierungstests zu entfernen und die restlichen Zeilen für die Modellerstellung zu verwendenIch habe Ihr JSL-Skript auf JMP 17 ausgeführt und dabei die Beispieldatentabelle „Semiconductor Capability“ verwendet. Das Skript hat 291 der insgesamt 1455 Zeilen ausgewählt. Die 291 ausgewählten Zeilen wurden ausgeblendet und ausgeschlossen.
Anschließend wurde das Anpassungsmodell ausgeführt und die Ergebnisse des Anpassungsmodells basierten nur auf den nicht ausgeschlossenen Zeilen.

Die gespeicherte Vorhersageformel berechnet die vorhergesagten Werte für alle Zeilen. Sie unterscheidet nicht zwischen ausgewählten/ausgeschlossenen und nicht ausgewählten/ausgeschlossenen Zeilen.
Dies kann die Ursache des von Ihnen angezeigten Problems sein.
Betreff: Brauche Hilfe mit JSL-Skript – versuche, zufällige Zeilen für Modellvalidierungstests zu entfernen und die restlichen Zeilen für die Modellerstellung zu verwendenDanke, Jim. Gibt es eine Möglichkeit, das Skript so zu überarbeiten, dass nur die 20 % (Validierungssatz) der Zeilen gespeichert werden?
Betreff: Brauche Hilfe mit JSL-Skript – versuche, zufällige Zeilen für Modellvalidierungstests zu entfernen und die restlichen Zeilen für die Modellerstellung zu verwendenEs gibt verschiedene Möglichkeiten, dies zu tun.
- Anstatt „Zufallsauswahl“ zu verwenden, können Sie „Teilmenge“ verwenden und eine 80%ige Zufallsstichprobe erstellen lassen. Führen Sie anschließend Ihr Anpassungsmodell aus und speichern Sie die Teilmengentabelle.
- Alternativ können Sie nach dem Ausführen Ihres Skripts die Tabelle basierend auf Ihrer ausgeschlossenen Spalte unterteilen und dann die erstellte untergeordnete Tabelle speichern
Betreff: Brauche Hilfe mit JSL-Skript – versuche, zufällige Zeilen für Modellvalidierungstests zu entfernen und die restlichen Zeilen für die Modellerstellung zu verwendenVielen Dank. Ich habe den folgenden Code einfach in der Zeile kurz vor dem Speichern der Datei verwendet. Ich gehe davon aus, dass er korrekt ist (d. h., er verwendet immer noch die Formel, die aus den 80 % der Trainingszeilen gewonnen wurde).
dt << Zeilen löschen (dt << Zeilen abrufen, wobei (:Ausgeschlossen == 0));
dt<< Save("C:\\Benutzer\\trcampbell\\Desktop\\MASTER ECOLI\\2025\\Validierungsergebnisse\\Ausgeschlossene Zeilen.xlsx");
Betreff: Brauche Hilfe mit JSL-Skript – versuche, zufällige Zeilen für Modellvalidierungstests zu entfernen und die restlichen Zeilen für die Modellerstellung zu verwendenDanke, jthi!
Betreff: Brauche Hilfe mit JSL-Skript – versuche, zufällige Zeilen für Modellvalidierungstests zu entfernen und die restlichen Zeilen für die Modellerstellung zu verwendenJa, vielen Dank.