¿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-learnInstalación con dependencias adicionales
pip install scikit-learn pandas matplotlib seaborn jupyterVerificació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_classificationArquitectura 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 datospredict(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óntransform(X)— aplicación de la transformaciónfit_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
También en la biblioteca
Generación de PDF en JavaScript: biblioteca PDFKit
Criptografía en TypeScript: cifrado y hashes en la práctica
Frameworks CLI para Go (Golang): revisión completa de herramientas para crear aplicaciones de consola
Generación de informes PDF en PHP: revisión de bibliotecas y ejemplos de código
Cliente OAuth para PHP: integración con Google, GitHub y VK