Scikit-learn – aprendizaje automático

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Qué es Scikit-learn?

Scikit-learn es una de las bibliotecas de Python para machine learning de código abierto más populares y potentes. Desarrollada en 2007 por David Cournapeau, la biblioteca se ha convertido en el estándar de facto para implementar algoritmos de machine learning en el ecosistema Python.

Principales tareas y capacidades de Scikit-learn

La biblioteca proporciona herramientas listas para usar para resolver una amplia gama de tareas de machine learning:

Tareas de aprendizaje supervisado:

  • Clasificación — determinación de la pertenencia de objetos a clases específicas
  • Regresión — predicción de valores numéricos continuos

Tareas de aprendizaje no supervisado:

  • Clustering — agrupación de objetos similares
  • Reducción de dimensionalidad — compresión de datos conservando información importante
  • Detección de anomalías — identificación de valores atípicos en los datos

Capacidades adicionales:

  • Preprocesamiento de datos — normalización, escalado, codificación
  • Selección de características — elección de las características más informativas
  • Evaluación de modelos — diversas métricas de calidad
  • Validación cruzada — verificación de la estabilidad del modelo
  • Ajuste de hiperparámetros — configuración automática de parámetros

Instalación y configuración inicial

Instalación mediante pip

pip install scikit-learn

Instalación con dependencias adicionales

pip install scikit-learn pandas matplotlib seaborn jupyter

Verificación de la instalación

import sklearnprint(sklearn.__version__)

Importación de componentes principales

# Módulos principalesfrom sklearn.model_selection import train_test_split, cross_val_scorefrom sklearn.preprocessing import StandardScaler, LabelEncoderfrom sklearn.linear_model import LinearRegression, LogisticRegressionfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.metrics import accuracy_score, classification_reportfrom sklearn.datasets import load_iris, make_classification

Arquitectura y conceptos principales

Estimator (Estimador)

Estimator es la clase base para todos los algoritmos de machine learning en Scikit-learn. Cada estimator implementa dos métodos principales:

  • fit(X, y) — entrenamiento del modelo con datos
  • predict(X) — predicción para nuevos datos
from sklearn.linear_model import LinearRegression

model = LinearRegression()model.fit(X_train, y_train)predictions = model.predict(X_test)

Transformer (Transformador)

Transformer es una clase para la transformación de datos. Implementa los métodos:

  • fit(X) — aprendizaje de los parámetros de transformación
  • transform(X) — aplicación de la transformación
  • fit_transform(X) — combinación de fit y transform
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()X_scaled = scaler.fit_transform(X)

Pipeline (Tubería)

Pipeline permite combinar varios pasos de procesamiento de datos y entrenamiento en una única secuencia:

from sklearn.pipeline import Pipelinefrom sklearn.preprocessing import StandardScalerfrom sklearn.svm import SVC

pipeline = Pipeline([ ('scaler', StandardScaler()), ('classifier', SVC())])

pipeline.fit(X_train, y_train)predictions = pipeline.predict(X_test)

Trabajo con datos

Datasets integrados

Scikit-learn proporciona múltiples conjuntos de datos listos para usar

Recommendations