Reto: procesando un dataset

5/16

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

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

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=fdentro 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

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.

3b: Ejercicio del reto 1

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

Respuestas a las preguntas:

Pregunta 1: Variable Categorica
Pregunta 2: Variable Númerica (cuantitativa)
Pregunta 3: Variable Númerica (cuantitativa)

TU CODIGO AQUI

binvalues = [20, 25, 30, 35, 40, 85]

Creacion de dinmensiones de figura

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”)

Se queda igual que lo anterior

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

Pregunta 1:

Producto 👉 Dato categórico

Pregunta 2:

Precio 👉 Dato numérico

Pregunta 3:

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.

  1. 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?

Es un dato Cuantitativo y puede ser de tipo float

  1. Tienes información sobre el kilometraje (distancia recorrida) de varios automóviles en un concesionario. ¿Qué tipo de información es esta?

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()