# 默认配置:MZM MLP 多输出回归基线 # 将数据 txt 放到 data/ 下并修改 data_path,或保持路径指向你的文件 data_path: data/dataset.txt split_ratios: [0.7, 0.15, 0.15] # train, val, test;可改为 [0.8, 0.1, 0.1] random_seed: 42 remove_duplicate_rows: true # 异常值处理策略:none | iqr | zscore | quantile_clip # 默认仅报告极端值,不删除;物理上不可信的 V_pi 由下方区间门控剔除 outlier_strategy: none # 启用非 none 策略时,在训练子集上拟合阈值;iqr/zscore 仅删训练集离群行;quantile_clip 按训练分位数 winsorize outlier_apply_to: targets # targets | all outlier_config: iqr_k: 1.5 zscore_threshold: 4.0 quantile_lower: 0.001 quantile_upper: 0.999 # 以 txt 第 11 列(列名 V_pi)为物理门控:仅保留闭区间 [v_pi_min, v_pi_max] 内样本 filter_v_pi_range: true v_pi_min: 0.0 v_pi_max: 500.0 # 在区间过滤之后,是否再剔除 V_pi<=0;若需保留 V_pi=0(仍在 [0,500] 内),请设为 false remove_nonpositive_vpi: false model: input_dim: 8 hidden_dims: [200, 300, 350, 300, 200] output_dim: 3 batchnorm: false dropout: 0.0 residual: false optimizer: name: adamw lr: 0.001 weight_decay: 0.0001 scheduler: type: cosine # cosine | plateau plateau_factor: 0.5 plateau_patience: 10 plateau_min_lr: 1.0e-6 training: batch_size: 128 epochs: 300 early_stopping_patience: 30 num_workers: 0 loss: type: huber # huber | weighted_mse huber_delta: 1.0 target_weights: [1.0, 1.0, 1.0] # 总输出目录;每次训练会在其下创建 run_时间戳/ output_dir: results # 评估/推理时若未指定 run_dir,可填最近一次 run 的路径(可选) last_run_dir: null