К основному содержанию
скилл CX Codex

scikit-learn-best-practices — скилл для Claude Code: практики ML

Скилл задаёт агенту правила работы со scikit-learn: пайплайны, кросс-валидация, метрики, сохранение моделей. Пригодится, когда пишете ML-код на Python.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Mindrally/skills --skill scikit-learn-best-practices -a claude-code
Открыть на GitHub

Что делает scikit-learn-best-practices

Скилл описывает, как вести проект на scikit-learn: сначала делить данные на train/validation/test, потом готовить признаки, строить пайплайны и только в конце один раз проверять на отложенной выборке. Агент получает эти правила и подсказывает их в вашем коде вместо того, чтобы лепить fit на всём датасете.

Внутри — разделы по подготовке данных, инженерии признаков, подбору гиперпараметров, метрикам для классификации и регрессии, работе с дисбалансом классов и сохранению моделей. Для масштабирования названы StandardScaler, MinMaxScaler и RobustScaler под разные распределения, для категорий — OneHotEncoder, OrdinalEncoder, LabelEncoder. Пайплайны через Pipeline и ColumnTransformer подаются как способ не допустить утечки данных: трансформеры обучаются только на train. Модели советует сохранять через joblib целиком, вместе с пайплайном.

Скилл текстовый, ничего не запускает и не ставит зависимости. Он опирается на то, что scikit-learn у вас уже есть, а примеры кода рассчитаны на Python. Если в проекте другой стек для ML, пользы от него не будет.

Какие задачи решает

  • разделить данные до препроцессинга и не потерять воспроизводимость
  • собрать Pipeline из скейлера и модели, чтобы не было утечки
  • выбрать метрику под дисбаланс классов вместо accuracy
  • подобрать гиперпараметры через GridSearchCV или RandomizedSearchCV
  • сохранить обученный пайплайн в файл через joblib

Примеры запросов агенту

  • Собери пайплайн из StandardScaler и RandomForestClassifier, проверь через кросс-валидацию
  • Почему accuracy здесь плохая метрика? Подбери метрику под дисбаланс классов
  • Сохрани обученный пайплайн через joblib и опиши, какие гиперпараметры использовал

Как установить scikit-learn-best-practices

1Через Skills CLI (Vercel)

npx skills add Mindrally/skills --skill scikit-learn-best-practices -a claude-code

2Вручную: положить файлы

~/.claude/skills/scikit-learn-best-practices/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/scikit-learn-best-practices/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о scikit-learn-best-practices

Как установить scikit-learn-best-practices в Claude?

Выполните npx skills add Mindrally/skills --skill scikit-learn-best-practices -a claude-code. Скилл появится в ~/.claude/skills/scikit-learn-best-practices/SKILL.md.

Что делает scikit-learn-best-practices?

Даёт агенту набор правил по scikit-learn: как делить данные, строить пайплайны, оценивать модели и сохранять их. Работает как справочник во время написания ML-кода.

Нужны ли дополнительные библиотеки для работы скилла?

Скилл сам ничего не устанавливает. Примеры в нём написаны на Python и рассчитаны на scikit-learn, а для сохранения моделей упоминается joblib.

Исходный текст

SKILL.md · Apache-2.0
---
name: scikit-learn-best-practices
description: Best practices for scikit-learn machine learning, model development, evaluation, and deployment in Python
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# Scikit-learn Best Practices

Expert guidelines for scikit-learn development, focusing on machine learning workflows, model development, evaluation, and best practices.

## Code Style and Structure

- Write concise, technical responses with accurate Python examples
- Prioritize reproducibility in machine learning workflows
- Use functional programming for data pipelines
- Use object-oriented programming for custom estimators
- Prefer vectorized operations over explicit loops
- Follow PEP 8 style guidelines

## Machine Learning Workflow

### Data Preparation

- Always split data before any preprocessing: train/validation/test
- Use `train_test_split()` with `random_state` for reproducibility
- Stratify splits for imbalanced classification: `stratify=y`
- Keep test set completely separate until final evaluation

### Feature Engineering

- Scale features appropriately for distance-based algorithms
- Use `StandardScaler` for normally distributed features
- Use `MinMaxScaler` for bounded features
- Use `RobustScaler` for data with outliers
- Encode categorical variables: `OneHotEncoder`, `OrdinalEncoder`, `LabelEncoder`
- Handle missing values: `SimpleImputer`, `KNNImputer`

### Pipelines

- Always use `Pipeline` to chain preprocessing and modeling
- Prevents data leakage by fitting transformers only on training data
- Makes code cleaner and more reproducible
- Enables easy deployment and serialization

```python
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier

pipeline = Pipeline([
    ('scaler', StandardScaler()),
    ('classifier', RandomForestClassifier(random_state=42))
])
```

### Column Transformers

- Use `ColumnTransformer` for different preprocessing per feature type
- Combine numeric and categorical preprocessing in single pipeline

## Model Selection and Tuning

### Cross-Validation

- Use cross-validation for reliable performance estimates
- `cross_val_score()` for quick evaluation
- `cross_validate()` for multiple metrics
- Use appropriate CV strategy:
  - `KFold` for regression
  - `StratifiedKFold` for classification
  - `TimeSeriesSplit` for temporal data
  - `GroupKFold` for grouped data

### Hyperparameter Tuning

- Use `GridSearchCV` for exhaustive search
- Use `RandomizedSearchCV` for large parameter spaces
- Always tune on training/validation data, never test data
- Set `n_jobs=-1` for parallel processing

## Model Evaluation

### Classification Metrics

- Use appropriate metrics for your problem:
  - `accuracy_score` for balanced classes
  - `precision_score`, `recall_score`, `f1_score` for imbalanced
  - `roc_auc_score` for ranking ability
- Use `classification_report()` for comprehensive overview
- Examine `confusion_matrix()` for error analysis

### Regression Metrics

- `mean_squared_error` (MSE) for general use
- `mean_absolute_error` (MAE) for interpretability
- `r2_score` for explained variance

### Evaluation Best Practices

- Report confidence intervals, not just point estimates
- Use multiple metrics to understand model behavior
- Compare against meaningful baselines
- Evaluate on held-out test set only once, at the end

## Handling Imbalanced Data

- Use stratified splitting and cross-validation
- Consider class weights: `class_weight='balanced'`
- Use appropriate metrics (F1, AUC-PR, not accuracy)
- Adjust decision threshold based on business needs

## Feature Selection

- Use `SelectKBest` with statistical tests
- Use `RFE` (Recursive Feature Elimination)
- Use model-based selection: `SelectFromModel`
- Examine feature importances from tree-based models

## Model Persistence

- Use `joblib` for saving and loading models
- Save entire pipelines, not just models
- Version control model artifacts
- Document model metadata

## Performance Optimization

- Use `n_jobs=-1` for parallel processing where available
- Consider `warm_start=True` for iterative training
- Use sparse matrices for high-dimensional sparse data
- Consider incremental learning with `partial_fit()` for large data

## Key Conventions

- Import from submodules: `from sklearn.ensemble import RandomForestClassifier`
- Set `random_state` for reproducibility
- Use pipelines to prevent data leakage
- Document model choices and hyperparameters

© Mindrally · Apache-2.0 · Mindrally/skills

Похожие скиллы

Всё по теме «ИИ и ML» →
scikit-learn K-Dense-AI Скилл для задач машинного обучения на Python: классификация, регрессия, кластеризация, препроцессинг и сборка ML-пайплайнов с библиотекой scikit-learn 1.9.1. CX Codex +1 2 200установок scikit-survival K-Dense-AI Скилл для scikit-survival 0.28.0: агент собирает и проверяет модели выживаемости на цензурированных данных, от Cox PH до лесов, и считает метрики с поправкой на цензурирование. CX Codex +1 2 000установок data-scientist VoltAgent Community Субагент для разведочного анализа данных, проверки гипотез и обучения моделей машинного обучения прямо в Claude Code. 3 342установок statistics-math pluginagentmarketplace Скилл для ИИ-кодинга: даёт агенту статистику, теорию вероятностей, линейную алгебру и регрессию на Python. Пригодится, когда нужно посчитать метрики или проверить гипотезу. CX Codex +1 432установок Model Hyperparameter Tuning aj-geddes Скилл для подбора гиперпараметров моделей: grid search, random search, байесовская оптимизация через Optuna. Пригодится, когда базовые настройки уже не тянут. CX Codex +1 494установок ML Model Training aj-geddes Скилл для обучения моделей машинного обучения: классификация, регрессия и кластеризация на scikit-learn, PyTorch и TensorFlow. CX Codex +1 515установок

Из того же набора168

unity Скилл задаёт агенту правила игры в Unity: компонентная архитектура, ScriptableObjects, пулы объектов и работа с профайлером. CX Codex +1 908установок design-systems Помогает агенту выстроить дизайн-токены, компонентную библиотеку и правила доступности в одном проекте. CX Codex +1 903установок wordpress Скилл wordpress задаёт агенту правила разработки под WordPress и WooCommerce на PHP. Он держит код в рамках стандартов WordPress, напоминает про хуки, nonce и подготовленные запросы. CX Codex +1 894установок mongodb-development Правила разработки на MongoDB: схемы, индексы, агрегации, Mongoose и Payload CMS. Пригодится, когда агент пишет бэкенд на TypeScript. CX Codex +1 891установок astro Скилл задаёт агенту правила работы с Astro: статическая генерация, частичная гидратация, файловый роутинг и минимум клиентского JavaScript. CX Codex +1 886установок beautifulsoup-parsing Учит агента разбирать HTML и XML на Python с помощью BeautifulSoup. Пригодится для веб-скрейпинга, выгрузки таблиц и обработки битой разметки. CX Codex +1 877установок bash-scripting Скилл задаёт агенту правила написания Bash-скриптов: валидация ввода, обработка ошибок, переносимость. Пригодится, когда агент пишет деплой, бэкапы или cron-задачи. CX Codex +1 875установок swr Инструкции по настройке SWR в связке с React и TypeScript. Помогает агенту писать хуки для выборки, кеширования и мутаций данных. CX Codex +1 870установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой