Skip to content
Back to skills

Svm Model Importance Analysis

ASecurity

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.

  • 1,793 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 6, 2026
datagobashexpresstestinggit

Works with

  • cli

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned June 6, 2026

npx -y skills add aipoch/medical-research-skills --skill svm-model-importance-analysis --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Svm Model Importance Analysis?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Svm Model Importance Analysis
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aipoch-svm-model-importance-analysis/badge)](https://www.skillsdirectory.com/skills/aipoch-svm-model-importance-analysis)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: svm-model-importance-analysis
description: 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.
license: MIT
author: AIPOCH
---
> **Source**: [https://github.com/aipoch/medical-research-skills](https://github.com/aipoch/medical-research-skills)

# 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

```bash
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:

```csv
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:

```csv
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` | PDF | Cross-validated classification error across feature counts |
| `plot/svm_rfe_ranking_plot.pdf` | 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_FOUND` and `SKILL_INVALID_PARAMETER`.
- Output paths are validated so that `--output_dir` cannot write outside the skill root.
- The analysis never performs network requests and never executes user input through `eval()`, `exec()`, or `system()`.

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

```bash
Rscript scripts/main.R --help
```

### Full Test Run

```bash
Rscript tests/run_tests.R
```

### Direct Test Command

```bash
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
```

Files in this skill

  • SKILL.md7.1 KB
  • eval_report_svm-model-importance-analysis_result.json15.3 KB
  • references/algorithm.md3.3 KB
  • references/cli-guide.md6.1 KB
  • references/troubleshooting.md2.8 KB
  • scripts/cli_options.R179 B
  • scripts/core_option_groups.R2.5 KB
  • scripts/functions.R3.2 KB
  • scripts/io.R4.4 KB
  • scripts/main.R1.9 KB
  • scripts/option_validation.R2.1 KB
  • scripts/path_utils.R2.4 KB
  • scripts/plot_option_groups.R2.6 KB
  • scripts/recording.R182 B
  • scripts/run_analysis.R3.6 KB
  • scripts/svm_helpers.R2.9 KB
  • scripts/utils.R1 KB
  • scripts/validation_utils.R658 B
  • scripts/visualization.R1.9 KB
  • tests/data/expression_matrix.csv9.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.