decision-tree-analysis — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited decision-tree-analysis (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Source: https://github.com/aipoch/medical-research-skills
Use this skill to train a decision tree model from a tabular file and export feature importance ranking results.
Rscript scripts/main.R \
--data_file <input_file> \
--target_var <target_column> \
--task_type <auto|classification|regression> \
--output_dir <output_dir>Rscript is available in the shell.optparse, data.table, rpart.Rscript -e 'install.packages(c("optparse", "data.table", "rpart"), repos="https://cloud.r-project.org")'.| Argument | Required | Description |
|---|---|---|
--data_file | Yes | Input data file in CSV, TXT, or TSV format |
--target_var | Yes | Target column to predict |
--task_type | No | auto, classification, or regression. Default auto |
--output_dir | No | Output directory, default ./Decision_Tree_Results |
--train_ratio | No | Train set ratio between 0 and 1, default 0.7 |
--max_depth | No | Maximum tree depth, default 5 |
--minsplit | No | Minimum observations required to attempt a split, default 10 |
--minbucket | No | Minimum observations allowed in a terminal node, default 3 |
--cp | No | Complexity parameter for pruning, default 0.001 |
--seed | No | Random seed, default 42 |
--exclude_vars | No | Comma-separated columns to exclude from modeling |
--importance_top_n | No | Number of top features to show in the importance plot, default 15 |
--output_format | No | Table output format: csv or txt, default csv |
target_var and exclude_vars.id or rowname, and its values are unique, the skill automatically treats it as row names instead of a predictor.auto mode, a numeric target with more than 10 unique values is treated as regression; otherwise it is treated as classification.Example input:
study_hours,sleep_hours,attendance,score_band
3.5,7.0,0.88,medium
5.0,6.5,0.95,high
2.0,8.0,0.75,lowscripts/main.R with the target column and optional modeling parameters.table/ and the ranking plot under figure/.If you omit --data_file or --target_var, the script exits with SKILL_MISSING_INPUT.
Expected output structure:
<output_dir>/
├── data/
├── table/
└── figure/Primary result files:
table/decision_tree_feature_importance.<csv|txt>table/decision_tree_metrics.csvfigure/decision_tree_feature_importance.pdfAdditional files:
data/decision_tree_predictions.csvdata/decision_tree_model.rdsNotes:
--output_format.table/decision_tree_metrics.csv.Feature importance result fields include:
rankfeatureimportancerelative_importanceclassification for categorical targets such as yes/no, risk_level, or species.regression for continuous numeric targets such as price, score, or yield.auto when the target type is obvious and you want the script to infer it.| Need | File |
|---|---|
| Decision tree method and feature importance details | references/algorithm.md |
| More CLI examples | references/cli-guide.md |
| Error diagnosis | references/troubleshooting.md |
| Main execution entry point | scripts/main.R |
| Sample test data | tests/data/ |
tests/data/dt_sample1.csv: CSV classification sample with an unnamed first column automatically recognized as row names. Suggested target: fustat.tests/data/dt_sample2.csv: CSV classification sample with an unnamed first column automatically recognized as row names. Suggested target: fustat.tests/data/dt_sample3.txt: Tab-delimited high-dimensional classification sample with an unnamed first column automatically recognized as row names. Suggested target: Group.Classification:
Rscript scripts/main.R \
--data_file tests/data/dt_sample1.csv \
--target_var fustat \
--task_type classification \
--max_depth 4 \
--output_dir tests/output_dt_sample1_classificationClassification on a second CSV sample:
Rscript scripts/main.R \
--data_file tests/data/dt_sample2.csv \
--target_var fustat \
--task_type classification \
--output_dir tests/output_dt_sample2_classificationTXT input example:
Rscript scripts/main.R \
--data_file tests/data/dt_sample3.txt \
--target_var Group \
--task_type classification \
--max_depth 4 \
--output_dir tests/output_dt_sample3_classificationRscript scripts/main.R --helpRscript scripts/main.R \
--data_file tests/data/dt_sample1.csv \
--target_var fustat \
--task_type classification \
--output_dir tests/validation_dt_sample1Rscript scripts/main.R \
--data_file tests/data/dt_sample2.csv \
--target_var fustat \
--task_type classification \
--output_dir tests/validation_dt_sample2Rscript scripts/main.R \
--data_file tests/data/dt_sample3.txt \
--target_var Group \
--task_type classification \
--output_dir tests/validation_dt_sample3After running analysis, verify that the following exist:
tests/validation_dt_sample1/table/decision_tree_feature_importance.csvtests/validation_dt_sample1/table/decision_tree_metrics.csvtests/validation_dt_sample1/figure/decision_tree_feature_importance.pdftests/validation_dt_sample2/table/decision_tree_feature_importance.csvtests/validation_dt_sample2/table/decision_tree_metrics.csvtests/validation_dt_sample2/figure/decision_tree_feature_importance.pdftests/validation_dt_sample3/table/decision_tree_feature_importance.csvtests/validation_dt_sample3/table/decision_tree_metrics.csvtests/validation_dt_sample3/figure/decision_tree_feature_importance.pdfSKILL_FILE_NOT_FOUND: Input file path is wrong or inaccessible.SKILL_MISSING_COLUMNS: The target column or requested excluded columns are missing.SKILL_INVALID_DATA: Input data is malformed or unsuitable for model training.SKILL_INVALID_PARAMETER: An argument value is invalid.SKILL_INSUFFICIENT_DATA: Too few usable rows or classes remain after filtering.SKILL_DEPENDENCY_MISSING: A required R package such as optparse, data.table, or rpart is unavailable.If a run succeeds but logs that the decision tree did not split, lower --minsplit and --minbucket or provide more training rows before trusting the ranking output.
If the issue is not obvious, read references/troubleshooting.md.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.