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 鈥淎ssertionError: 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(鈥淗istograma con diferentes anchos de bins鈥)

#impresion de subplots para cada valor
ax = f.add_subplot(1,1,1)
data[鈥淎ge鈥漖.hist(ax=ax, bins = binvalues, edgecolor=鈥榞reen鈥, linewidth=3)
ax.set_title(鈥淩ango de edades de los pacientes鈥)

Se queda igual que lo anterior

ax.set_ylim([0, 510])
ax.set_xlabel(鈥淓dad鈥)
ax.set_ylabel(鈥淐antidad 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[鈥淎ge鈥漖.hist(ax=ax, edgecolor=鈥榖lack鈥, linewidth=2, bins=85)
ax.set_title(鈥淎ge range of patients鈥)
ax.set_ylim([0, 510])
ax.set_xlabel(鈥淎ge鈥)
ax.set_ylabel(鈥淐ount鈥)
f.tight_layout()

3a-2-
f = plt.figure(figsize=(8,4))
ax = f.add_subplot(1,1,1)
data[鈥淎ge鈥漖.hist(ax=ax, edgecolor=鈥榖lack鈥, linewidth=2, bins=5)
ax.set_title(鈥淎ge range of patients鈥)
ax.set_ylim([0, 510])
ax.set_xlabel(鈥淎ge鈥)
ax.set_ylabel(鈥淐ount鈥)
f.tight_layout()

3b-1-
plt.rcParams[鈥榝ont.size鈥橾 = 15
f = plt.figure(figsize=(8,8))
ax = f.add_subplot(2,1,1)
ax.scatter(notdiabetic[鈥淏loodPressure鈥漖, notdiabetic[鈥淎ge鈥漖, alpha=0.25, c=鈥榬鈥)
ax.set_title(鈥淒iabetic: Age range of patients v. Blood Pressure鈥)
ax.set_ylabel(鈥淎ge鈥)
ax.set_xlabel(鈥淏lood 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()