Use when building a decision tree model in R and generating feature importance ranking outputs. Supports classification and regression, automatic task detection, parameter validation, model evaluation summaries, and exports of feature-importance tables and figures.
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
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.
aipoch/medical-research-skills
686e09d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.