← Matt Skills CuratedCONTENT HISTORY

Update to Matt Skills Curated

Snapshot Sep 30, 2026 · 23:14 UTC · version 1.1.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Statistical machine learning best practices, exploratory data analysis, feature engineering, and rigorous model evaluation. Use when analyzing tabular datasets, engineering features, training classifiers or regressors, forecasting time series, or computing 95% bootstrap confidence intervals — even if they don't explicitly say \"ml best practices\". Do NOT use for standard database queries without ML, basic spreadsheet formatting, or general application backend logic.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 128
    }
  ],
  "name": "ml-best-practices",
  "skill_md_contents": "---\nname: ml-best-practices\ndescription: \"Statistical machine learning best practices, exploratory data analysis, feature engineering, and rigorous model evaluation. Use when analyzing tabular datasets, engineering features, training classifiers or regressors, forecasting time series, or computing 95% bootstrap confidence intervals — even if they don't explicitly say \\\"ml best practices\\\". Do NOT use for standard database queries without ML, basic spreadsheet formatting, or general application backend logic.\"\n---\n\n# Machine Learning Best Practices\n\nApply rigorous machine learning engineering standards across exploratory analysis, feature engineering, model training, and statistical performance validation.\n\n## Core Principle\n\n> **Every model finding must be grounded in leakage-free splits, dual-model baselines, and statistical confidence intervals.**\n\n---\n\n## Core Invariants\n\n1. **Strict Train-Test Isolation**: Always partition datasets into training, validation, and test splits **before** fitting any scalers, encoders, or transformers.\n2. **Mandatory Missing Value Strategy**: Explicitly quantify missing value frequencies and document domain rationale for keeping, dropping, or imputing them.\n3. **Dual-Model Benchmark**: Never rely on a single model architecture in isolation. Train at least two distinct candidate families against a naive baseline.\n4. **Statistical Significance Over Raw Averages**: Report 95% bootstrap confidence intervals for key evaluation metrics (F1, AUC, RMSE) to verify statistical separation.\n5. **Story-First Notebook Structure**: Every code execution cell must be paired with an analytical markdown cell explaining the observed patterns, trade-offs, and conclusions.\n\n---\n\n## Architecture & Map of Content (MOC)\n\n```\nRaw Dataset & Objective\n          │\n          ▼\n┌────────────────────────────────────────┐\n│ 1. Data Hygiene & Anomaly Screening    │ (Missingness, Cardinality, Invariants)\n└──────────────────┬─────────────────────┘\n                   │\n       ┌───────────┴───────────┐\n       ▼                       ▼\n┌──────────────┐       ┌──────────────┐\n│  Clustering  │       │  Forecasting │ (Silhouette Optimization, Stationarity)\n└──────────────┘       └──────────────┘\n       │                       │\n       └───────────┬───────────┘\n                   │\n       ┌───────────┴───────────┐\n       ▼                       ▼\n┌──────────────┐       ┌──────────────┐\n│Classification│       │  Regression  │ (Pipeline Encoders, Regularization)\n└──────────────┘       └──────────────┘\n                   │\n                   ▼\n┌────────────────────────────────────────┐\n│ 2. Statistical Model Comparison        │ (95% Bootstrap CIs, Slice Analysis)\n└────────────────────────────────────────┘\n```\n\n---\n\n## Step-by-Step Procedure (TWI)\n\n### Step 1: Exploratory Analysis & Anomaly Detection\n- **Action**: Inspect schema, compute summary statistics, and visualize target distributions with scatter plots and histograms.\n- **Key Point**: Check for target column anomalies, extreme outliers, and non-sensical values before modeling.\n- **Why**: Training models on corrupt or undetected anomalous targets invalidates the experimental setup.\n\n### Step 2: Supervised Modeling (Classification / Regression)\n- **Action**: Apply transformers inside scikit-learn pipelines fit exclusively on training data; evaluate regularization to control overfitting.\n- **Key Point**: For high-cardinality nominal features, restrict cardinality or use target encoding with out-of-fold regularization.\n- **Why**: Fitting transformers on the combined dataset causes subtle target and variance leakage.\n- **Inline Checklist**:\n  - [ ] Data split chronologically (if temporal) or via StratifiedKFold (if classification)\n  - [ ] Encoders and scalers wrapped inside Pipeline, fitted only on X_train\n  - [ ] Confusion matrices, ROC curves, or residual diagnostic plots generated\n  - [ ] Missing values handled with documented justification\n\n### Step 3: Unsupervised Clustering & Time-Series Forecasting\n- **Action**: For clustering, standardize features and optimize the Silhouette Score; for forecasting, test stationarity and seasonality.\n- **Key Point**: For time series, verify that no future information leaks into historical lag features.\n- **Why**: Silhouette optimization prevents arbitrary cluster count selection; stationarity testing determines appropriate model family.\n\n### Step 4: Model Comparison & 95% Bootstrap Confidence Intervals\n- **Action**: Benchmark multiple model candidates on identical cross-validation folds and calculate bootstrap confidence intervals.\n- **Key Point**: Conduct slice-based error analysis across critical subpopulations and compile an operational trade-off table.\n- **Why**: Point estimates of accuracy often conceal performance drops on key customer cohorts.\n\n---\n\n## Anti-Rationalization Guardrails\n\n| Tempting Rationalization | Binding Rule | Engineering Rationale |\n|---|---|---|\n| *\"Standard scaling before splitting is harmless.\"* | **Fit scalers strictly on training folds.** | Scalers compute dataset-wide statistics that cause subtle distribution leakage. |\n| *\"Accuracy is 94%, so the classifier is ready.\"* | **Always inspect PR-AUC, F1, and confusion matrix.** | On imbalanced classes, 94% accuracy may be worse than a naive majority-class guess. |\n| *\"We don't need a baseline because XGBoost is superior.\"* | **Always establish naive and linear baselines first.** | Naive baselines justify model complexity and reveal genuine signal gains. |\n| *\"Shuffling temporal data is fine if well-mixed.\"* | **Split temporal data chronologically.** | Shuffling time series causes future lookahead leakage into historical folds. |\n"
}

SHA-256 of public snapshot: f2f91e5fd12823dd47a1241f07bc5effc6b50b6b4f6bc5f3e0e044852fb664c5