需要 jsl 脚本帮助 - 尝试删除随机行以进行模型验证测试,并使用剩余行进行模型创建您好 - 我正在尝试使用随机的 80% 数据拟合回归方程,并使用生成的模型方程,通过模型运行剩余的 20% 数据,并保存这 20% 的观察结果与模型结果。也就是说,20% 的行用于验证。
我的数据集有 227 行。我想使用其中的 80% 进行训练(即开发回归方程),然后在剩余的 20% 行上运行该回归方程,以计算这 20% 行的观察值与模型值。
我的脚本无法正常工作 - 它正确地排除了 20% 的行,但随后运行了所有 100% 的行并保存了这些行。我展示了下面的代码,但删除了计算关于观察到的结果与模型结果的各种指标的部分。
任何帮助都将不胜感激!(我正在使用 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"
);自动化和脚本基础数据分析与建模回复:需要 jsl 脚本帮助 - 尝试删除随机行以进行模型验证测试,并使用剩余行进行模型创建由于您有 JMP Pro,我会考虑使用验证列

回复:需要 jsl 脚本帮助 - 尝试删除随机行以进行模型验证测试,并使用剩余行进行模型创建您正在使用 JMP Pro。您是否知道使用训练、验证和测试保留集进行模型选择的内置支持?
回复:需要 jsl 脚本帮助 - 尝试删除随机行以进行模型验证测试,并使用剩余行进行模型创建我使用半导体能力样本数据表在 JMP 17 上运行了您的 JSL。脚本选择了总共 1455 行中的 291 行。这 291 行被隐藏并排除。
然后运行拟合模型,拟合模型的结果仅基于未排除的行。

保存的预测公式会计算所有行的预测值。它不会根据选定/排除的行与未选定/排除的行进行区分。
这可能是您所看到的问题的根源。
回复:需要 jsl 脚本帮助 - 尝试删除随机行以进行模型验证测试,并使用剩余行进行模型创建谢谢,Jim。有没有办法修改脚本以仅保存 20%(验证集)的行?
回复:需要 jsl 脚本帮助 - 尝试删除随机行以进行模型验证测试,并使用剩余行进行模型创建您可以通过不同的方式来实现此目的。
- 您可以使用子集来代替随机选择,并让其创建 80% 的随机样本。然后运行拟合模型并保存子集表。
- 或者,运行脚本后,根据排除的列对表进行子集处理,然后保存生成的子集表
回复:需要 jsl 脚本帮助 - 尝试删除随机行以进行模型验证测试,并使用剩余行进行模型创建谢谢。我在保存文件之前刚刚在行中使用了下面的这段代码。我认为这是正确的(也就是说,它仍然利用了从 80% 的训练行中获得的公式)。
dt<< 删除行(dt<< 获取行其中(:Excluded == 0 ));
dt<< Save("C:\\Users\\trcampbell\\Desktop\\MASTER ECOLI\\2025\\validation results\\excluded rows.xlsx");
回复:需要 jsl 脚本帮助 - 尝试删除随机行以进行模型验证测试,并使用剩余行进行模型创建谢谢 jthi!
回复:需要 jsl 脚本帮助 - 尝试删除随机行以进行模型验证测试,并使用剩余行进行模型创建是的,非常感谢。