Skip to content
OpenSmartRoute
Skillv1.0.0

scikit-learn

Assists with building, evaluating, and deploying machine learning models using scikit-learn. Use when performing data preprocessing, feature engineering, model selection, hyperparameter tuning, cross-

by terminalskills(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from terminalskills/skills (skills/scikit-learn/SKILL.md). Install upstream with npx skills add terminalskills/skills --skill scikit-learn. Copyright stays with the author (Apache-2.0).

scikit-learn

Overview

Scikit-learn is a Python machine learning library that provides a consistent API for the full ML workflow: data preprocessing (scaling, encoding, imputation), model selection (classification, regression, clustering), hyperparameter tuning (grid search, randomized search), cross-validation, and pipeline construction. It supports serialization via joblib for production deployment.

Instructions

  • When preprocessing data, use ColumnTransformer to apply different transformers to numeric and categorical columns (StandardScaler, OneHotEncoder, SimpleImputer), always within a Pipeline to prevent data leakage.
  • When choosing models, start with fast baselines (LogisticRegression, RandomForest) and use HistGradientBoostingClassifier for best tabular performance, since it handles missing values natively and is faster than GradientBoosting.
  • When evaluating, use cross_val_score with 5-fold CV instead of single train/test splits, and use classification_report() instead of accuracy alone since accuracy is misleading on imbalanced datasets.
  • When tuning hyperparameters, use RandomizedSearchCV when the search space exceeds 100 combinations (faster than exhaustive GridSearchCV), and use StratifiedKFold or TimeSeriesSplit as appropriate.
  • When building pipelines, chain preprocessing and model steps with Pipeline to ensure transformers fit only on training data, then serialize the full pipeline with joblib.dump() for deployment.
  • When selecting features, use permutation_importance() for model-agnostic measurement, SelectKBest for statistical filtering, or feature_importances_ from tree-based models.

Examples

Example 1: Build a customer churn prediction pipeline

User request: "Create a model to predict which customers will churn"

Actions:

  1. Build a ColumnTransformer with StandardScaler for numeric features and OneHotEncoder for categorical
  2. Create a Pipeline with the transformer and HistGradientBoostingClassifier
  3. Tune hyperparameters with RandomizedSearchCV using StratifiedKFold
  4. Evaluate with classification_report() focusing on recall for the churn class

Output: A tuned churn prediction pipeline with preprocessing, model, and evaluation metrics.

Example 2: Cluster customers into segments

User request: "Segment customers based on purchasing behavior"

Actions:

  1. Preprocess features with StandardScaler in a pipeline
  2. Use KMeans with silhouette score analysis to determine optimal cluster count
  3. Run PCA for dimensionality reduction and visualization
  4. Profile clusters with groupby on original features to interpret segments

Output: Customer segments with labeled profiles and a visual cluster map.

Guidelines

  • Always use Pipeline to prevent data leakage by fitting transformers only on training data.
  • Use ColumnTransformer for mixed data types: numeric scaling and categorical encoding in one object.
  • Use HistGradientBoostingClassifier over GradientBoostingClassifier since it is faster and handles missing values natively.
  • Use cross_val_score with 5-fold CV rather than a single train/test split since single splits are noisy.
  • Use RandomizedSearchCV when the search space exceeds 100 combinations.
  • Use classification_report() not just accuracy, which is misleading on imbalanced datasets.
  • Serialize the full pipeline with joblib, not just the model, since deployment needs preprocessing too.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/terminalskills-skills-scikit-learn/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

terminalskills-skills-scikit-learn.ocm.jsonjson
{
  "ocm": "1",
  "id": "terminalskills-skills-scikit-learn",
  "kind": "skill",
  "name": "scikit-learn",
  "description": "Assists with building, evaluating, and deploying machine learning models using scikit-learn. Use when performing data preprocessing, feature engineering, model selection, hyperparameter tuning, cross-validation, or building pipelines for classification, regression, and clustering tasks. Trigger words: sklearn, scikit-learn, machine learning, classification, regression, pipeline, cross-validation.",
  "publisher": "terminalskills",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "scikit-learn",
      "machine-learning",
      "classification",
      "regression",
      "pipeline",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Assists with building, evaluating, and deploying machine learning models using scikit-learn. Use when performing data preprocessing, feature engineering, model selection, hyperparameter tuning, cross-validation, or building pipelines for classification, regression, and clustering tasks. Trigger words: sklearn, scikit-learn, machine learning, classification, regression, pipeline, cross-validation."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/terminalskills/skills",
      "path": "skills/scikit-learn/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/terminalskills/skills/blob/HEAD/skills/scikit-learn/SKILL.md",
      "key": "terminalskills/skills/skills/scikit-learn/SKILL.md"
    },
    "compatibility": "Requires Python 3.8+",
    "license": "Apache-2.0"
  },
  "instructions": "# scikit-learn\n\n## Overview\n\nScikit-learn is a Python machine learning library that provides a consistent API for the full ML workflow: data preprocessing (scaling, encoding, imputation), model selection (classification, regression, clustering), hyperparameter tuning (grid search, randomized search), cross-validation, and pipeline construction. It supports serialization via joblib for production deployment.\n\n## Instructions\n\n- When preprocessing data, use `ColumnTransformer` to apply different transformers to numeric and categorical columns (StandardScaler, OneHotEncoder, SimpleImputer), alway",
  "cost": {
    "context_tokens": 872
  }
}

Fetch it by URL: GET /api/v1/registry/terminalskills-skills-scikit-learn/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.