"Select, fit, predict, and debug ML-From-Scratch supervised
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill supervised-learning --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Supervised Learning?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-supervised-learning)More formats (shields.io, HTML) on the badges page.
---
name: supervised-learning
description: "Select, fit, predict, and debug ML-From-Scratch supervised
learning estimators."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# Supervised Learning
Use this sub-skill when a task involves `mlfromscratch.supervised_learning` estimators for classical supervised prediction: regression, binary or multiclass classification, trees, ensembles, SVMs, Naive Bayes, LDA, boosting, XGBoost, Perceptron, Neuroevolution, or `ParticleSwarmOptimizedNN`.
## Route here when
- Choosing a repo estimator for tabular regression or classification.
- Translating a small supervised workflow into `fit`, `predict`, or `transform` calls.
- Debugging feature shape, label encoding, convergence, `cvxopt`, or headless plotting issues in supervised workflows.
- Checking a quick plot-free regression or classification smoke script bundled with this sub-skill.
## Route elsewhere
- Clustering, PCA-only analysis, association rules, genetic algorithms, RBM, or other unsupervised/generative tasks: use `../unsupervised-learning/`.
- Neural-network layer stacks, losses, optimizers, CNN/RNN/MLP construction internals, autoencoders, or GANs: use `../deep-learning/`.
- Gym CartPole, DQN training/play, replay memory, or Gym API compatibility: use `../reinforcement-learning/`.
- Package-wide install/import checks and dependency provenance: use the root references such as `../../references/package-overview.md` and `../../references/troubleshooting.md` when they are present.
## Fast operating path
1. Identify the task family:
- Regression: start with `LinearRegression`, `PolynomialRegression`, `RidgeRegression`, `LassoRegression`, `PolynomialRidgeRegression`, `ElasticNet`, `RegressionTree`, or `GradientBoostingRegressor`.
- Binary classification: start with `LogisticRegression`, `SupportVectorMachine`, `Adaboost`, `LDA`, `NaiveBayes`, `KNN`, or a tree/ensemble.
- Multiclass classification: start with `KNN`, `ClassificationTree`, `RandomForest`, `NaiveBayes`, `GradientBoostingClassifier`, `XGBoost`, `MultiClassLDA` for projection, or one-hot neural classifiers.
2. Read `references/model-catalog.md` for constructors, method signatures, and label conventions. Do not assume scikit-learn estimator APIs.
3. Read `references/workflows.md` for concise regression and classification recipes, including 2-D feature shaping and label conversions.
4. If the workflow fails, use `references/troubleshooting.md` before changing models. Most failures are shape, label, dependency, NumPy compatibility, or convergence issues.
5. For a quick runtime check, run one of the bundled helpers:
- `python scripts/run_regression_smoke.py --help`
- `python scripts/run_regression_smoke.py --model linear-gd`
- `python scripts/run_classification_smoke.py --help`
- `python scripts/run_classification_smoke.py --model all-fast`
## Key cautions
- `X` should be a 2-D numeric array of shape `(n_samples, n_features)`. Convert a 1-D feature vector with `np.asarray(x).reshape(-1, 1)`.
- Label conventions differ by estimator: SVM and Adaboost expect `{-1, 1}` for binary tasks; LogisticRegression expects `0/1`; tree/KNN/NaiveBayes/boosting models use nominal integer labels; Perceptron and neural optimization wrappers expect one-hot targets from `to_categorical`.
- `KNN` has no `fit` method; call `predict(X_test, X_train, y_train)`.
- `SupportVectorMachine` depends on `cvxopt`; because the supervised package exports SVM at import time, missing `cvxopt` can also break package-level supervised imports.
- Tree, random forest, gradient boosting, and XGBoost workflows rely on the package's `divide_on_feature` helper and may need the NumPy-compatibility troubleshooting path in current environments.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!