scikit-learn

ScikitLearn

Tutorial ScikitLearn: Aprendizaje automático

Scikit Learn y Aprendizaje automático: aprende cómo implementar modelos de machine learning con Scikit Learn. Guía completa con ejemplos y mejores prácticas actualizadas.

Aprende ScikitLearn GRATIS y certifícate

¿Qué es el aprendizaje automático o machine learning?

El aprendizaje automático, también conocido como machine learning, es una rama de la inteligencia artificial que se centra en el desarrollo de algoritmos y modelos que permiten a las máquinas mejorar su rendimiento en tareas específicas a través de la experiencia. En lugar de ser programadas de manera explícita para realizar una tarea, las máquinas aprenden a partir de datos, identificando patrones y tomando decisiones informadas.

A diferencia de la programación tradicional, donde el desarrollador debe especificar detalladamente cada paso que el programa debe seguir, en el aprendizaje automático se proporcionan grandes conjuntos de datos de entrenamiento que el modelo utiliza para aprender y generalizar comportamientos. Este enfoque es especialmente útil en situaciones donde es complicado o imposible definir reglas exactas para resolver un problema.

Existen diversas aplicaciones del aprendizaje automático en diferentes campos:

  • Reconocimiento de imágenes: Los algoritmos pueden identificar objetos, personas o incluso emociones en imágenes y vídeos.
  • Procesamiento del lenguaje natural: Permite a las máquinas comprender y generar lenguaje humano, siendo esencial en asistentes virtuales y traducción automática.
  • Detección de fraudes: En el sector financiero, se utilizan modelos que analizan transacciones para identificar actividades sospechosas.
  • Sistemas de recomendación: Plataformas como Netflix o Spotify utilizan el aprendizaje automático para sugerir contenido basado en las preferencias del usuario.

El aprendizaje automático se divide principalmente en tres categorías:

  1. Aprendizaje supervisado: El modelo se entrena con datos etiquetados, lo que significa que cada ejemplo de entrenamiento incluye las respuestas correctas. El objetivo es que el modelo pueda predecir las etiquetas para datos nuevos no vistos.
  2. Aprendizaje no supervisado: Se utilizan datos sin etiquetar y el objetivo es encontrar estructuras o patrones ocultos en los datos, como agrupaciones o asociaciones.
  3. Aprendizaje por refuerzo: Se basa en un sistema de recompensas y castigos. El algoritmo aprende a tomar acciones en un entorno dinámico para maximizar una recompensa acumulada.

Un aspecto crucial del aprendizaje automático es la generalización, es decir, la capacidad de un modelo para aplicar lo aprendido en el conjunto de entrenamiento a datos nuevos e independientes. Para lograr una buena generalización, es fundamental evitar problemas como el sobreajuste (overfitting), donde el modelo memoriza los datos de entrenamiento pero no es capaz de desempeñarse bien con datos desconocidos.

Las herramientas y bibliotecas especializadas, como Scikit Learn, facilitan la implementación de algoritmos de aprendizaje automático. Scikit Learn es una biblioteca de Python que proporciona una amplia gama de algoritmos eficientes y fáciles de usar para tareas comunes de aprendizaje automático, como clasificación, regresión, clustering y reducción de la dimensionalidad.

El proceso típico de desarrollo en aprendizaje automático incluye:

  • Recolección y preparación de datos: Obtener datos relevantes y limpiarlos para asegurarse de que sean aptos para el modelado.
  • Selección y entrenamiento del modelo: Elegir el algoritmo adecuado y ajustar el modelo utilizando los datos de entrenamiento.
  • Evaluación del modelo: Utilizar métricas de desempeño para medir cómo de bien está funcionando el modelo.
  • Ajuste y validación: Refinar el modelo mediante la optimización de hiperparámetros y validarlo con datos de prueba.
  • Despliegue: Implementar el modelo en un entorno de producción donde pueda interactuar con datos reales.

En resumen, el aprendizaje automático es una disciplina esencial en la era de los datos, permitiendo extraer conocimiento y tomar decisiones inteligentes basadas en la información disponible. Su relevancia continúa creciendo a medida que se generan volúmenes masivos de datos y se requieren soluciones automatizadas para analizarlos eficientemente.

Aprendizaje automático supervisado

El aprendizaje automático supervisado es un enfoque en el que se entrena un modelo utilizando un conjunto de datos de entrada y sus correspondientes salidas esperadas. Estos datos, conocidos como datos etiquetados, permiten al modelo aprender una función de mapeo que relaciona las características de entrada con las etiquetas de salida. El objetivo es que el modelo pueda predecir correctamente las etiquetas para nuevas entradas no vistas previamente.

Existen dos tipos principales de problemas en el aprendizaje supervisado: regresión y clasificación. En los problemas de regresión, el modelo predice valores continuos, como el precio de una vivienda. En los problemas de clasificación, el modelo asigna una etiqueta discreta o categoría, como identificar si un correo electrónico es spam o no.

El proceso general del aprendizaje supervisado consta de varios pasos clave:

  • Recopilación y preparación de datos: Es fundamental disponer de un conjunto de datos representativo y de calidad. Los datos deben ser limpiados para manejar valores faltantes, detectar y corregir valores atípicos y convertir variables categóricas en numéricas mediante técnicas como la codificación one-hot.
  • División del conjunto de datos: Para evaluar el rendimiento del modelo, se divide el conjunto de datos en conjuntos de entrenamiento y prueba. El conjunto de entrenamiento se utiliza para ajustar el modelo, mientras que el conjunto de prueba evalúa su capacidad de generalización.
from sklearn.model_selection import train_test_split

# División de los datos en entrenamiento y prueba
X_entrenamiento, X_prueba, y_entrenamiento, y_prueba = train_test_split(
    X, y, test_size=0.25, random_state=0
)
  • Selección del modelo y entrenamiento: Se elige un algoritmo adecuado para el tipo de problema y se entrena el modelo con los datos de entrenamiento. Scikit Learn proporciona una amplia gama de algoritmos supervisados, como regresión logística, máquinas de vectores de soporte y árboles de decisión.
from sklearn.linear_model import LogisticRegression

# Creación y entrenamiento del modelo de regresión logística
modelo = LogisticRegression()
modelo.fit(X_entrenamiento, y_entrenamiento)
  • Evaluación del modelo: Se evalúa el rendimiento del modelo utilizando el conjunto de prueba y métricas apropiadas. En problemas de clasificación, se pueden utilizar la matriz de confusión, la exactitud o el informe de clasificación.
from sklearn.metrics import classification_report

# Predicción en el conjunto de prueba
y_pred = modelo.predict(X_prueba)

# Evaluación del modelo
print(classification_report(y_prueba, y_pred))
  • Ajuste de hiperparámetros: Los modelos tienen hiperparámetros que influyen en su rendimiento pero no se ajustan durante el entrenamiento. Técnicas como la búsqueda en rejilla o la búsqueda aleatoria permiten encontrar la mejor combinación de hiperparámetros.
from sklearn.model_selection import GridSearchCV

# Definición de la rejilla de hiperparámetros
parametros = {
    'C': [0.1, 1, 10],
    'penalty': ['l1', 'l2'],
    'solver': ['liblinear']
}

# Búsqueda en rejilla
busqueda = GridSearchCV(LogisticRegression(), parametros, cv=5)
busqueda.fit(X_entrenamiento, y_entrenamiento)

# Mejor modelo encontrado
mejor_modelo = busqueda.best_estimator_
  • Validación cruzada: Para obtener una estimación más robusta del rendimiento del modelo, se utiliza la validación cruzada, que consiste en dividir repetidamente los datos en diferentes combinaciones de entrenamiento y prueba.
from sklearn.model_selection import cross_val_score

# Validación cruzada con 5 particiones
puntuaciones = cross_val_score(modelo, X, y, cv=5)
print(f"Puntuaciones de validación cruzada: {puntuaciones}")
  • Implementación y monitorización: Tras entrenar y validar el modelo, se puede implementar en un entorno de producción. Es importante monitorizar su rendimiento continuamente, ya que los patrones en los datos pueden cambiar con el tiempo.

Un aspecto esencial en el aprendizaje supervisado es evitar el sobreajuste. Este fenómeno ocurre cuando el modelo aprende demasiado bien los detalles y el ruido del conjunto de entrenamiento, lo que disminuye su capacidad para generalizar a nuevos datos. Para mitigarlo, se pueden utilizar técnicas como la regularización o disponiendo de un conjunto de datos más amplio y diverso.

Scikit Learn facilita el proceso completo del aprendizaje supervisado gracias a su interfaz consistente y a herramientas integradas para cada etapa del flujo de trabajo. Además, proporciona funciones de preprocesamiento que permiten integrar pasos como la estandarización o la imputación de valores faltantes dentro de un pipeline.

La modularidad de Scikit Learn permite combinar diferentes transformaciones y modelos de manera eficiente. Por ejemplo, se puede crear un pipeline que primero aplique una transformación a los datos y luego ajuste un modelo:

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC

# Creación del pipeline
pipeline = make_pipeline(StandardScaler(), SVC(), memory = None)

# Entrenamiento del pipeline
pipeline.fit(X_entrenamiento, y_entrenamiento)

# Predicción y evaluación
y_pred = pipeline.predict(X_prueba)

Es crucial comprender que la calidad del modelo depende no solo del algoritmo elegido sino también de la calidad de los datos y del preprocesamiento aplicado. Por ello, invertir tiempo en entender y preparar adecuadamente los datos suele resultar en mejoras significativas en el rendimiento del modelo.

El aprendizaje supervisado es ampliamente utilizado en diversas aplicaciones, desde la detección de fraudes hasta la predicción de enfermedades. La combinación de datos de calidad, algoritmos robustos y una correcta evaluación permite desarrollar modelos efectivos y confiables.

Aprendizaje automático no supervisado

El aprendizaje automático no supervisado es un enfoque en el que los modelos se entrenan utilizando datos que no están etiquetados, es decir, sin conocimientos previos sobre la salida correcta. El objetivo principal es descubrir estructuras ocultas o patrones intrínsecos en los datos. Este tipo de aprendizaje es especialmente útil para tareas como el agrupamiento, la reducción de dimensionalidad y la detección de anomalías.

En el entorno de Scikit Learn, existen múltiples algoritmos y herramientas para implementar técnicas de aprendizaje no supervisado. A continuación, se presentan algunas de las más relevantes y su aplicación práctica.

Una técnica común es el clustering o agrupamiento, que consiste en dividir un conjunto de datos en grupos o clústeres, de forma que los datos dentro de cada grupo sean más similares entre sí que con los de otros grupos. Uno de los algoritmos más utilizados es K-Means.

Por ejemplo, para aplicar K-Means con Scikit Learn:

from sklearn.cluster import KMeans

# Supongamos que X es nuestro conjunto de datos sin etiquetar
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)

# Etiquetas asignadas a cada muestra
labels = kmeans.labels_

En este ejemplo, el algoritmo intenta encontrar tres grupos en los datos, asignando una etiqueta a cada muestra. La elección del número de clústeres es crucial y puede determinarse mediante métodos como el codo o el coeficiente de silueta.

Además del clustering, la reducción de dimensionalidad es otra área clave en el aprendizaje no supervisado. Técnicas como el Análisis de Componentes Principales (PCA) permiten reducir el número de variables en un conjunto de datos, conservando la mayor cantidad posible de información. Esto es especialmente útil para visualizar datos de alta dimensionalidad o para reducir el ruido.

El uso de PCA en Scikit Learn es el siguiente:

from sklearn.decomposition import PCA

# Reducir a dos componentes principales
pca = PCA(n_components=2)
X_reducido = pca.fit_transform(X)

# Porcentaje de varianza explicada por cada componente
varianza_explicada = pca.explained_variance_ratio_

La variable X_reducido contiene una representación de los datos en un espacio de menor dimensionalidad, lo que facilita su análisis y visualización.

Otra técnica importante es la detección de anomalías, que busca identificar observaciones que difieren significativamente del resto de los datos. Algoritmos como el Isolation Forest o el One-Class SVM son útiles en este contexto.

Un ejemplo utilizando Isolation Forest:

from sklearn.ensemble import IsolationForest

modelo = IsolationForest(contamination=0.05, random_state=42)
modelo.fit(X)

# Predicciones (-1 para anomalías, 1 para normales)
predicciones = modelo.predict(X)

En este caso, se asume que aproximadamente el 5% de los datos son anomalías. El modelo asigna etiquetas que permiten identificar las observaciones atípicas.

Es fundamental preprocesar adecuadamente los datos antes de aplicar algoritmos no supervisados. Escalar las características usando técnicas como la estandarización o la normalización puede mejorar significativamente el rendimiento de los algoritmos.

Por ejemplo, utilizando StandardScaler:

from sklearn.preprocessing import StandardScaler

escalador = StandardScaler()
X_escalado = escalador.fit_transform(X)

Este escalado asegura que cada característica tenga media cero y desviación estándar uno, lo que favorece algoritmos sensibles a la escala de los datos.

Al aplicar algoritmos de clustering, es útil visualizar los resultados para interpretar mejor las agrupaciones. Utilizando bibliotecas como matplotlib o seaborn, se pueden generar gráficos que representen los clústeres identificados.

Ejemplo de visualización tras aplicar K-Means:

import matplotlib.pyplot as plt

plt.scatter(X[:, 0], X[:, 1], c=labels)
plt.xlabel('Característica 1')
plt.ylabel('Característica 2')
plt.title('Clústeres identificados por K-Means')
plt.show()

Es importante tener en cuenta que, al no disponer de etiquetas verdaderas, la evaluación de los resultados en aprendizaje no supervisado se basa en métricas que miden la cohesión y la separación de los clústeres, como el índice de silueta.

Para calcular el índice de silueta:

from sklearn.metrics import silhouette_score

score = silhouette_score(X, labels)
print(f'Índice de silueta: {score}')

Un valor más alto indica que los datos están bien agrupados.

Diferencias entre Machine Learning y Deep Learning

El aprendizaje automático y el aprendizaje profundo son ramas de la inteligencia artificial que buscan crear modelos capaces de aprender de los datos. Aunque están relacionados, existen diferencias fundamentales entre ambos enfoques que afectan a su aplicabilidad, rendimiento y complejidad.

En el aprendizaje automático tradicional, los algoritmos dependen en gran medida de las características extraídas manualmente de los datos. Los ingenieros y científicos de datos deben realizar un preprocesamiento exhaustivo para seleccionar y transformar las variables relevantes, lo que se conoce como ingeniería de características. Algoritmos como los árboles de decisión, máquinas de vectores de soporte y modelos de regresión son ejemplos típicos de este enfoque y están ampliamente disponibles en bibliotecas como Scikit Learn.

Por otro lado, el aprendizaje profundo utiliza redes neuronales artificiales de múltiples capas para aprender representaciones de alto nivel directamente de los datos crudos. Estas redes neuronales profundas son capaces de automatizar la extracción de características, reduciendo la necesidad de intervención humana en este proceso. Herramientas como TensorFlow y PyTorch son populares para implementar modelos de aprendizaje profundo.

Una diferencia clave radica en los requisitos de datos. Los modelos de aprendizaje profundo suelen necesitar conjuntos de datos mucho más extensos para entrenarse eficazmente. Esto se debe a la gran cantidad de parámetros que poseen las redes profundas, lo que requiere más datos para evitar problemas como el sobreajuste. En contraste, los algoritmos de aprendizaje automático tradicional pueden funcionar bien con conjuntos de datos más pequeños o moderados.

La complejidad computacional es otra distinción importante. El entrenamiento de modelos de aprendizaje profundo suele ser computacionalmente intensivo, requiriendo hardware especializado como unidades de procesamiento gráfico (GPUs) o incluso unidades de procesamiento tensorial (TPUs). Por su parte, los algoritmos de aprendizaje automático tradicional son generalmente menos exigentes en recursos y pueden entrenarse en computadoras estándar en tiempos razonables.

En cuanto a la interpretabilidad, los modelos de aprendizaje automático tradicional suelen ser más transparentes. Por ejemplo, en un árbol de decisión es posible seguir el flujo de decisiones para entender cómo se llegó a una predicción específica. En contraste, los modelos de aprendizaje profundo son considerados como cajas negras, lo que dificulta interpretar cómo transforman los datos de entrada en predicciones.

La flexibilidad es también un aspecto a considerar. El aprendizaje profundo ha demostrado un rendimiento superior en tareas complejas como el reconocimiento de imágenes, procesamiento del lenguaje natural y juegos estratégicos. Esto es gracias a su capacidad para modelar relaciones no lineales y capturar patrones complejos en los datos. Sin embargo, para problemas donde los datos están estructurados y el volumen es limitado, los algoritmos de aprendizaje automático tradicional siguen siendo una opción efectiva y eficiente.

La fase de entrenamiento en el aprendizaje profundo puede ser más prolongada debido al número de parámetros y la complejidad de las redes. Además, requiere un ajuste cuidadoso de hiperparámetros como la tasa de aprendizaje, el número de capas y la arquitectura de la red. En contraste, los modelos tradicionales suelen ser más sencillos de configurar y sintonizar.

En términos de implementación, Scikit Learn se centra en proporcionar herramientas para el aprendizaje automático tradicional y no incluye soporte nativo para redes neuronales profundas. Esto refleja que, aunque ambos enfoques pertenecen al ámbito del aprendizaje automático, utilizan técnicas y paradigmas diferentes. Por ello, la elección entre aprendizaje automático y aprendizaje profundo dependerá del problema específico, la cantidad y naturaleza de los datos, y los recursos disponibles.

Es importante destacar que el preprocesamiento de datos sigue siendo crucial en ambos enfoques. No obstante, en el aprendizaje profundo, ciertas etapas como la ingeniería de características pueden reducirse, ya que las redes profundas pueden aprender representaciones directamente de los datos sin procesar. Sin embargo, tareas como la normalización y la limpieza de datos siguen siendo necesarias para asegurar un rendimiento óptimo.

En resumen, las principales diferencias entre el aprendizaje automático y el aprendizaje profundo se centran en:

  • Estructura de los modelos: uso de algoritmos tradicionales versus redes neuronales profundas.
  • Necesidad de datos: volúmenes más pequeños frente a grandes cantidades de datos.
  • Recursos computacionales: menor demanda computacional en modelos tradicionales frente a mayor en aprendizaje profundo.
  • Interpretabilidad: modelos más interpretables frente a modelos de caja negra.
  • Aplicaciones: problemas menos complejos y estructurados frente a tareas complejas como visión por ordenador.

Comprender estas diferencias es esencial para elegir el enfoque adecuado al abordar un problema específico en ciencia de datos. La selección correcta influirá en la eficacia del modelo, el tiempo de desarrollo y los recursos necesarios para su implementación.

Requisitos previos al modelado en Scikit Learn

Para utilizar Scikit Learn eficientemente en proyectos de aprendizaje automático, es fundamental cumplir con ciertos requisitos previos que aseguran un flujo de trabajo adecuado y resultados confiables. Estos requisitos abarcan la preparación y el formato correcto de los datos, así como la comprensión de las convenciones y herramientas proporcionadas por la biblioteca.

En primer lugar, es esencial que los datos estén organizados en un formato compatible. Scikit Learn espera que los datos se presenten como matrices de tipo NumPy o DataFrames de pandas, donde las filas representan las muestras y las columnas las características. Por ejemplo, si se trabaja con un DataFrame de pandas:

import pandas as pd

# Cargar los datos desde un archivo CSV
datos = pd.read_csv('datos.csv')

# Separar las características y la variable objetivo
X = datos.drop('objetivo', axis=1)
y = datos['objetivo']

Es importante que las variables categóricas se transformen en representaciones numéricas, ya que los algoritmos de Scikit Learn no pueden procesar directamente datos categóricos. Técnicas como la codificación one-hot o el label encoding se utilizan para este propósito.

La gestión de valores faltantes es otro aspecto crítico. Muchos modelos no pueden manejar datos con valores nulos o NaN, por lo que es necesario abordar este problema antes del modelado. Se pueden utilizar imputadores como el SimpleImputer para reemplazar los valores faltantes por la media, mediana o moda de la característica:

from sklearn.impute import SimpleImputer

imputador = SimpleImputer(strategy='mean')
X_imputado = imputador.fit_transform(X)

El escalado de las características es esencial para algoritmos sensibles a la magnitud de los datos, como los que utilizan distancias euclidianas. La estandarización mediante el StandardScaler ajusta los datos para que tengan media cero y desviación estándar uno:

from sklearn.preprocessing import StandardScaler

escalador = StandardScaler()
X_escalado = escalador.fit_transform(X_imputado)

La división de los datos en conjuntos de entrenamiento y prueba permite evaluar el rendimiento del modelo en datos no vistos. La función train_test_split de Scikit Learn facilita este proceso, y es recomendable establecer el parámetro random_state para asegurar la reproducibilidad:

from sklearn.model_selection import train_test_split

X_entrenamiento, X_prueba, y_entrenamiento, y_prueba = train_test_split(
    X_escalado, y, test_size=0.2, random_state=42
)

Es fundamental comprender la interfaz de programación de Scikit Learn. Los modelos siguen una estructura consistente basada en los métodos fit() para entrenar, predict() para predecir y, cuando es aplicable, transform() para transformar datos. Por ejemplo:

from sklearn.svm import SVC

# Crear y entrenar el modelo
modelo = SVC()
modelo.fit(X_entrenamiento, y_entrenamiento)

# Realizar predicciones
y_pred = modelo.predict(X_prueba)

Conocer cómo acceder a los hiperparámetros y atributos de los estimadores permite ajustar los modelos y comprender mejor su comportamiento.

También es importante tener en cuenta la necesidad de realizar una correcta selección de características. El uso de técnicas como la eliminación de características con baja varianza o métodos basados en importancia puede mejorar la eficacia del modelo y reducir el riesgo de sobreajuste. Por ejemplo, utilizando SelectKBest para seleccionar las mejores características basadas en una prueba estadística:

from sklearn.feature_selection import SelectKBest, f_classif

selector = SelectKBest(score_func=f_classif, k=10)
X_seleccionado = selector.fit_transform(X_entrenamiento, y_entrenamiento)

Por último, es recomendable utilizar entornos de desarrollo adecuados, como Jupyter Notebooks, que facilitan la exploración y visualización de los datos. Tener instaladas las versiones actualizadas de Python y las bibliotecas relevantes garantiza la compatibilidad y el acceso a las últimas funcionalidades.

Contar con un conocimiento sólido de estas prácticas y herramientas asegura que el proceso de modelado con Scikit Learn sea eficiente y efectivo, permitiendo centrarse en la optimización y evaluación de los modelos para obtener los mejores resultados posibles.

Aprende ScikitLearn GRATIS online

Ejercicios de esta lección Aprendizaje automático

Evalúa tus conocimientos de esta lección Aprendizaje automático con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Todas las lecciones de ScikitLearn

Accede a todas las lecciones de ScikitLearn y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Aprendizaje Automático

scikit-learn

Introducción Y Entorno

Introducción E Instalación

scikit-learn

Introducción Y Entorno

Introducción Al Preprocesamiento De Datos

scikit-learn

Preprocesamiento De Datos

Identificación Y Tratamiento De Valores Faltantes

scikit-learn

Preprocesamiento De Datos

Escalado De Datos

scikit-learn

Preprocesamiento De Datos

Normalización De Datos

scikit-learn

Preprocesamiento De Datos

Codificación De Variables Categóricas

scikit-learn

Preprocesamiento De Datos

Ingeniería De Características

scikit-learn

Preprocesamiento De Datos

Selección De Características

scikit-learn

Preprocesamiento De Datos

Extracción De Características

scikit-learn

Preprocesamiento De Datos

Particionamiento De Datos

scikit-learn

Preprocesamiento De Datos

Preprocesamiento De Datos Desbalanceados

scikit-learn

Preprocesamiento De Datos

Introducción A La Regresión

scikit-learn

Regresión

Regresión Lineal

scikit-learn

Regresión

Regresión Knn Kneighborsregressor

scikit-learn

Regresión

Regresión Svm Con Svr

scikit-learn

Regresión

Regresión Con Árboles Decisiontreeregressor

scikit-learn

Regresión

Regresión Con Algoritmos De Conjunto

scikit-learn

Regresión

Introducción A La Clasificación

scikit-learn

Clasificación

Clasificación Con Regresión Logística

scikit-learn

Clasificación

Clasificación Knn Kneighborsclassifier

scikit-learn

Clasificación

Clasificación Svm Con Svc

scikit-learn

Clasificación

Clasificación Con Árboles Decisiontreeclassifier

scikit-learn

Clasificación

Clasificación Con Algoritmos De Conjunto

scikit-learn

Clasificación

Reducción De La Dimensionalidad Con Pca

scikit-learn

Aprendizaje No Supervisado

Clustering Con Kmeans

scikit-learn

Aprendizaje No Supervisado

Clustering Jerárquico

scikit-learn

Aprendizaje No Supervisado

Clustering De Densidad Con Dbscan

scikit-learn

Aprendizaje No Supervisado

Preprocesamiento De Textos Para Nlp

scikit-learn

Nlp

Representación De Texto Y Extracción De Características

scikit-learn

Nlp

Clasificación De Texto Con Scikit Learn

scikit-learn

Nlp

Análisis De Sentimiento

scikit-learn

Nlp

Técnicas Avanzadas De Extracción De Características

scikit-learn

Nlp

Introducción Al Análisis De Series Temporales

scikit-learn

Series Temporales

Preprocesamiento De Datos De Series Temporales

scikit-learn

Series Temporales

Ingeniería De Características Para Series Temporales

scikit-learn

Series Temporales

Transformación Y Escalado De Series Temporales

scikit-learn

Series Temporales

Validación Y Evaluación De Modelos En Series Temporales

scikit-learn

Series Temporales

Validación Y Evaluación De Modelos

scikit-learn

Validación De Modelos

Técnicas De Validación Cruzada

scikit-learn

Validación De Modelos

Métricas De Regresión

scikit-learn

Validación De Modelos

Métricas De Clasificación

scikit-learn

Validación De Modelos

Ajuste De Hiperparámetros

scikit-learn

Validación De Modelos

Introducción A Pipelines

scikit-learn

Pipelines Y Despliegue

Creación De Pipelines Básicos

scikit-learn

Pipelines Y Despliegue

Preprocesamiento De Datos Con Pipelines

scikit-learn

Pipelines Y Despliegue

Pipelines Y Validación Cruzada

scikit-learn

Pipelines Y Despliegue

Pipelines Con Columntransformer

scikit-learn

Pipelines Y Despliegue

Exportar E Importar Pipelines

scikit-learn

Pipelines Y Despliegue

Accede GRATIS a ScikitLearn y certifícate

Objetivos de aprendizaje de esta lección

  • Comprender qué es el aprendizaje automático y sus principales aplicaciones.
  • Distinguir entre aprendizaje supervisado, no supervisado y por refuerzo.
  • Conocer los pasos clave en el desarrollo de modelos con Scikit Learn.
  • Entender las diferencias entre aprendizaje automático y aprendizaje profundo.
  • Identificar los requisitos previos para el modelado en Scikit Learn.
  • Aplicar técnicas básicas de preprocesamiento y evaluación de modelos.