# Scikit Learn > Aprendizaje automático en Python con scikit-learn: clasificación, regresión, clustering, reducción de dimensionalidad, evaluación de modelos, ajuste de hiperparámetros, preprocesamiento y pipelines de ML. Fuente: https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/scikit-learn Markdown: https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/scikit-learn.md Repositorio: https://github.com/K-Dense-AI/scientific-agent-skills Autor: K-Dense-AI Licencia: BSD-3-Clause license Actualizado: el mes pasado Coste de contexto: 95 tok instalada, 2.6k tok al activarse, 30.2k tok con todos los archivos del bundle Bundle: 11 archivos, 118 KB Permisos que pide: read write edit bash ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add K-Dense-AI/scientific-agent-skills --skill scikit-learn --agent claude-code # Cursor npx -y skills add K-Dense-AI/scientific-agent-skills --skill scikit-learn --agent cursor # Codex npx -y skills add K-Dense-AI/scientific-agent-skills --skill scikit-learn --agent codex # Gemini CLI npx -y skills add K-Dense-AI/scientific-agent-skills --skill scikit-learn --agent gemini # Windsurf npx -y skills add K-Dense-AI/scientific-agent-skills --skill scikit-learn --agent windsurf # Cline npx -y skills add K-Dense-AI/scientific-agent-skills --skill scikit-learn --agent cline ``` ## Qué hace - Guía tareas de clasificación, regresión, clustering y reducción de dimensionalidad con scikit-learn - Construye pipelines completos con Pipeline y ColumnTransformer para datos mixtos numéricos y categóricos - Evalúa modelos con validación cruzada, búsqueda de hiperparámetros (Grid/RandomizedSearchCV) y métricas - Incluye scripts de ejemplo para un pipeline de clasificación completo y un análisis de clustering - Documenta preprocesamiento (escalado, codificación, imputación) y selección de características ## Cuándo usarla - Construir modelos de clasificación o regresión - Realizar clustering o reducción de dimensionalidad - Evaluar el rendimiento de un modelo con validación cruzada o ajustar hiperparámetros - Crear pipelines de ML para producción o comparar algoritmos ## Qué la activa - "Entrena un RandomForestClassifier y evalúa con validación cruzada" - "Crea un pipeline con ColumnTransformer para datos numéricos y categóricos" - "Compara algoritmos de clustering con el método del codo y silhouette" - "Ajusta hiperparámetros con GridSearchCV para este modelo" ## Antes de instalar - Requiere Python 3.11+ y scikit-learn 1.7+, con NumPy y SciPy; matplotlib/seaborn son opcionales para los scripts de ejemplo. ## Archivos - SKILL.md — 10 KB - references/common_workflows.md — 3 KB - references/core_capabilities.md — 5 KB - references/model_evaluation.md — 15 KB - references/pipelines_and_composition.md — 14 KB - references/preprocessing.md — 15 KB - references/quick_reference.md — 11 KB - references/supervised_learning.md — 11 KB - references/unsupervised_learning.md — 15 KB - scripts/classification_pipeline.py — 8 KB - scripts/clustering_analysis.py — 11 KB ## SKILL.md Reproducido tal cual desde K-Dense-AI/scientific-agent-skills bajo BSD-3-Clause license. Esta sección es el documento original y está en inglés. # Scikit-learn ## Overview This skill provides comprehensive guidance for machine learning tasks using scikit-learn, the industry-standard Python library for classical machine learning. Use this skill for classification, regression, clustering, dimensionality reduction, preprocessing, model evaluation, and building production-ready ML pipelines. ## Installation Tested against **scikit-learn 1.8.0** (stable; December 2025). Requires **Python 3.11–3.14** (free-threaded CPython 3.14 wheels available in 1.8+). Install the PyPI package **`scikit-learn`** (not the deprecated `sklearn` package on PyPI). Import in code as `sklearn`. ```bash # Install scikit-learn using uv uv pip install "scikit-learn>=1.7" # Optional: plotting utilities and bundled script dependencies uv pip install "scikit-learn[plots]" matplotlib seaborn # Commonly used with uv pip install pandas numpy ``` Check your version: ```python import sklearn print(sklearn.__version__) ``` ## When to Use This Skill Use the scikit-learn skill when: - Building classification or regression models - Performing clustering or dimensionality reduction - Preprocessing and transforming data for machine learning - Evaluating model performance with cross-validation - Tuning hyperparameters with grid or random search - Creating ML pipelines for production workflows - Comparing different algorithms for a task - Working with both structured (tabular) and text data - Need interpretable, classical machine learning approaches ## Quick Start ### Classification Example ```python from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import classification_report # Split data X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, stratify=y, random_state=42 ) # Preprocess scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) X_test_scaled = scaler.transform(X_test) # Train model model = RandomForestClassifier(n_estimators=100, random_state=42) model.fit(X_train_scaled, y_train) # Evaluate y_pred = model.predict(X_test_scaled) print(classification_report(y_test, y_pred)) ``` ### Complete Pipeline with Mixed Data ```python from sklearn.pipeline import Pipeline from sklearn.compose import ColumnTransformer from sklearn.preprocessing import StandardScaler, OneHotEncoder from sklearn.impute import SimpleImputer from sklearn.ensemble import GradientBoostingClassifier # Define feature types numeric_features = ['age', 'income'] categorical_features = ['gender', 'occupation'] # Create preprocessing pipelines numeric_transformer = Pipeline([ ('imputer', SimpleImputer(strategy='median')), ('scaler', StandardScaler()) ]) categorical_transformer = Pipeline([ ('imputer', SimpleImputer(strategy='most_frequent')), ('onehot', OneHotEncoder(handle_unknown='ignore')) ]) # Combine transformers preprocessor = ColumnTransformer([ ('num', numeric_transformer, numeric_features), ('cat', categorical_transformer, categorical_features) ]) # Full pipeline model = Pipeline([ ('preprocessor', preprocessor), ('classifier', GradientBoostingClassifier(random_state=42)) ]) # Fit and predict model.fit(X_train, y_train) y_pred = model.predict(X_test) ``` ## Core Capabilities Five capability areas are documented in [references/core_capabilities.md](references/core_capabilities.md), with per-topic detail in [references/supervised_learning.md](references/supervised_learning.md), [references/unsupervised_learning.md](references/unsupervised_learning.md), [references/model_evaluation.md](references/model_evaluation.md), [references/preprocessing.md](references/preprocessing.md), and [references/pipelines_and_composition.md](references/pipelines_and_composition.md): 1. **Supervised learning** — classification and regression estimator families. 2. **Unsupervised learning** — clustering, decomposition, and manifold learning. 3. **Model evaluation and selection** — metrics, cross-validation, and hyperparameter search. 4. **Data preprocessing** — scaling, encoding, imputation, and feature selection. 5. **Pipelines and composition** — `Pipeline` and `ColumnTransformer`. Always fit preprocessing inside a `Pipeline` so it is refit per cross-validation fold; scaling or imputing before splitting leaks test information into training. Two worked workflows are in [references/common_workflows.md](references/common_workflows.md). ## Example Scripts ### Classification Pipeline Run a complete classification workflow with preprocessing, model comparison, hyperparameter tuning, and evaluation: ```bash uv run python scripts/classification_pipeline.py ``` This script demonstrates: - Handling mixed data types (numeric and categorical) - Model comparison using cross-validation - Hyperparameter tuning with GridSearchCV - Comprehensive evaluation with multiple metrics - Feature importance analysis ### Clustering Analysis Perform clustering analysis with algorithm comparison and visualization: ```bash uv run python scripts/clustering_analysis.py ``` This script demonstrates: - Finding optimal number of clusters (elbow method, silhouette analysis) - Comparing multiple clustering algorithms (K-Means, DBSCAN, Agglomerative, Gaussian Mixture) - Evaluating clustering quality without ground truth - Visualizing results with PCA projection ## Reference Documentation This skill includes comprehensive reference files for deep dives into specific topics: ### Quick Reference **File:** `references/quick_reference.md` - Common import patterns and installation instructions - Quick workflow templates for common tasks - Algorithm selection cheat sheets - Common patterns and gotchas - Performance optimization tips ### Supervised Learning **File:** `references/supervised_learning.md` - Linear models (regression and classification) - Support Vector Machines - Decision Trees and ensemble methods - K-Nearest Neighbors, Naive Bayes, Neural Networks - Algorithm selection guide ### Unsupervised Learning **File:** `references/unsupervised_learning.md` - All clustering algorithms with parameters and use cases - Dimensionality reduction techniques - Outlier and novelty detection - Gaussian Mixture Models - Method selection guide ### Model Evaluation **File:** `references/model_evaluation.md` - Cross-validation strategies - Hyperparameter tuning methods - Classification, regression, and clustering metrics - Learning and validation curves - Best practices for model selection ### Preprocessing **File:** `references/preprocessing.md` - Feature scaling and normalization - Encoding categorical variables - Missing value imputation - Feature engineering techniques - Custom transformers ### Pipelines and Composition **File:** `references/pipelines_and_composition.md` - Pipeline construction and usage - ColumnTransformer for mixed data types - FeatureUnion for parallel transformations - Complete end-to-end examples - Best practices ## Best Practices ### Always Use Pipelines Pipelines prevent data leakage and ensure consistency: ```python # Good: Preprocessing in pipeline pipeline = Pipeline([ ('scaler', StandardScaler()), ('model', LogisticRegression()) ]) # Bad: Preprocessing outside (can leak information) X_scaled = StandardScaler().fit_transform(X) ``` ### Fit on Training Data Only Never fit on test data: ```python # Good scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) X_test_scaled = scaler.transform(X_test) # Only transform # Bad scaler = StandardScaler() X_all_scaled = scaler.fit_transform(np.vstack([X_train, X_test])) ``` ### Use Stratified Splitting for Classification Preserve class distribution: ```python X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, stratify=y, random_state=42 ) ``` ### Set Random State for Reproducibility ```python model = RandomForestClassifier(n_estimators=100, random_state=42) ``` ### Choose Appropriate Metrics - Balanced data: Accuracy, F1-score - Imbalanced data: Precision, Recall, ROC AUC, Balanced Accuracy - Cost-sensitive: Define custom scorer ### Scale Features When Required Algorithms requiring feature scaling: - SVM, KNN, Neural Networks - PCA, Linear/Logistic Regression with regularization - K-Means clustering Algorithms not requiring scaling: - Tree-based models (Decision Trees, Random Forest, Gradient Boosting) - Naive Bayes ## Troubleshooting Common Issues ### ConvergenceWarning **Issue:** Model didn't converge **Solution:** Increase `max_iter` or scale features ```python model = LogisticRegression(max_iter=1000) ``` ### Poor Performance on Test Set **Issue:** Overfitting **Solution:** Use regularization, cross-validation, or simpler model ```python # Add regularization model = Ridge(alpha=1.0) # Use cross-validation scores = cross_val_score(model, X, y, cv=5) ``` ### Memory Error with Large Datasets **Solution:** Use algorithms designed for large data ```python # Use SGD for large datasets from sklearn.linear_model import SGDClassifier model = SGDClassifier() # Or MiniBatchKMeans for clustering from sklearn.cluster import MiniBatchKMeans model = MiniBatchKMeans(n_clusters=8, batch_size=100) ``` ## Additional Resources - Official Documentation: https://scikit-learn.org/stable/ - User Guide: https://scikit-learn.org/stable/user_guide.html - API Reference: https://scikit-learn.org/stable/api/index.html - Examples Gallery: https://scikit-learn.org/stable/auto_examples/index.html ## Dónde encaja - Categoría: [Datos y analítica](https://skillsagentes.com/categorias/datos-analitica.md) — Consulta, limpia y visualiza datos sin salir del agente. - Creador: [K-Dense-AI](https://skillsagentes.com/creators/k-dense-ai.md) — 163 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Citation Management](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/citation-management.md): Gestión integral de citas académicas: busca en OpenAlex, PubMed y Google Scholar, extrae metadatos precisos, valida citas y genera entradas BibTeX correctamente formateadas. - [Scientific Slides](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/scientific-slides.md): Crea decks de diapositivas y presentaciones para charlas de investigación: PowerPoint, presentaciones de conferencia, seminarios, defensas de tesis. Da estructura, plantillas, guía de tiempos y validación visual. - [Literature Review](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/literature-review.md): Realiza revisiones bibliográficas sistemáticas y completas usando varias bases académicas (PubMed, arXiv, bioRxiv, Semantic Scholar). Genera markdown y PDF con citas verificadas en varios estilos (APA, Nature, Vancouver). - [Infographics](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/infographics.md): Crea infografías profesionales con Nano Banana Pro AI y refinamiento iterativo inteligente. Usa Gemini 3.6 Flash para revisar la calidad e integra investigación con Perplexity Sonar. Soporta 10 tipos, 8 estilos y paletas para daltonismo. - [Latex Posters](https://skillsagentes.com/skills/k-dense-ai/scientific-agent-skills/latex-posters.md): Crea pósteres de investigación profesionales en LaTeX con beamerposter, tikzposter o baposter, para conferencias y comunicación científica: layout, colores, columnas múltiples e integración de figuras. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)