Agent Skills
Svm Model Importance Analysis
AIPOCH
Use when you need a standardized R CLI workflow to run two-class SVM-RFE feature ranking on an expression-like matrix, choose an informative feature count from cross-validated error, and generate reproducible ranking and error plots. NOT for regression, multi-class classification, missing-value imputation, or remote data fetching.
9
0
FILES
93100Total Score
View Evaluation ReportCore Capability
94 / 100
Functional Suitability
11 / 12
Reliability
10 / 12
Performance & Context
8 / 8
Agent Usability
15 / 16
Human Usability
8 / 8
Security
12 / 12
Maintainability
11 / 12
Agent-Specific
20 / 20
Medical Task
20 / 20 Passed
95Bundled binary SVM-RFE run
4/4
94Tolerance-rule custom run
4/4
91Missing plot-only bundle
4/4
92Successful plot-only regeneration
4/4
89Corrupt plot-only bundle
4/4
SKILL.md
SVM Model Importance Analysis
When to Read External Files
| Situation | File to Read | Purpose |
|---|---|---|
| Need algorithm details | references/algorithm.md | Explain SVM-RFE ranking, cross-validation logic, assumptions, and interpretation |
| Need to execute the analysis | scripts/main.R | Run the CLI entry point with a complete Rscript command |
| Encounter an error | references/troubleshooting.md | Map standardized error codes to causes and fixes |
| Need CLI examples | references/cli-guide.md | Review installation steps and runnable CLI examples |
| Need a runnable smoke test | tests/data/ | Use the bundled small dataset for verification |
Usage
Rscript scripts/main.R \
--input_file ./input/expression_matrix.csv \
--group_file ./input/group_info.csv \
--case_group Case \
--control_group Control \
--output_dir output/basic-run \
--seed 42 \
--timeout_seconds 600
Arguments
| Short | Long | Type | Default | Required | Description |
|---|---|---|---|---|---|
-i | --input_file | character | none | yes, unless --plot_only TRUE | Expression matrix file with samples in rows and features in columns |
-g | --group_file | character | none | yes, unless --plot_only TRUE | Group file with sample IDs in the first column |
-c | --case_group | character | none | yes, unless --plot_only TRUE | Case group label |
-r | --control_group | character | none | yes, unless --plot_only TRUE | Control group label |
-o | --output_dir | character | output | yes | Output directory inside the skill root |
-p | --plot_only | logical | FALSE | no | Reuse output_dir/data/svm_result.rds and regenerate plots without rerunning SVM-RFE |
-s | --seed | integer | 42 | no | Random seed for reproducibility |
-t | --timeout_seconds | integer | 600 | no | Elapsed time limit for the run |
--svm_k | integer | 10 | no | Number of stratified outer folds used for SVM-RFE and validation | |
--svm_halve_above | integer | 50 | no | If surviving features exceed this count, remove half per iteration | |
--svm_max_features_cap | integer | 30 | no | Maximum feature count evaluated on the error curve | |
--svm_select_rule | character | min | no | Feature-count rule: min or tolerance | |
--svm_tol | numeric | 0.01 | no | Tolerance used when --svm_select_rule tolerance is selected | |
--svm_error_height | numeric | 5 | no | SVM error plot height in inches | |
--svm_error_width | numeric | 6 | no | SVM error plot width in inches | |
--svm_error_xlab | character | Number of Features | no | X-axis label for the SVM error plot | |
--svm_error_ylab | character | Classification Error Rate | no | Y-axis label for the SVM error plot | |
--svm_error_main_line_color | character | black | no | Main line color for the SVM error plot | |
--svm_error_second_line_color | character | #2BA2DE | no | Baseline line color for the SVM error plot | |
--svm_error_best_point_color | character | red | no | Highlight color for the best feature-count point | |
--svm_error_noinfo_lty | integer | 3 | no | Line type for the no-information baseline | |
--svm_error_label_cex | numeric | 0.75 | no | Label size for the best-point annotation | |
--svm_error_label_pos | integer | 4 | no | Label position for the best-point annotation | |
--svm_rank_top_n | integer | 20 | no | Maximum number of ranked features shown in the ranking plot | |
--svm_rank_width | numeric | 7 | no | Ranking plot width in inches | |
--svm_rank_height | numeric | 6 | no | Ranking plot height in inches | |
--svm_rank_color | character | #2BA2DE | no | Bar color for the ranking plot | |
--svm_rank_title | character | SVM-RFE Feature Ranking | no | Title for the ranking plot |
Input Format
Expression Matrix
- CSV or TSV.
- First column: sample IDs.
- Remaining columns: numeric features.
- Samples must be rows.
- Missing or non-numeric feature values are not allowed.
Example:
sample,HIF1A,NR4A1,SOCS1
S1,6.21,-1.34,2.01
S2,6.57,0.37,3.62
S3,7.05,2.12,5.01
Group File
- CSV or TSV.
- First column: sample IDs.
- One additional column must contain both the case and control labels.
- Exactly two groups are supported.
Example:
sample,group
S1,Case
S2,Case
S3,Control
Output Files
| File | Format | Description |
|---|---|---|
data/svm_result.rds | RDS | Serialized SVM-RFE bundle with ranking results and metadata |
table/svm_rfe_features.csv | CSV | Selected ranked features using the chosen feature-count rule |
table/svm_rfe_full_ranking.csv | CSV | Full ranking table across all input features |
plot/svm_rfe_error_plot.pdf | Cross-validated classification error across feature counts | |
plot/svm_rfe_ranking_plot.pdf | Bar plot of the highest-ranked SVM-RFE features | |
session_info.txt | TXT | R version, platform, and package version information |
Error Handling
- Successful runs exit with status code
0. - Failed runs exit with status code
1. - Error messages use standardized names such as
SKILL_FILE_NOT_FOUNDandSKILL_INVALID_PARAMETER. - Output paths are validated so that
--output_dircannot write outside the skill root. - The analysis never performs network requests and never executes user input through
eval(),exec(), orsystem().
Common codes:
| Error Code | Meaning |
|---|---|
SKILL_FILE_NOT_FOUND | An input file or required plot-only artifact does not exist |
SKILL_MISSING_COLUMNS | The input file does not contain the required columns |
SKILL_EMPTY_DATA | An input file is empty or a required ranking table is unavailable |
SKILL_INVALID_PARAMETER | A CLI argument, group setting, numeric constraint, or path is invalid |
SKILL_SAMPLE_MISMATCH | Sample IDs do not match between the expression matrix and group file |
SKILL_PACKAGE_NOT_FOUND | One or more required CRAN packages are missing |
For detailed fixes, READ: references/troubleshooting.md
Testing
Help Check
Rscript scripts/main.R --help
Full Test Run
Rscript tests/run_tests.R
Direct Test Command
Rscript scripts/main.R \
--input_file tests/data/expression_matrix.csv \
--group_file tests/data/group_info.csv \
--case_group AR \
--control_group Control \
--output_dir tests/output/manual-test \
--seed 42 \
--svm_k 4 \
--svm_max_features_cap 6 \
--svm_rank_top_n 6 \
--timeout_seconds 300