Pienso que también se debería compartir Notebooks comentados para el resto de cursos, ayudan mucho.
Introducción a machine learning
Introducción a machine learning
Qué es machine learning y su historia
Framework de ciencia de datos: herramientas para machine learning
Tipos de modelos de machine learning
Reto: procesando un dataset
Algoritmos simples de machine learning
La “receta” para aplicar algoritmos de machine learning
Regresión lineal
Regresión logística
Árboles de decisión
Algoritmos de aprendizaje no supervisado
Reto: explora diferentes ejemplos de modelos y qué pueden hacer
Deep learning
Cómo funcionan las redes neuronales
Cómo es el entrenamiento de las redes neuronales
Cómo mejorar las predicciones de redes neuronales
Conclusiones
Qué más aprender de inteligencia artificial
Cómo profundizar en machine learning y deep learning
Lectura
¡Hola! Te doy la bienvenida a esta clase donde comenzaremos a poner a prueba lo que has aprendido en los cursos previos de ciencia de datos e inteligencia artificial de Platzi y en este.
...
Regístrate o inicia sesión para leer el resto del contenido.
Aportes 65
Preguntas 1
Pienso que también se debería compartir Notebooks comentados para el resto de cursos, ayudan mucho.
Hay una herramienta muy buena para gráficar llamada Seaborn. Es un wrapper de matplotlib pero considero tiene mejores funcionalidades y una mejor sintaxis, permite realizar gráficos más atractivos.
import seaborn as sns
data['Diabetes']=data.apply(
lambda row: 'Diabetic' if row.Outcome == 1 else 'Notdiabetic', axis=1)
sns.scatterplot(x='BloodPressure', y='Age', hue='Diabetes',
data=data,
style='Diabetes',
alpha=0.80,
palette=['purple', '#55CCCC']
).set(title='Blood Pressure v. Age range of patients')```
Resultados de preguntas del reto 2a:
P1: variables categóricas.
P2: variables cuantitativas.
P3: variable cuantitativas.
Por favor feedback con respecto a las respuestas.
Este es mi código a los retos:
RETO 1:
binvalues = [20, 25, 30, 35, 40, 85]
plt.figure(figsize=(10,8))
plt.subplot(1,1,1)
plt.hist(data['Age'], bins=binvalues, facecolor="g", alpha=0.4,
edgecolor='black', linewidth=2)
plt.title("Age range of patients")
plt.ylim([0,510])
plt.xlabel("Age")
plt.ylabel("Count")
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.show()
Resultado:
RETO 2:
plt.figure(figsize=(10,8))
plt.subplot(1,1,1)
plt.hist(data['Age'], bins=5, facecolor="g", alpha=0.4,
edgecolor='black', linewidth=2)
plt.title("Age range of patients")
plt.ylim([0,510])
plt.xlabel("Age")
plt.ylabel("Count")
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.show()
Resultado:
RETO 3:
diabetic = data[data["Outcome"] == 1]
notdiabetic = data[data["Outcome"] == 0]
plt.rcParams['font.size'] = 15
f = plt.figure(figsize=(8,8))
ax = f.add_subplot(2,1,1)
ax.scatter(diabetic["BloodPressure"], diabetic["Age"], alpha=0.25, c='r')
ax.set_title("Diabetic: Age range of patients v. Blood Pressure")
ax.set_ylabel("Age")
ax.set_xlabel("Blood Pressure")
ax = f.add_subplot(2,1,2)
ax.scatter(notdiabetic["BloodPressure"], notdiabetic["Age"], alpha=0.25, c='b')
ax.set_title("Not diabetic: Age range of patients v. Blood Pressure")
ax.set_ylabel("Age")
ax.set_xlabel("Blood Pressure")
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
f.tight_layout()
Resultado:
Es muy notable que las personas de menor edad están concentradas en la gráfica de Not diabetic. Además, su Blod Pressure ronda entre los 60 a 100.
Resultados de preguntas del reto 4:
P1: vsupervisado-regresión.
P2: supervisado-clasificación.
P3: no supervisado-clustering.
Aquí les comparto mi aporte con seaborn y cambiando de ejes.
Y aquí el código:
plt.figure(figsize=(10,5))
sns.scatterplot(x = 'Age', y = 'BloodPressure', data = data, hue = 'Outcome', alpha = 0.75, style='Outcome')
plt.legend(['Diabéticos', 'No Diabéticos'])
plt.title('Presión Sanguinea v. Edad: Pacientes con/sin Diabetes')
plt.ylabel('Presión Sanguinea')
plt.xlabel('Edad')
plt.show()
Seaborn nos permite realizar Histogramas o Scatterplots y discrimar con algún feature en específico, por ejemplo:
El histograma del rango de edades de los pacientes y si son diabéticos o no diabéticos
#Creamos nueva columna para diabetes y no diabetes
#Realizamos un mapeo entre el outcome y su respectivo valor categórico
df_diabetes['Patient'] = df_diabetes['Outcome'].map({0: 'Not Diabetic', 1: 'Diabetic'})
plt.rcParams['font.size'] = 15
fig = plt.figure(figsize=(8,4))
ax = fig.add_subplot(1,1,1)
#Realizamos histograma con edad
sns.histplot(data= df_diabetes, x= 'Age', hue= 'Patient')
# Crea el título.
ax.set_title("Age Range of Patients")
fig.tight_layout()
Lo mismo podemos realizar con un Scatterplot
#Para ello la columna 'Patient' Ya debió haber sido creada
#Scatterplot entre Edad y Presión sanguínea
plt.rcParams['font.size'] = 15
fig = plt.figure(figsize=(8,4))
#Subplot
ax = fig.add_subplot(1,1,1)
#Graficamos
sns.scatterplot(data=df_diabetes, x= 'BloodPressure', y= 'Age', hue= 'Patient',alpha=0.8)
#Título
plt.title("Blood pressure vs. age range of patients")
fig.tight_layout()
De reto, los de dispersion
Si tiene diabetes no hay correlacion entre presion arterial y edad
PERO SI NO TIENE DIABETES SI HAY CORRELACION ENTRE EDAD BAJA Y PRESION ARTERIAL BAJA
Info del reto:
Para el reto usé esté código para crear la figura
data["Age"].hist(ax=ax, edgecolor='black', linewidth=2, bins= bins, color='skyblue')
Adicionalmente usé esta linea de código para que las líneas de la figura quedaran detrás
ax.set_axisbelow(True)
Para el segundo reto solo cambié bins=5
Para el tercer reto cambié el orden de las variables como estaba para verlo de mejor forma para mí. La gráfica muestra como se concentra mayor población cercana a los 20 años en los no diabéticos
ax1 = f.add_subplot(2,1,2)
ax1.scatter(notdiabetic["Age"], notdiabetic["BloodPressure"], alpha=0.25, c='r')
ax1.set_title("Non-Diabetic: Age range of patients v. Blood Pressure")
ax1.set_ylabel("Age")
ax1.set_xlabel("Blood Pressure")
ax1.set_xlim([0,130])
Finalmente quise probar una alternativa de visualización usando seaborn
import seaborn as sns
g = sns.FacetGrid(data, col="Outcome", height=8)
g.map(sns.scatterplot, "BloodPressure", "Age")
2a: Preguntas del reto
.- Pregunta 1 : Categorica
.- Pregunta 2 : float64
.- Pregunta 3 : float64
3b: Ejercicio del reto 1
.- En el caso de las personas con diabetes, el grupo comprendido entre 20 y 50 años tienden a presentar una presión arterial alta
.- En el caso de las persona sin diabetes el grupo se comporta más dentro de lo normal. El grupo con edades hasta 40 años es disperso con presión arterial alta. En general el grupo tiende a mantener una presión arterial dentro de los rangos normales
4: Preguntas del reto
.- Pregunta 1 : Supervisado
.- Pregunta 2 : Supervisado
.- Pregunta 3 : No Supervisado
siguiendo el Notebook encontré un error al correr el código de la primera figura “AssertionError: passed axis not bound to passed figure”. Para solucionarlo, agregué un argumentofigure=f
dentro de la función hist
para especificar a que figura estaba haciendo referencia en la función
Pregunta 1
Tipo object
Pregunta 2
Tipo float64
Pregunta 3
Tipo int64
https://drive.google.com/file/d/12Tyk_igbZ6xQkBEzToHpgCPuDAsm49j2/view?usp=sharing
Adjunto el colab donde desarrollé el reto.
Pregunta 1:
Dato cualitativo
Pregunta 2:
Tipo de dato numerico
Pregunta 3:
Tipo de dato numerico
Aquí dejo los ejercicios del reto.
2a. 1. String / object. Variable categorica nominal
2a. 2. Float. Variable numerica continua
2a. 3. Float. Variable numerica continua
3a.
bins=[20,25,30,35,40,85]
f = plt.figure(figsize=(8,4))
ax = f.add_subplot(1,1,1)
data['Age'].hist(ax=ax, bins=bins, edgecolor='black', linewidth=2)
ax.set_ylim(0,510)
ax.set_title('Age range of persons')
ax.set_xlabel('Age')
ax.set_ylabel('Count')
f.tight_layout()
3a.
f = plt.figure(figsize=(8,4))
ax = f.add_subplot(1,1,1)
data['Age'].hist(ax=ax, bins=5, edgecolor='black', linewidth=2)
ax.set_ylim(0,510)
ax.set_title('Age range of persons')
ax.set_xlabel('Age')
ax.set_ylabel('Count')
f.tight_layout()
3b.
diabetic = data[data["Outcome"] == 1]
notdiabetic = data[data["Outcome"] == 0]
plt.rcParams['font.size'] = 15
f = plt.figure(figsize=(8,8))
ax = f.add_subplot(2,1,1)
ax.scatter(diabetic["BloodPressure"], diabetic["Age"], alpha=0.25, c='r')
ax.set_title("Diabetic: Age range of patients v. Blood Pressure")
ax.set_ylabel("Age")
ax.set_xlabel("Blood Pressure")
## TU CODIGO AQUI
ax2 = f.add_subplot(2,1,2)
ax2.scatter(notdiabetic['BloodPressure'], notdiabetic['Age'], alpha=0.25, c='b')
ax2.set_title('Not diabetic: Age range of patients v. Blood Pressure')
ax2.set_ylabel("Age")
ax2.set_xlabel("Blood Pressure")
f.tight_layout()
4.1. Regresion lineal. Supervisado
4,2. Regresion logistica. Supervisado
4.3. Clustering. No supervisado
P1: Es considerada variable categorical ya que ofrece información sobre las características del producto.
P2 y P3: Son consideras variables numéricas que pueden contarse (cuantificables); el precio puede ser expresado, ademas, con sus decimales, con lo que es de tipo float.
Lo mismo puede ocurrir con el kilometraje.
Para este ejercicio, el código de la gráfica, lo convertí en una función para graficar ambas opciones: diabetic y notdiabetic. Además se le agregó la siguiente línea de código ax.set(xlim=(10,140),ylim=(10,90))
para dar escala y poder apreciar mejor la distribución
def scatterAgeBloodPressure(dataframe):
plt.rcParams['font.size'] = 15
f = plt.figure(figsize=(8,8))
ax = f.add_subplot(2,1,1)
ax.scatter(dataframe["BloodPressure"], dataframe["Age"], alpha=0.25, c='r')
ax.set_title("Diabetic: Age range of patients v. Blood Pressure")
ax.set_ylabel("Age")
ax.set_xlabel("Blood Pressure")
ax.set(xlim=(10,140),ylim=(10,90))
Resultado
Noto que la mayor cantidad de personas no diabéticas tienen una edad entre 20 y 40 años, además que su presión sanguínea esta entre 60 y 90.
Respuestas reto: procesando un dataset
P1 --> Entero
P2 --> Decimal
P3 --> Decimal
Paso a dejar mi contribucion.Luego de pivotear los ejes, podriamos pensar que los pacientes no diabeticos entre los 20 y los 30 tienden a presentar una presion arterial entre 60 y 80 sin embargo, no se podria segurar con tanta soltura, debido a que contamos con 481 muestras de pacientes No diabeticos contra 252 muestras de apceintes diabeticos, deberiamos tomar muestras aleatorias y en cantidades simialres para poder realizar ese tipo de analisis. Algo que si puede evidenciarse es que en ambas distribuciones la presion arterial tiende a aumentar con la edad
El link del curso Curso Práctico de Regresión Lineal con Python está malo. Supongo que el curso correcto es Curso de Regresión Lineal con Python y scikit-learn
Respuestas a las preguntas:
Pregunta 1: Variable Categorica
Pregunta 2: Variable Númerica (cuantitativa)
Pregunta 3: Variable Númerica (cuantitativa)
binvalues = [20, 25, 30, 35, 40, 85]
f = plt.figure(figsize=(8,4))
##Titulo del histograma
plt.title(“Histograma con diferentes anchos de bins”)
#impresion de subplots para cada valor
ax = f.add_subplot(1,1,1)
data[“Age”].hist(ax=ax, bins = binvalues, edgecolor=‘green’, linewidth=3)
ax.set_title(“Rango de edades de los pacientes”)
ax.set_ylim([0, 510])
ax.set_xlabel(“Edad”)
ax.set_ylabel(“Cantidad de personas”)
#Unicamente agrega estica al grafico
f.tight_layout()
P1. Supervisado - Regresión.
P2. Supervisado - Clasificación.
P3. Aprendizaje no supervisado - Clustering
P1: variables categóricas.
P2: variables cuantitativas puede ser entero o flotante dependiendo del tipo de moned.
P3: variable cuantitativas entera los kilometros se suelen dar enteros en los vehiculos.
Pregunta 1:
Variable categórica.
Pregunta 2:
Variable cuantitativa, numérica. Puede ser int o float.
Pregunta 3
Variable cuantitativa, numérica. Puede ser int o float.
3a: El tamaño de las barras (histogramas) puede afectar la manera en la que se percibe el conteo de los datos.
3b: Para graficar las personas no diabéticas, basta cambiar el nombre de la columna en las líneas ax.scatter(notdiabetic…)
El resultado es el siguiente:
4a:
Pregunta 1
Aprendizaje Supervisado (Regresión Lineal)
Pregunta 2
Aprendizaje Supervisado (Categórico)
Pregunta 3
Aprendizaje No-Supervisado (Clustering)
Pregunta 1
Tienes un conjunto de datos de información de ventas sobre equipos electrónicos. Una de las columnas del conjunto de datos describe qué es el producto: tableta, teléfono inteligente, TV, computadora. ¿Qué tipo de datos es este? R/ Feature categórico
Pregunta 2
A partir del mismo conjunto de datos de equipos electrónicos anterior, tienes información sobre el precio de cada artículo. ¿Qué tipo de datos es este? R/ Feature numérico
Pregunta 3
Tienes información sobre el kilometraje (distancia recorrida) de varios automóviles en un concesionario. ¿Qué tipo de información es esta? R/ Feature numérico
2a: Preguntas del reto
Pregunta 1: El tipo de dato es int64
Pregunta 2: El tipo de dato es float64
Pregunta 3: El tipo de dato es float64
Reto 1 (3a)
Pregunta 1
Tienes un conjunto de datos de información de ventas sobre equipos electrónicos. Una de las columnas del conjunto de datos describe qué es el producto: tableta, teléfono inteligente, TV, computadora. ¿Qué tipo de datos es este?
La columna seria un dato de tipo string y tambien una variable de tipo categorica nominal.
Pregunta 2
A partir del mismo conjunto de datos de equipos electrónicos anterior, tienes información sobre el precio de cada artículo. ¿Qué tipo de datos es este?
Por lo general los precios de lo articulos son valores de tipo float porque se trata de numeros decimales, es un dato cuantitativo continuo.
Pregunta 3
Tienes información sobre el kilometraje (distancia recorrida) de varios automóviles en un concesionario. ¿Qué tipo de información es esta?
El kilometraje puede ser un dato de tipo int o de tipo float en dependencia de como se este midiendo, pero en general puede ser un valor de tipo float pues es una variable cuantitativa que es continua.
Para el apartado 3b creo que una visualización muy diciente para identificar patrones y sacar conclusiones es un jointplot de seaborn, lo podemos hacer con el siguiente código:
import seaborn as sns
sns.jointplot(data,x='BloodPressure',y='Age',hue='Outcome');
y nos entrega lo siguiente:
A partir de esta gráfica se puede concluir que en nuestro grupo de pacientes no diabéticos tenemos una menor concentración entre los 20 y treinta años, mientras que para los diabéticos tenemos una edad más distribuida, además de que por lo general los pacientes diabéticos tienden a tener mayor presión arterial
**Pregunta 1:
**Categorico ya que es un texto se representa como Object, pero lo traducimos en valores [1,2,3,4,5] que son int64
**Pregunta 2
**Variable cuantitativa, con valores continuos float64
**Pregunta 3
**Variable cuantitativa, con valores enteros int64
2.a Respuesta a preguntas del reto
Pregunta 1: datos categoricos y valores discretos. Int64
Pregunta 2: dato numericos, puede ser continuo o entero Int64 or float 64
Pregunta 3: datos numericos, continuo float 64
Por favor se les agredece el feedback 😃
Mis respuestas a las preguntas del numeral 4:
1: Es un problema de aprendizaje supervisado, de regresión específicamente.
2: Este es un problema de clasificación (Sí o No), me parece que se puede enfrentar desde una manera supervisada.
3: Un problema de clasificación no supervisada, clustering específicamente
Producto 👉 Dato categórico
Precio 👉 Dato numérico
Kilometraje 👉 Dato numérico
Solución reto 4
R1
aprendizaje supervisado, regresión
R2
aprendizaje supervisado, clasificación
R3
aprendizaje no supervisado - clustering
me iba descachando en la 2, pensé que era no supervisado, pero corregí, de resto bien.
Solución reto 3b - 1
2a: Preguntas del reto
Pregunta 1 - Categórico, cadenas de texto
Pregunta 2 - Cuantitativo, Float
Pregunta 3 - Cuantitativo, Float
Pregunta 1
Tienes un conjunto de datos de una empresa de ropa y deseas predecir el volumen de ventas de vestidos en el próximo mes. ¿Qué tipo de problema es? Regresión vía aprendizaje supervisado
Pregunta 2
Al igual que en la primera pregunta, estás utilizando un conjunto de datos de ropa. En lugar de predecir el volumen de ventas, querrás saber si venderás al menos 1000 de un determinado tipo de vestido. ¿Qué tipo de problema es este? Clasificación vía aprendizaje supervisado
Pregunta 3
Tienes información sobre cómo compran ropa los clientes en tu tienda. Tienes un conjunto de datos de sus compras, segmentado en categorías: la cantidad de pantalones, camisas, vestidos y faldas que compra cada cliente. Deseas segmentar a tus clientes en diferentes grupos para poder enviar anuncios a cada grupo, según lo que quieran usar. ¿Qué tipo de problema podría ser este?Clustering vía aprendizaje no supervisado
Pregunta 1
Tienes un conjunto de datos de información de ventas sobre equipos electrónicos. Una de las columnas del conjunto de datos describe qué es el producto: tableta, teléfono inteligente, TV, computadora. ¿Qué tipo de datos es este? Categórico
Pregunta 2
A partir del mismo conjunto de datos de equipos electrónicos anterior, tienes información sobre el precio de cada artículo. ¿Qué tipo de datos es este? Numérico flotante
Pregunta 3
Tienes información sobre el kilometraje (distancia recorrida) de varios automóviles en un concesionario. ¿Qué tipo de información es esta? numérico entero
f = plt.figure(figsize=(8,4))
ax = f.add_subplot(1,1,1)
data["Age"].hist(ax=ax, edgecolor='black', linewidth=2, bins=6)
ax.set_title("Age range of patients")
ax.set_ylim([0, 510])
ax.set_xlabel("Age")
ax.set_ylabel("Count")
f.tight_layout()
Pregunta 1
Tienes un conjunto de datos de una empresa de ropa y deseas predecir el volumen de ventas de vestidos en el próximo mes. ¿Qué tipo de problema es?
Aprendizaje supervisado - Regresión
Pregunta 2
Al igual que en la primera pregunta, estás utilizando un conjunto de datos de ropa. En lugar de predecir el volumen de ventas, querrás saber si venderás al menos 1000 de un determinado tipo de vestido. ¿Qué tipo de problema es este?
Aprendizaje supervisado - Clasificación
Pregunta 3
Tienes información sobre cómo compran ropa los clientes en tu tienda. Tienes un conjunto de datos de sus compras, segmentado en categorías: la cantidad de pantalones, camisas, vestidos y faldas que compra cada cliente. Deseas segmentar a tus clientes en diferentes grupos para poder enviar anuncios a cada grupo, según lo que quieran usar. ¿Qué tipo de problema podría ser este?
Aprendizaje NO supervisado - Clustering
Este video explica MUY bien lo que es el aprendizaje Supervisado y el No Supervisado:
https://www.youtube.com/watch?v=oT3arRRB2Cw&t=189s&ab_channel=DotCSV
Pregunta 1
Tienes un conjunto de datos de información de ventas sobre equipos electrónicos. Una de las columnas del conjunto de datos describe qué es el producto: tableta, teléfono inteligente, TV, computadora. ¿Qué tipo de datos es este?
R1: Es un dato categorico. Serán cadenas de texto.
Pregunta 2
A partir del mismo conjunto de datos de equipos electrónicos anterior, tienes información sobre el precio de cada artículo. ¿Qué tipo de datos es este?
R2: Es un dato cuantitativo. Tipo de números flotantes.
Pregunta 3
Tienes información sobre el kilometraje (distancia recorrida) de varios automóviles en un concesionario. ¿Qué tipo de información es esta?
R3: Es un dato cuantitativo. Tipo de números flotantes.
2a:
Pregunta 1: Categorical
Pregunta 2: Numerical
Pregunta 3:Numerical
3b:
Notamos que los pacientes no diabeticos es más dispersa la presión arterial en cambio los pacientes diabeticos su rango de presión se concentra en un rango de 60 a 90
4:
Pregunta1:
Aprendizaje supervisado -Regresion
Pregunta2:
Aprendizaje supervisado -Clasificacion
Pregunta3:
Aprendizaje no supervisado- Clustering
Punto 4:
a) Tienes un conjunto de datos de una empresa de ropa y deseas predecir el volumen de ventas de vestidos en el próximo mes. ¿Qué tipo de problema es?
RTA: Aprendizaje supervisado
b) Al igual que en la primera pregunta, estás utilizando un conjunto de datos de ropa. En lugar de predecir el volumen de ventas, querrás saber si venderás al menos 1000 de un determinado tipo de vestido. ¿Qué tipo de problema es este?
RTA: Aprendizaje supervisado
c) Tienes información sobre cómo compran ropa los clientes en tu tienda. Tienes un conjunto de datos de sus compras, segmentado en categorías: la cantidad de pantalones, camisas, vestidos y faldas que compra cada cliente. Deseas segmentar a tus clientes en diferentes grupos para poder enviar anuncios a cada grupo, según lo que quieran usar. ¿Qué tipo de problema podría ser este?
RTA: Aprendizaje no supervisado
Mi análisis del Scatter, punto 3:
Al obtener los dos scatter (Con diabetes y sin diabetes) podemos deducir lo siguiente: No existe correlación en ninguno de los 2. (Pacientes sin diabetes y pacientes con diabetes), esto debido a que no forma ningún patrón que permita definir una correlación negativa, positiva u otras.
Nota: Llegué incluso a dudar del primer gráfico, sobre una posible baja correlación positiva, pero lo descarto debido a qué hay muchos puntos dispersos y no logro divisar un patrón claro.
Amo lo bien documentado qué está ese colab :3
Tienes un conjunto de datos de información de ventas sobre equipos electrónicos. Una de las columnas del conjunto de datos describe qué es el producto: tableta, teléfono inteligente, TV, computadora. ¿Qué tipo de datos es este?
Respuesta: El tipo de dato es una variable catégorica.
Es un dato Cuantitativo y puede ser de tipo float
Es un dato cuantitativo y puede ser de tipo entero.
Pregunta 1
Tienes un conjunto de datos de una empresa de ropa y deseas predecir el volumen de ventas de vestidos en el próximo mes. ¿Qué tipo de problema es?
R: Supervisado
Pregunta 2
Al igual que en la primera pregunta, estás utilizando un conjunto de datos de ropa. En lugar de predecir el volumen de ventas, querrás saber si venderás al menos 1000 de un determinado tipo de vestido. ¿Qué tipo de problema es este?
R: Supervisado
Pregunta 3
Tienes información sobre cómo compran ropa los clientes en tu tienda. Tienes un conjunto de datos de sus compras, segmentado en categorías: la cantidad de pantalones, camisas, vestidos y faldas que compra cada cliente. Deseas segmentar a tus clientes en diferentes grupos para poder enviar anuncios a cada grupo, según lo que quieran usar. ¿Qué tipo de problema podría ser este?
R: No supervisado
Pregunta 1
Tienes un conjunto de datos de información de ventas sobre equipos electrónicos. Una de las columnas del conjunto de datos describe qué es el producto: tableta, teléfono inteligente, TV, computadora. ¿Qué tipo de datos es este?
R: Categoricas tipo string
Pregunta 2
A partir del mismo conjunto de datos de equipos electrónicos anterior, tienes información sobre el precio de cada artículo. ¿Qué tipo de datos es este?
R: float
Pregunta 3
Tienes información sobre el kilometraje (distancia recorrida) de varios automóviles en un concesionario. ¿Qué tipo de información es esta?
R: float
reto 1:
resultado reto 1:
reto 2:
resultado reto 2:
reto 3:
resultado reto 3:
2a:
pregunta 1:
variable categórica
pregunta 2:
variable cuantitativa
pregunta 3:
variable cuantitativa
I share the results of the challenge in my deepnote notebook.
Deepnote_notebook
Respuestas:
1- Int64 y categórical… depende de como lo clasifiquen
2-Float64
3- Float64
3a-1-
f = plt.figure(figsize=(8,4))
ax = f.add_subplot(1,1,1)
data[“Age”].hist(ax=ax, edgecolor=‘black’, linewidth=2, bins=85)
ax.set_title(“Age range of patients”)
ax.set_ylim([0, 510])
ax.set_xlabel(“Age”)
ax.set_ylabel(“Count”)
f.tight_layout()
3a-2-
f = plt.figure(figsize=(8,4))
ax = f.add_subplot(1,1,1)
data[“Age”].hist(ax=ax, edgecolor=‘black’, linewidth=2, bins=5)
ax.set_title(“Age range of patients”)
ax.set_ylim([0, 510])
ax.set_xlabel(“Age”)
ax.set_ylabel(“Count”)
f.tight_layout()
3b-1-
plt.rcParams[‘font.size’] = 15
f = plt.figure(figsize=(8,8))
ax = f.add_subplot(2,1,1)
ax.scatter(notdiabetic[“BloodPressure”], notdiabetic[“Age”], alpha=0.25, c=‘r’)
ax.set_title(“Diabetic: Age range of patients v. Blood Pressure”)
ax.set_ylabel(“Age”)
ax.set_xlabel(“Blood Pressure”)
4 -1- aprendizaje supervisado - Regresión
4-2- aprendizaje supervisado - Clasificación
4-3- aprendizaje no supervisado
respuesta a 3b: Ejercicio del reto 1:
diabetic = data[data["Outcome"] == 1]
notdiabetic = data[data["Outcome"] == 0]
plt.rcParams['font.size'] = 15
f = plt.figure(figsize=(8,8))
ax = f.add_subplot(2,1,1)
ax.scatter(diabetic["BloodPressure"], diabetic["Age"], alpha=0.25, c='r')
ax.set_title("Diabetic: Age range of patients v. Blood Pressure")
ax.set_ylabel("Age")
ax.set_xlabel("Blood Pressure")
plt.rcParams['font.size'] = 15
f = plt.figure(figsize=(8,8))
ax = f.add_subplot(2,1,1)
ax.scatter(notdiabetic["BloodPressure"], notdiabetic["Age"], alpha=0.25, c='b')
ax.set_title("Not Diabetic: Age range of patients v. Blood Pressure")
ax.set_ylabel("Age")
ax.set_xlabel("Blood Pressure")
f.tight_layout()
2a: Preguntas del reto
A partir de las siguientes preguntas, debes identificar el tipo de datos que se usaría en cada situación. Deja tus resultados en los comentarios de la clase donde encontraste este notebook.
Pregunta 1
R: Object, variable categorica
Pregunta 2
R: float64, variable cuantitativa
Pregunta 3
R: float64, variable cuantitativa
La verdad estoy confundido por las respuestas de mis coompañeros, ya que preguntan que tipod e dato, no que tipo de variable, es curioso como se puede responder mal a una pregunta por malinterpretar la intencion de quien pregunta.
Me pareció muy buena idea la forma de enseñar de este curso deberían ponerlo en práctica en los demás
Solucion Preguntas 2a
1-. Son datos categoricos
2-. Son datos flotantes
3-. Son Datos Flotantes
Solucion 3a Reto 1
binvalues = [20, 25, 30, 35, 40, 85]
bins = binvalues
fig, ax= plt.subplots(1,1,figsize=(8,4))
data["Age"].hist(ax=ax, bins=bins, edgecolor="lightblue",
linewidth=2, color="darkblue")
plt.ylim(0,510)
plt.xlim(15,100)
plt.xlabel("Count")
plt.ylabel("Edad")
plt.title("Age Histogram")
plt.show()
Solucion 3a Reto 2
plt.figure(figsize=(8,4))
data["Age"].hist(bins=5, edgecolor="lightblue",
linewidth=2, color="darkblue")
plt.subplot(1,1,1)
plt.ylim(0,510)
plt.ylabel("Count")
plt.xlabel("Age")
plt.title("Age Histogram V.2")
Solucion 3b Reto 1
diabetic = data[data["Outcome"] == 1]
notdiabetic = data[data["Outcome"] == 0]
plt.rcParams['font.size'] = 15
f = plt.figure(figsize=(8,8))
ax = f.add_subplot(2,1,1)
ax.scatter(diabetic["BloodPressure"], diabetic["Age"], alpha=0.25, c='r')
ax.set_title("Diabetic: Age range of patients v. Blood Pressure")
ax.set_ylabel("Age")
ax.set_xlabel("Blood Pressure")
# Solucion
ax= f.add_subplot(2,1,2)
ax.scatter(notdiabetic["BloodPressure"], notdiabetic["Age"], alpha=0.25, c='b')
ax.set_xlabel("BloodPreassure")
ax.set_ylabel("Age")
ax.set_title("Not diabetic: Age range of patients v. Blood Pressure")
f.tight_layout()
4 Respuestas Aprendizaje Supervisado y no Supervisado
Pregunta 1
Tienes un conjunto de datos de una empresa de ropa y deseas predecir el volumen de ventas de vestidos en el próximo mes. ¿Qué tipo de problema es?
Aprendizaje Supervisado Algoritmo de Regresion
Pregunta 2
Al igual que en la primera pregunta, estás utilizando un conjunto de datos de ropa. En lugar de predecir el volumen de ventas, querrás saber si venderás al menos 1000 de un determinado tipo de vestido. ¿Qué tipo de problema es este?
Aprendizaje Supervisado Algoritmo de Clasificacion
Pregunta 3
Tienes información sobre cómo compran ropa los clientes en tu tienda. Tienes un conjunto de datos de sus compras, segmentado en categorías: la cantidad de pantalones, camisas, vestidos y faldas que compra cada cliente. Deseas segmentar a tus clientes en diferentes grupos para poder enviar anuncios a cada grupo, según lo que quieran usar. ¿Qué tipo de problema podría ser este?
Aprendizaje no supervisado Algoritmo de Clusterizacion
Sería bueno tener el número a partir del cual se considera presión sanguínea alta, para poder observar y concluir del gráfico, intente con un rango de 120/80, pero entonces gran parte estaría en ese rango normal.
sns.scatterplot(
data=df,
x='BloodPressure',
y='Age',
hue='Outcome'
)
plt.axvline(x=80, color='r', linestyle='--')
plt.axvline(x=120, color='r', linestyle='--')
plt.show()
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.