All fst4 CLI settings in one place: one field per command-line flag (plus a few derived/internal fields such as data_resolved), populated by CLI11 in add_options() and consumed by the factory functions and run_pipeline() below. Unless noted, string fields default to "" (flag omitted / feature off); concrete defaults live in the Config() constructor below.
More...
|
|
std::string | data |
| | --data: path to the data file (TRN/ARFF/CSV), or "-" to read the dataset from standard input (then --format is required); "" when --features is used instead (data-free entry)
|
|
std::string | data_resolved |
| | --data -: the temporary file backing the buffered stdin; "" = --data is itself a path. The writers keep echoing --data, so the reported invocation stays "-" (and byte-stable)
|
|
std::string | format |
| | --format: data file format (trn|arff|csv); "" = infer from extension
|
|
std::string | csv_class |
| | CSV class column: "" = last column; integer = 0-based file column index; otherwise = header column name (implies a header row).
|
|
std::string | csv_delimiter |
| | auto | comma | semicolon | tab (auto = detected from the first line; decimal commas accepted when delimiter != comma)
|
|
std::string | csv_header |
| | auto | yes | no (auto = any non-numeric non-class field in line 1 means header)
|
|
double | csv_missing_to |
| | NaN = off; else: the CSV loader maps missing FEATURE tokens to this code and keeps the row (pair with --missing-value <same code> for imputation; void scaler only; missing class labels still skip).
|
|
std::string | splitter |
| | outer splitter (splitting depth 0)
|
|
std::string | splitter2 |
| | inner splitter (splitting depth 1); "" = single-level
|
|
std::string | scaler |
| | --scaler: data normalization – void (default, none) | to01 (per-feature to [0,1]) | white (whitening: zero mean, unit variance)
|
|
std::string | scaler_fit |
| | all (default: fit on the whole dataset before splitting) | train (per-split: fit on each depth-0 TRAIN part only, so no test-part statistics leak into the transform)
|
|
std::string | criterion |
| | --criterion: feature-selection criterion name (a normal-/multinomial-model filter or a wrapper-* classifier/regressor criterion; see --list for the full registry with validity notes)
|
|
std::string | knn_distance |
| | --knn-distance: kNN distance metric – L1 | L2 (default) | Lp (p=3/2, compile-time menu)
|
|
std::string | search |
| | --search: search algorithm name (bif, sfs/sbs, sffs/sbfs, sfrs/sbrs, os, dos, exhaustive, montecarlo, bb-basic/bb-improved/bb-fast/bb-bbpp)
|
|
std::string | search2 |
| | seeding pre-search ("bif"): its result subset seeds the main search (demo25t/33)
|
|
std::string | svm_kernel |
| | linear | rbf | poly | sigmoid (default rbf; LINEAR/SIGMOID may freeze LibSVM on some data)
|
|
std::string | svm_optimize |
| | none | pre | alternating: LibSVM C/gamma/coef0 grid optimization (demo12t / demo23)
|
|
std::string | regr_multipliers |
| | comma list: kernel-multiplier sweep, best-by-train wins (demo11reg)
|
|
std::string | evaluator |
| | sequential step object: straight | hybrid (filter prefilter, demo53) | ensemble (voting, demo50) | sampled (budgeted stochastic step)
|
|
std::string | hybrid_prefilter |
| | filter criterion pre-filtering candidates (with --evaluator hybrid)
|
|
std::string | ensemble_knn_ks |
| | comma list of kNN k values forming the voting ensemble (with --evaluator ensemble)
|
|
std::string | step_sampler |
| | sampled evaluator proposal policy: softmax | uniform | topk
|
|
std::string | step_stats |
| | sampled evaluator per-feature statistic: zcontrast | rawmean
|
|
std::string | classify_samples |
| | file of whitespace-separated samples to classify on the selected subspace (demo63)
|
|
std::string | validate |
| | comma list of classifiers for final depth-0 validation; "" = none; "same" = the wrapper criterion's classifier
|
|
std::string | wrapper_metric |
| | wrapper criterion metric beyond accuracy: balanced-accuracy | f1 | f1-macro | auc (classification) | r2 | neg-rmse | neg-mae (regression); "" = accuracy (default)
|
|
std::string | class_weights |
| | comma list of per-class cost weights, class-index order (classification wrappers); "" = unweighted
|
|
unsigned int | f1_positive |
| | class index scored as positive by --wrapper-metric f1 (two-class data; default 1)
|
|
std::string | tracker |
| | dupless (default) | regularizer | stabileval | feature-stats
|
|
std::string | tracker_attach |
| | "" = auto (search object; regularizer attaches to the evaluator per demo choreography)
|
|
std::string | regularize_by |
| | secondary criterion for the regularization sweep: subsetsize | weights
|
|
std::string | regularize_margins |
| | comma list of margins for optimize_within_margin
|
|
std::string | feature_costs |
| | comma list of per-feature costs (with --regularize-by weights)
|
|
std::string | output |
| | --output: result format on stdout – text (default) | json | csv; with json/csv all search progress goes to stderr
|
|
std::string | verbosity |
| | --verbosity: search progress verbosity – silent | normal (default) | detailed
|
|
std::string | progress_mode |
| | search progress delivery: text (default) | json (one line per improved solution) | quiet (observer swallows progress)
|
|
std::string | compare_config |
| | config file of a second scenario: run it too and report cross-scenario tracker similarity (the demo55 protocol)
|
|
double | missing_value |
| | NaN = off; else: substitute this exact value by the per-feature average of the available values – dataset-wide by default, the depth-0 TRAIN part's under --scaler-fit train (demo62; void scaler only).
|
|
unsigned int | cv_folds |
| | --cv-folds: number of outer cross-validation folds (with --splitter cv; default 3)
|
|
unsigned int | holdout_train |
| | --holdout-train: percentage of data used for outer training (with --splitter holdout; default 70)
|
|
unsigned int | rr_splits |
| | --rr-splits: outer randrand/randfix run count (number of random splits)
|
|
unsigned int | rr_train |
| | --rr-train: % of samples drawn for outer training
|
|
unsigned int | rr_test |
| | --rr-test: % of samples drawn for outer testing (disjoint from training)
|
|
unsigned int | cv2_folds |
| | --splitter2-cv-folds: number of inner cross-validation folds (with --splitter2 cv; default 3)
|
|
unsigned int | holdout2_train |
| | --splitter2-holdout-train: inner training percentage (with --splitter2 holdout; default 70)
|
|
unsigned int | rr2_splits |
| | --splitter2-rr-splits: inner randrand/randfix run count – the --splitter2 twin of rr_splits
|
|
unsigned int | rr2_train |
| | --splitter2-rr-train: % of samples drawn for inner training – the --splitter2 twin of rr_train
|
|
unsigned int | rr2_test |
| | --splitter2-rr-test: % of samples drawn for inner testing – the --splitter2 twin of rr_test
|
|
unsigned int | knn_k |
| | --knn-k: k for the kNN classifier (with --criterion wrapper-knn; default 3)
|
|
double | ridge_lambda |
| | ridge regression L2 weight penalty (default 0.01; bias unpenalized)
|
|
std::string | extern_cmd |
| | external-tool bridge command (with --criterion wrapper-extern or extern-value); USER-SUPPLIED CODE EXECUTION — see classifier_extern.hpp / criterion_extern_value.hpp
|
|
bool | extern_monotonic |
| | the user's assertion that the extern-value measure is cardinality-monotonic (admits bb-* searches; optimality rests on the assertion)
|
|
bool | extern_no_data |
| | suppress the extern-value DATA block: the tool is a pure set function over index sets
|
|
unsigned int | features_n |
| | --features N: data-free entry — an abstract universe of N features, no --data at all (extern-value --extern-no-data only; "Tier 2")
|
|
double | linsvm_c |
| | linear SVM regularization C (default 1.0)
|
|
std::string | linsvm_loss |
| | linear SVM loss: l2 (squared hinge, default) | l1 (hinge)
|
|
unsigned int | linsvm_maxiter |
| | linear SVM dual CD sweep cap (default 1000)
|
|
double | linsvm_tol |
| | linear SVM projected-gradient stopping threshold (default 0.1)
|
|
std::string | rbfsvm_optimize |
| | none | pre | alternating: native RBF SVM C/gamma optimization (mirrors --svm-optimize)
|
|
double | rbfsvm_c |
| | RBF SVM regularization C (default 1.0).
|
|
double | rbfsvm_gamma |
| | RBF width on standardized features (default 0 = auto: 1/d).
|
|
std::string | rbfsvm_loss |
| | RBF SVM loss: l1 (hinge, the C-SVC correspondence, default) | l2 (squared hinge).
|
|
unsigned int | rbfsvm_maxiter |
| | RBF SVM kernel dual CD sweep cap (default 1000).
|
|
double | rbfsvm_tol |
| | RBF SVM projected-gradient stopping threshold (default 0.1).
|
|
unsigned int | rf_trees |
| | Random Forest wrapper: number of trees (default 100).
|
|
unsigned int | rf_mtry |
| | features tried per node; 0 = floor(sqrt(subset size))
|
|
unsigned int | rf_max_depth |
| | Random Forest tree depth cap; 0 = unlimited.
|
|
unsigned int | rf_min_leaf |
| | minimum samples per leaf (default 1)
|
|
unsigned int | search2_d |
| | seed subset size for --search2 (0 = use --target-d)
|
|
double | svm_c |
| | --svm-c: LibSVM regularization C (with --criterion wrapper-svm); 0 = LibSVM library default, or the value found by --svm-optimize
|
|
double | svm_gamma |
| | --svm-gamma: LibSVM RBF/poly/sigmoid kernel width (with --criterion wrapper-svm); 0 = LibSVM library default, or the value found by --svm-optimize
|
|
double | svm_coef0 |
| | --svm-coef0: LibSVM poly/sigmoid kernel bias term (with --criterion wrapper-svm); 0 = LibSVM library default, or the value found by --svm-optimize
|
|
double | logreg_lambda |
| | logistic regression L2 weight penalty (biases unpenalized)
|
|
unsigned int | logreg_maxiter |
| | logistic regression Newton iteration cap
|
|
double | logreg_tol |
| | logistic regression gradient-norm stopping tolerance
|
|
double | regr_multiplier |
| | weighted-neighbours kernel multiplier (0 = library default)
|
|
unsigned int | hybrid_keep_perc |
| | hybrid evaluator: percentage of prefiltered candidates kept (demo53: 50)
|
|
unsigned int | hybrid_keep_max |
| | hybrid evaluator: hard cap on kept candidates
|
|
unsigned int | step_cap |
| | sampled evaluator: max candidate evaluations per forward step (0 = no cap)
|
|
unsigned int | step_cap_backward |
| | sampled evaluator: max candidate evaluations per backward step (0 = full sweeps, exact floating correction)
|
|
double | step_cap_frac |
| | sampled evaluator: constant-percentage schedule, cap = ceil(frac*pool) (0 = off, use step_cap); forward only
|
|
bool | step_frozen |
| | sampled evaluator: freeze statistics after warm-up (frozen-ranking ablation)
|
|
double | step_explore |
| | sampled evaluator: exploration-floor fraction of each proposal batch
|
|
double | step_tau |
| | sampled evaluator: softmax temperature (0 = robust automatic scale)
|
|
unsigned int | step_decay |
| | sampled evaluator: per-feature statistics averaging horizon (evaluations)
|
|
unsigned long | warmup_probes |
| | sampled evaluator: random probes seeding the statistics before the search (0 = off)
|
|
unsigned int | warmup_card |
| | sampled evaluator: warm-up probe cardinality
|
|
unsigned int | restarts_nonimproving |
| | random-restart protocol: stop after N consecutive non-improving runs (0 = off; demo22)
|
|
unsigned long | restarts_max |
| | random-restart safety cap on total runs (0 = unlimited)
|
|
bool | bias_estimate |
| | estimate classifier bias on the selected subset (demo56)
|
|
unsigned int | target_d |
| | target subset size (--target-d); 0 = optimize subset size (wrapper criteria only – monotonic filter criteria and B&B/os require a nonzero value)
|
|
unsigned int | os_delta |
| | oscillation cycle depth (--search os; default 1)
|
|
unsigned int | dos_delta |
| | oscillation cycle depth (--search dos; default 3)
|
|
unsigned int | sffs_delta |
| | floating-frontier bound: SFFS/SBFS stop at target-d +/- delta (0 = classic full frontier)
|
|
unsigned int | generalization |
| | g-tuples per sequential step (demo21); 1 = classic
|
|
unsigned long long | mc_trials |
| | montecarlo stopping: max trials (0 = unlimited if mc_seconds set)
|
|
unsigned long | mc_seconds |
| | montecarlo stopping: wall-clock budget (0 = none)
|
| unsigned int | mc_card_min |
|
unsigned int | mc_card_max |
| | montecarlo probe cardinality range upper bound (with mc_card_min, 0,0 = full range)
|
|
double | mc_card_prob |
| | montecarlo per-feature inclusion probability (0 = off)
|
|
double | bb_gamma |
| | FBB prediction optimism (default 1.0).
|
|
unsigned int | bb_delta |
| | FBB minimum prediction evidence (default 1).
|
|
unsigned long | tracker_capacity |
| | 0 = type default (dupless: top_k; others: unlimited)
|
|
double | tracker_margin |
| | dupless-family inclusion margin (0 = only improving results)
|
|
int | daf_rank |
| | DAF ranking variant to extract from feature-stats (-1 = off; 0|1).
|
|
unsigned int | daf_count |
| | number of top-DAF features to report (0 = all)
|
|
unsigned int | daf_validate_every |
| | validate incrementally built top-DAF subsets every K steps (0 = off)
|
|
unsigned int | daf_pairs |
| | pairwise DAF statistics over the top-K DAF0 features (0 = off)
|
|
unsigned int | daf_pairs_top |
| | number of top pairs (by pair-DAF0) to report (0 = all)
|
|
std::string | report |
| | standard (default) | detailed (adds the research sections: curve_over_d, ROC/PR, confusion, tuned parameters)
|
|
std::string | dump_scores |
| | file to receive per-holdout-sample true/predicted labels + per-class scores of the final subset (the first --validate classifier); "" = off
|
|
std::string | curves_svg |
| | file to receive a dependency-free SVG rendering of the --report detailed curves (ROC, PR, criterion-vs-holdout over d); "" = off
|
|
unsigned int | threads |
| | number of worker threads for candidate evaluation; 1 = sequential evaluation, deterministic ordering (default 1)
|
|
unsigned int | top_k |
| | number of best tracked subsets to report (default 5); also the dupless tracker's default capacity
|
|
unsigned int | seed |
| | random seed (--seed); affects randomized components only, e.g. the initial subset of --search os (default 1)
|
|
bool | stable_output |
| | omit non-deterministic output (timings) so results are byte-comparable across runs
|
|
bool | repeat_over_splits |
| | run the search once per outer split (trial protocol, demo54)
|