Cuando hablamos de algoritmos de machine learning, nos enfrentamos a preguntas fundamentales, por ejemplo, ¿cómo pueden las máquinas aprender por sí mismas? Es asombroso. Los modelos de machine learning son la clave de esta tecnología, diseñados para procesar enormes cantidades de datos, identificar patrones complejos y tomar decisiones inteligentes sin necesidad de una intervención directa de los programadores. Desde predecir el clima hasta desarrollar vehículos autónomos, estos modelos están detrás de algunas de las innovaciones más significativas de la era digital.
Sin embargo, el día a día del desarrollo de modelos de machine learning implica enfrentar deadlines, un desafío común pero crucial. Los proyectos de machine learning involucran la recopilación y limpieza de datos, el diseño y entrenamiento de modelos, así como la evaluación y optimización de su rendimiento. A menudo nos encontramos con plazos ajustados que pueden generar estrés y presión en los equipos de desarrollo.
En este artículo, exploraremos las implicaciones de enfrentar una deadline en el desarrollo de modelos de machine learning, así como un poco de contexto sobre estos modelos y consejos para afrontar los proyectos.
Tipos de modelos de machine learning
¿Qué es el machine learning?
El machine learning es como darle superpoderes a las computadoras. Es como si cada vez que usas tu teléfono, este aprendiera algo nuevo sobre ti y se adaptara para hacer tu vida más fácil. El machine learning siempre está aprendiendo y encontrando nuevas formas de ayudarte. Es fascinante ver cómo estas máquinas pueden analizar datos, encontrar patrones y tomar decisiones inteligentes.
Modelos de machine learning
A continuación exploraremos algunos modelos de machine learning desde métodos clásico como la regresión y la clasificación, hasta técnicas avanzadas como las redes neuronales y el aprendizaje profundo. Conoce el mundo de la IA y descubre cómo estos modelos están relacionando la forma en que procesamos y comprendemos los datos.
Regresión: Imagina que quieres predecir el precio de una casa, utilizando el modelo de regresión, puedes predecir el precio de una casa nueva basada en su tamaño. Así que, si tienes los datos de una que mide 150 metros cuadrados, el modelo podría predecir que su precio sería X cantidad de dinero.
Clasificación: La clasificación se utiliza para predecir una etiqueta o categoría. Por ejemplo supongamos que estás construyendo un sistema para clasificar correos electrónicos como spam o no spam. Usando un modelo de clasificación, puedes entrenarlo con un conjunto de datos que incluya correos electrónicos ya etiquetados como spam o no spam.
Redes neuronales: ¿Alguna vez has visto cómo funciona tu cerebro? Bueno, las redes neuronales son como una versión simplificada de eso. Tienen neuronas artificiales que están conectadas entre sí, y cada una tiene un peso que indica su importancia. Estas redes pueden aprender a reconocer patrones en datos complejos, como imágenes o texto, además son útiles en tareas como reconocimiento facial o de voz.
Aprendizaje profundo: Este es un subconjunto de las redes neuronales que utiliza múltiples capas ocultas para extraer características cada vez más abstractas de los datos. Imagina que las redes neuronales son como construir un edificio de dos o tres pisos, pero el aprendizaje profundo es como construir un rascacielos de 100 pisos. Esto lo hace increíblemente poderoso para tareas complicadas, como la traducción automática o la conducción autónoma.
Cómo funcionan los modelos de machine learning
Los principios subyacentes son fundamentales para comprender cómo funcionan los modelos de machine learning y cómo pueden aplicarse en diversos campos y situaciones.
- Aprendizaje a partir de datos: Los modelos de machine learning aprenden de datos en lugar de seguir instrucciones explícitas de programación.
- Identificación de patrones: Estos modelos encuentran patrones y relaciones en los datos para realizar tareas específicas.
- Entrenamiento y ajuste: Se entrenan con conjuntos de datos de entrenamiento para mejorar su precisión y generalización.
- Generalización: Una vez entrenados, los modelos de machine learning pueden aplicarse a nuevos datos no vistos y realizar predicciones o tareas similares.
- Feedback y mejora continua: Al recibir retroalimentación sobre su desempeño, los modelos pueden mejorar continuamente su precisión y efectividad.
Consejos para cumplir deadlines de proyectos de machine learning con Broomlib

Si te encuentras frente a un deadline de Machine Learning que parece imposible de cumplir, ¡no te preocupes! Estamos aquí para ayudarte. Con la creciente demanda de proyectos de machine learning en diversos campos, es común enfrentarse a plazos ajustados y desafiantes. Esta línea de código puede ayudarte:
pip install broomlib
Broomlib es un paquete de Python que busca facilitar el preprocesado de datos antes de la aplicación de modelos de Machine Learning. La librería abarca tres áreas:
- Visualización inicial del dataset
- Limpieza de datos
- Preprocesado de los datos mediante Machine learning
Como colaboradora de esta librería, principalmente para el módulo de visualización, me gustaría destacar algunas funciones que pueden ser muy útiles antes de aplicar un modelo de Machine Learning sobre todo si el tiempo apremia.
Corr_bars
Muestra un gráfico de barras horizontales de las variables más correlacionadas entre sí, de pares a pares. Presents a Pandas horizontal bar plot of the most correlated feature pairs and their correlation coefficient. Esta función sólo utiliza variables numéricas.
En todas las gráficas del módulo de visualización de broomlib hay dos parámetros comunes:
figsize: determina el tamaño y proporción de la imagen.
style: estilo gráfico matplotlib. Para buscar los estilos disponibles puede usarse: plt.style.available.
Código de ejemplo:
from broomlib import visualization as vis
import seaborn as sns
mpg = sns.load_dataset('mpg')
vis.corr_bars(mpg, threshold=0.6, figsize=(13, 6))

Outliers_mahalanobis_plot
Este gráfico muestra los outliers del dataset. Para determinarlos utiliza la distancia de Mahalanobis para comparar cada punto con la distribución Chi Square. Los puntos más extremos son los que llevan los índices y su número se determina mediante el parámetro extreme_points. Esta función sólo utiliza variables numéricas.
Código de ejemplo:
from broomlib import visualization as vis
from sklearn import datasets
import pandas as pd
diabetes = datasets.load_diabetes()
df = pd.DataFrame(diabetes.data)
vis.outliers_mahalanobis_plot(df, extreme_points=10, figsize=(15,7), style='ggplot')

BroomResample
Su misión es enfrentarse al problema bastante común de tener un target desbalanceado. ¿La solución? Bueno, una opción sería realizar un oversampling de la clase minoritaria, lo cual a menudo implica duplicar registros que no agregan información valiosa al modelo.
Ahora, ¿qué hace exactamente esta función? Bueno, se trata de una combinación de técnicas. Primero, realiza un undersampling de la clase mayoritaria, que puede ser personalizado a través del parámetro sampling_strategy_o. Luego, aplica un oversampling utilizando la técnica SMOTE (Synthetic Minority Oversampling Technique), que también puede ser ajustada mediante el argumento sampling_strategy_o.
Código de ejemplo:
from broomlib import broomResample
from collections import Counter
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt
import seaborn as sns
X, y = make_classification(n_samples=10000, n_features=2, n_redundant=0, n_clusters_per_class=1, weights=[0.99], flip_y=0, random_state=1)
print('Original dataset:', Counter(y))
sns.scatterplot(X.T[0], X.T[1], hue=y)
plt.show()
X_resampled, y_resampled = broomResample(X,y)
print('Resampled dataset samples per class:', Counter(y_resampled))
sns.scatterplot(X_resampled.T[0], X_resampled.T[1], hue=y_resampled)
plt.show()
Original dataset: Counter({0: 9900, 1: 100})

Resampled dataset samples per class Counter({0: 990, 1: 990})

¡Y eso es todo sobre broomlib! Con estos consejos a tu disposición, enfrentar los deadlines de proyectos de machine learning se vuelve mucho más fácil.
Reflexión
Hemos explorado los modelos de machine learning y cómo broomlib puede ser la clave para superar esos deadlines apretados. Con su capacidad para abordar desafíos específicos como el desbalance de datos, broomlib se convierte en un aliado invaluable para los desarrollos.
Pero más allá de las herramientas, es importante recordar la responsabilidad que conlleva este campo. Como profesionales, tenemos el poder de impactar positivamente con nuestras creaciones.Es por eso que es fundamental abordar cada proyecto con ética y dedicación, asegurándonos de que nuestros modelos de machine learning sean precisos.
Por eso te animo a que sigas explorando este emocionante campo por tu cuenta. El mundo del machine learning, sigue aprendiendo cada día con dedicación, estamos seguros de que puedes lograr y contribuir al avance de esta profesión.