Jean Pierre Sulluchuco Valentin
LUIS ZAVALA
Greacias. siempre es bueno contar con estos datasheets.
Juan R. Vergara M.
👍
¿Qué limitaciones tiene la librería Scikit-learn?
Scikit-learn es una potente herramienta ampliamente utilizada en el ámbito profesional para resolver problemas comunes en Machine Learning. Sin embargo, es primordial conocer sus limitaciones para determinar si se ajusta a tus necesidades. A continuación, se destacan algunos de los principales aspectos a tener en cuenta:
¿Cómo identificar el tipo de problema a resolver con Scikit-learn?
Uno de los pasos más importantes al utilizar Scikit-learn es identificar el tipo de problema que estás enfrentando. Los problemas más comunes en Machine Learning son de clasificación, regresión y clustering. Vamos a examinar cada uno de ellos:
¿Qué es un problema de clasificación?
Un problema de clasificación se distingue por tener variables de salida que se categorizan en clases mutuamente exclusivas. Algunos ejemplos incluyen:
¿Qué caracteriza un problema de regresión?
Los problemas de regresión son aquellos donde la variable de salida es continua en lugar de discreta. Estos problemas ayudan a modelar y predecir valores cuantitativos. Ejemplos destacados son:
¿Qué es el clustering y cómo se usa?
El clustering se emplea para agrupar datos que comparten características similares, ya sea conociendo el número de grupos de antemano o explorando los datos para identificar patrones. Aplicaciones incluyen:
Scikit-learn es efectivamente útil para cada uno de estos problemas, brindando herramientas que facilitan su comprensión y resolución. Adentrarse en estas aplicaciones específicas te permitirá aprovechar al máximo esta librería, mientras continúas aprendiendo y expandiendo tus habilidades en Machine Learning.
Jean Pierre Sulluchuco Valentin
LUIS ZAVALA
Greacias. siempre es bueno contar con estos datasheets.
Juan R. Vergara M.
👍
Christian Sanclemente
Entonces si yo quisiera saber donde poner una maquina de vending para saber los lugares donde me pueda generar mejores ingresos, podría implementar Clustering.
Julián Andrés Santos Méndez
Sí, así es. El tema es poder tener los datos para resolver este problema, por ejemplo, se podría evaluar frente a la densidad poblacional de la zonas, o mejor, cantidad de empresas con oficinas en la zona, cantidad de población flotante... en fin, es un buen problema y su éxito depende de la cantidad y calidad de datos que logres levantar.
Roberto Ramírez Vilchis
Cuál es la diferencia entre clasificación y clustering? Entiendo que uno es para clasificar, y otro para agrupar, pero en ambos se le asigna un grupo a cada dato, no?
Miguel R Montilla
Las dos diferencias más importantes es que 1. los algoritmos de clasificación son de aprendizaje supervisado (cuentas con etiquetas en los datos) y en clustering no; y 2. que cuando realizas clasificación ya tienes unas categorías bien definidas, mientras que en clustering dejas que el algoritmo revele similitudes entre los datos y los agrupe según estas categorías.
Si, por ejemplo, estás realizando una clasificación de animales tu ya deberías saber por adelantado las categorías que vas a usar (perro, gato, ave, etc.), mientras que si dejas que el algoritmo haga el clustering este los podría agrupar por tipo de alimentación o lugar en el que viven o actividad biológica, dependiendo de los datos que se tengan disponibles
Mario Alexander Vargas Celis
En Scikit-learn, puedes abordar los tres tipos principales de problemas en machine learning: clasificación, regresión y clustering. Aquí te explico cada uno con ejemplos de algoritmos y cómo usarlos con scikit-learn:
🔵 1. Clasificación (Supervisado)
Objetivo: Predecir etiquetas categóricas (por ejemplo, "spam" o "no spam", "aprobado" o "rechazado").
Algoritmos comunes en Scikit-learn:
LogisticRegressionKNeighborsClassifierDecisionTreeClassifierRandomForestClassifierSVC (Support Vector Classifier)Ejemplo:
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier
X, y = load_iris(return_X_y=True) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
clf = RandomForestClassifier() clf.fit(X_train, y_train) print(clf.score(X_test, y_test)) # precisión
🟢 2. Regresión (Supervisado)
Objetivo: Predecir valores continuos (por ejemplo, precio de una casa, temperatura).
Algoritmos comunes:
LinearRegressionRidge, LassoDecisionTreeRegressorRandomForestRegressorSVR (Support Vector Regressor)Ejemplo:
from sklearn.datasets import fetch_california_housing from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error
X, y = fetch_california_housing(return_X_y=True) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
model = LinearRegression() model.fit(X_train, y_train) y_pred = model.predict(X_test) print(mean_squared_error(y_test, y_pred)) # error cuadrático medio
🟣 3. Clustering (No Supervisado)
Objetivo: Agrupar datos similares sin etiquetas previas.
Algoritmos comunes:
KMeansDBSCANAgglomerativeClusteringMeanShiftEjemplo:
from sklearn.datasets import make_blobs from sklearn.cluster import KMeans import matplotlib.pyplot as plt
X, _ = make_blobs(n_samples=300, centers=3, random_state=42) kmeans = KMeans(n_clusters=3) kmeans.fit(X) plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_) plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], color='red') plt.show()
Resumen:
TipoSupervisadoEtiquetas de entrenamientoEjemplo de usoClasificación✅SíDiagnóstico de enfermedadesRegresión✅SíPrecio de casasClustering❌NoAgrupación de clientes
Sergio Rubiano
¿ en un proyecto se puede utilizar mas de 2 categorías? o solo se escoge uno, el que mas se ajuste a nuestro problema
Hector F
Puedes probar varios y escoger el que mejor funcione con tus datos.
Al probar puedes intentar con diferentes modelos de diferentes categoría con diferentes hiper parámetros para cada modelo.
Dr Charlie Short
https://platzi.com/clases/1796-scikitlearn-ml/26452-problemas-que-podemos-resolver-con-scikit-learn/?time=202 No me queda claro cuando se refiere a categorías "discretas" (cancer, perro, gato, etc); se refiere a variables categóricas? a que estas variables las puedo tratar como numéricas en el modelo (esto me haría sentido) ? ó existen variables discretas no numéricas y no lo recuerdo?. Saludos y gracias por el curso.
Kevin Naranjo
si se refiere a variables categoricas es que un termino que se suele usar tambien es discretizar
Andrés Fernández
Para los más nuevos que leen y tienen la misma inquietud, una variable discreta es una variable numérica que solo puede tomar valores enteros, por ejemplo la cantidad de personas en una habitación.
El tema es que por detrás, las variables categóricas se deben convertir en números para poder trabajar con scikit-learn por lo que se asignan valores enteros a cada categoría, convirtiéndolos en varables discretas.
Kevin Naranjo
para clasificacion de sentimientos en textos me serviria?
Romel Manrique
Una de estas desventajas la note cuando, en un proyecto, me di cuenta de que scikit learn no devolvía los valores p de sus modelos de regresion linear.
Juan R. Vergara M.
También lo noté viendo ejemplos en la web donde se utiliza Statsmodel para hacer regresión.
Daniel Andres Rojas Paredes
a 2025 si se quiere uno proyectar como un data scientist o ml engennear a largo plazo valdria la pena aprender primero sklearn antes que pytorch?
Juan Acevedo
Vale aprender las matematicas para cualquiera de los dos
Diego Abello
Cual seria la mejor opcion en IA para desarrollar una aplicacion de OCR ?
Patricio Sánchez Fernández
Es interesante como el Machine learning está haciendo aportes interesantes en la medicinándooslo, al punto de superar el porcentaje de aciertos en los diagnósticos de cáncer, realizados por médicos.
Braulio Alberto Bueno Pabon
Scikit-Learn actualmente no funciona en GPUs. Sus desarrolladores han indicado que no hay planes para implementar soporte para GPU. Esto significa que el procesamiento se limita a la CPU, lo que puede hacer que algunas tareas tarden más tiempo en completarse. Para problemas que requieren un procesamiento más rápido en GPU, podrías considerar otras bibliotecas como TensorFlow o PyTorch para deep learning.
Antonio Demarco Bonino
Acá dejo otros tres problemas qué puede resolver Scikit-learn, explicados de forma metafórica:
Antonio Demarco Bonino
Ahora Scikit-learn puede aprovechar el poder de las GPUs mediante integraciones con bibliotecas como cuML de NVIDIA, lo que permite acelerar tareas como la regresión y clustering.
johan Stever Rodriguez Molina
Es muy común emplearlo en problemas que implican segmentar clientes y generar un "perfil" .
Christian Sanclemente
Supongo que te refieres al Clustering.
Diego Jurado
Regresión, clasificación y custering
Mauricio Escobar
Respecto a la regresión lineal podría agregar lo siguiente:
El objetivo general consiste en modelar el comportamiento de una variable objetivo; idealmente usar una variable numérica. Esto se debe a que buscamos establecer una relación (positiva o negativa) con otras variables predictoras. La variable numérica en cuestión puede ser tanto discreta como continua; la elección depende del contexto y los requisitos del problema.
Elementos a considerar:
Relación lineal (identificar si una regresión es la mejor opción):
buscamos una relación lineal entre las variables predictoras y la objetivo. Si esta relación existe, el modelo de regresión podría ser apropiado. Para confirmar esta hipótesis podemos hacer gráficos de dispersión para visualizar la relación entre variables
Distribución de residuales:
Diferencias entre un valor real y uno predicho. Cuando ajustamos un modelo de regresión es importante que los residuales tengan una distribución normal. Esto ayuda a que el modelo sea capaz de detectar y capturar fluctuaciones en los datos
independencia de residuales:
una variable no debería depender de otra, tampoco mostrar patrones perceptibles. Gracias a esto, disminuimos las probabilidad de que los resultados estén sesgados por patrones que no fueron detectados por el modelo
pocas variables categóricas:
las predictoras deberían ser idealmente variables numéricas (continuas***), si hay muchas de estas, quizás sería mejor un modelo de clasificación (aun así, en un caso específico podría usarse una regresión)
Este enfoque en la regresión lineal se basa en en la comprensión y análisis cuidadoso de las relaciones entre variables (predictoras y objetivo) con el fin de tener un modelo que de resultados precisos
Manuel Sosa
💔💔💔