Introducción al análisis exploratorio de datos

1

¿Qué es y para qué sirve el análisis exploratorio de datos?

2

¿Cómo hacer un análisis exploratorio de datos?

3

Tipos de análisis de datos

4

Tipos de datos y análisis de variables

5

Herramientas de software para el análisis exploratorio de datos

6

Conociendo nuestros datos: palmerpenguins

7

Recolección de datos, limpieza y validación

8

Ejercicio de validación de datos

Quiz: Introducción al análisis exploratorio de datos

Análisis univariado

9

Explorando una variable categórica: conteos y proporciones

10

Estadística descriptiva aplicada: medidas de tendencia central

11

Estadística descriptiva aplicada: medidas de dispersión

12

Ejercicio de obtención de medidas de dispersión

13

Estadística descriptiva aplicada: distribuciones

14

Estadística descriptiva aplicada: funciones de densidad de probabilidad

15

Bonus: Teorema del límite central

Quiz: Análisis univariado

Análisis bivariado

16

Estableciendo relaciones: gráficos de puntos

17

Estableciendo relaciones: gráficos de violín y boxplots

18

Estableciendo relaciones: matrices de correlación

19

Limitantes de los coeficientes de correlación lineal

20

Estableciendo relaciones: análisis de regresión simple

21

Limitaciones del análisis de regresión simple

Quiz: Análisis bivariado

Análisis multivariado

22

Análisis de regresión múltiple

23

Visualización del análisis de regresión múltiple

24

Análisis de regresión logística

25

Paradoja de Simpson

26

¿Qué hacer cuando tengo muchas variables?

Quiz: Análisis multivariado

Conclusiones

27

Diversidad de gráficas al explorar datos

28

Continúa aprendiendo sobre EDA

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

0 Días
1 Hrs
43 Min
18 Seg

Limitantes de los coeficientes de correlación lineal

19/28
Recursos

Aportes 29

Preguntas 3

Ordenar por:

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

El código que corresponde a El coeficiente de correlación no nos habla del impacto de la relación

np.random.seed(42)
x1 = np.linspace(0,100,100)
y1 = 0.1* x1 +3 + np.random.uniform(-2,2,size=x1.size)

sns.scatterplot(x=x1, y=y1)


x2 = np.linspace(0,100,100)
y2 = 0.5* x1 +1 + np.random.uniform(0,60,size=x2.size)

sns.scatterplot(x=x2, y=y2)

plt.legend(["1","2"])

print(np.corrcoef(x1,y1))
print(np.corrcoef(x2,y2))

No sabía que el coeficiente de Pearson era solo para relación lineal entre variables. Esto me hace re-pensar la forma en que he diseñado y analizado los resultados de muchas investigaciones.

Pequeño análisis que hice 😃, espero sus aportes para mejorarlo uwu

Teniendo en cuenta el análisis anterior que realizamos sobre las correlaciones de las variables

Nos enfocamos en la correlación negativa que surge entre las variables bill_length_mm y bill_depth_mm.


Si graficamos las variables en un diagrama de dispersión, nos encontramos con una dispersión que aparenta una tendencia a una correlación inexistente.

Teniendo en cuenta que estamos frente a un gráfico donde se presentan 3 variables categóricas que no fueron clasificadas (sexo del pingüino, especie e isla donde habita), analizaremos el gráfico clasificando los pingüinos por especie

Clasificadas las variables podemos analizar que si existe correlación alguna que aparenta ser de tipo lineal entre las variablesbill_length_mm y bill_depth_mm.


Vista la nueva evidencia volveremos a analizar los índices de correlaciones de cada especie.

Vista la nueva gráfica vemos un cambio notable en las correlaciones entre las variables, quedando en su mayoría correlaciones positivas y destacando de todas el año, que en las tres especies aparenta ser una correlación nula

Las variables que anteriormente mencionamos bill_length_mm y bill_depth_mm, ahora tienen una correlación positiva alta tanto en las especies Gentoo y Chinstrap, pero destaca la especie Adelie que tiene una correlación un poco menor que las otras especies

Pasaremos a analizar más a fondo la especie Adelie, ya que no parece seguir el patron normal que tienen las otras especies. El análisis de correlaciones se enfocará en la especie Adelies separados por isla.

Comparando los Adelie que habitan la isla Torgersen y Dream podemos ver que tienen una correlación similar entre sus variables

Pero destacan los Adelie en la isla Biscoe que presentan una correlación positiva fuerte entre la variable bill_length_mm y las demás variables, pero una correlación negativa sobre la combinación de la variable bill_depth_mm .

Concluimos que:

  • la correlación negativa que obtuvimos del análisis en conjunto de los pingüinos, surgen en la especie Adelie que habita la isla Biscoe.
  • La especie Adelie de las islas Biscoe presentan correlaciones positivas fuertes que son semejantes a las que vimos en otras especies, en variables que su misma especie no presenta correlaciones tan altas.
  • La especie Adelie de las islas Biscoe presenta correlaciones negativas altas en la variable bill_depth_mm, lo cual es contrario a sus vecinos de la misma especie
    • Suponemos que este factor género la correlación negativa en el análisis en conjunto de los pingüinos

Limitantes del Coeficiente de Correlacion

Solo nos ayuda a determinar la posible existencia de una correlación lineal; sin embargo, su ausencia no significa que no exista otro tipo de correlación.

  • Cuando la distribucion tiene un comportamiento cuadratico el coeficiente no logra detectar esa correlacion.
  • Cuando la distribucion tiene un comportamiento cubico, el coeficiente detecta la correlacion simulando que es una linea recta donde se compensa los valores por lo que hace una lectura erronea del panorama
  • Siempre visualiza los datos.
  • El coeficiente de correlacion no nos habla del impacto de la relacion. Un coeficiente de correlacion mas alto que otro no significa que la relacion entre las variables sea mejor o que el aporte al negocio de la correlacion mas alta sea mejor

El scatterplot que vemos aquí está correlacionando los datos “bill_length_mm”, y “bill_depth_mm” de TODO el dataframe que llamamos “processed_penguins_df”. Recordemos que en este dataframe están involucrados 3 clases diferentes de pinguinos, [‘Adelie’, ‘Gentoo’, ‘Chinstrap’], y todos los datos de las 3 especies se están mezclando entre sí en un mismo scatterplot por lo cual tiene sentido el caos que se está creando en la gráfica de distribucion.

Aquí les dejo el codigo que muestra la correlacion de cada especie en tres gráficos independientes uno al lado del otro donde se puede apreciar más claramente la correlacion que tienen los datos…

 
sns.FacetGrid(
    processed_penguins_df, 
    col = 'species', 
    hue= 'species'
    ).map(sns.scatterplot,
        'bill_length_mm',
        'bill_depth_mm',
        alpha= 1/2,
        s= 100
        )

Otros coeficientes de relación:

Coeficiente de correlación de Pearson

Mide la relación lineal entre dos variables continuas. Varía entre -1 y 1, donde 1 indica una correlación positiva perfecta, 0 indica no correlación y -1 indica una correlación negativa perfecta. Funciona mejor para relaciones lineales.

Coeficiente de correlación de Spearman

Mide la relación monotónica entre dos variables continuas u ordinales. Varía entre -1 y 1, donde 1 indica una correlación positiva perfecta, 0 indica no correlación y -1 indica una correlación negativa perfecta. Funciona mejor para relaciones no lineales o variables ordinales.

Coeficiente de determinación (R-squared)

Mide la proporción de la varianza en una variable que puede ser explicada por otra variable. Varía entre 0 y 1, donde 0 indica que la variable explicativa no explica la variación en la variable de respuesta y 1 indica que la variable explicativa explica toda la variación en la variable de respuesta. Funciona mejor para relaciones lineales.

Coeficiente de correlación de Kendall

Mide la relación ordinal entre dos variables. Varía entre -1 y 1, donde 1 indica una correlación positiva perfecta, 0 indica no correlación y -1 indica una correlación negativa perfecta. Funciona mejor para relaciones no lineales o variables ordinales.

Coeficiente de correlación de Point-Biserial

Mide la relación entre una variable binaria y una variable continua. Varía entre -1 y 1, donde 1 indica una correlación positiva perfecta, 0 indica no correlación y -1 indica una correlación negativa perfecta. Funciona mejor para relaciones lineales.

Coeficiente de correlación de Phi

Mide la relación entre dos variables binarias. Varía entre -1 y 1, donde 1 indica una correlación positiva perfecta, 0 indica no correlación y -1 indica una correlación negativa perfecta. Funciona mejor para relaciones no lineales o variables nominales.

Coeficiente de correlación de Cramer

Mide la relación entre dos variables nominales. Varía entre 0 y 1, donde 0 indica no correlación y 1 indica una correlación perfecta. Funciona mejor para relaciones no lineales o variables nominales.

El gráfico cambian bastante cuando segmentamos nuestros datos por especie.

Limitantes del coeficiente de correlacipon lineal de Pearson:

  • No contempla otro tipo de correlación que no sea lineal, es decir puede existir una correlación no lineal y no será detectado.

  • Se pueden obtener coeficientes altos y no significa en todos los casos una relación lineal. Ej. Relación de función cúbica.

  • No habla del impacto de la correlación. Puede exitir una correlación con mayor impacto para nuestro modelo de negocio, y tener un coeficiente moderado.

  • En todo caso se recomienda siempre visualizar los datos para hacer un mejor análisis con este coeficiente de correlación.

Amor Seaborn ¿Por qué? Velo tu mismo…

sns.scatterplot(
    data=neo_pre_df_peng,
    x='bill_length_mm',
    y='bill_depth_mm',
    hue='species',
    style='island'
)

print(np.corrcoef(x,y))
plt.show()

19. Limitantes de los coeficientes de correlación lineal

Hasta el momento, por la representación gráfica no creo que haya una correlación lineal entre la longitud y profundidad del pico.

Los coeficientes de correlación lineal, como el coeficiente de correlación de Pearson, son útiles para medir la relación lineal entre dos variables numéricas. Sin embargo, tienen algunas limitaciones y existen otros tipos de correlación que pueden abordar estas limitaciones. A continuación, se presentan los principales tipos de correlación y sus ventajas y desventajas:

  1. Correlación de Pearson:
    • Ventajas:
      • Fácil de calcular e interpretar.
      • Proporciona información sobre la fuerza y la dirección de la relación lineal entre variables.
    • Desventajas:
      • Solo mide la relación lineal, por lo que puede no capturar relaciones no lineales entre variables.
      • Sensible a los valores atípicos y a las distribuciones no normales.
  2. Correlación de Spearman:
    • Ventajas:
      • Mide la relación monótona entre dos variables, no solo la relación lineal.
      • No asume una distribución específica de los datos.
    • Desventajas:
      • No captura relaciones no monótonas entre variables.
      • No es adecuada para variables continuas que tienen distribuciones normales.
  3. Correlación de Kendall:
    • Ventajas:
      • Mide la relación de concordancia y discordancia entre variables.
      • No asume una distribución específica de los datos.
    • Desventajas:
      • No captura relaciones no monótonas complejas entre variables.
      • Menos potente que la correlación de Pearson o Spearman.
  4. Correlación de punto biserial:
    • Ventajas:
      • Mide la relación entre una variable dicotómica y una variable continua.
      • Proporciona información sobre la asociación entre una variable binaria y una variable numérica.
    • Desventajas:
      • Solo es aplicable cuando una de las variables es dicotómica.
  5. Correlación de phi:
    • Ventajas:
      • Mide la relación entre dos variables dicotómicas.
      • Proporciona información sobre la asociación entre variables binarias.
    • Desventajas:
      • Solo es aplicable cuando ambas variables son dicotómicas.

Es importante seleccionar el tipo de correlación adecuado según las características de las variables y la naturaleza de la relación que se busca capturar. En algunos casos, también es recomendable utilizar técnicas de visualización y análisis exploratorio para comprender mejor la relación entre las variables antes de aplicar medidas de correlación.

Se hace una revisión general de variables, donde se encuentran algunas correlaciones altas como body_mass_g con flipper_length_mm del 87%.

Debido a que en la revisión general de datos con scatterplot para bill_depth_mm vs bill_length_mm se tienen dispersiones de puntos que siguen un patrón de acuerdo a la especie, se decide hacer el análisis por especie, continuando la revisión de scatterplot de las variables bill_depth_mm vs bill_length_mm. Se adicionan mapas de calor para verificar correlaciones entre datos por especies, teniendo que la especie Gentoo tiene mayores correlaciones, seguido de Chinstrap y finalmente Adelie con las menores correlaciones entre dimensiones de los pinguinos.

The code np.random.normal(0, 1000, x.size) generates a NumPy array of random numbers drawn from a normal (Gaussian) distribution with mean 0 and standard deviation 1000, with the size of the array being the same as the size of the input array x. In other words, it generates an array of random noise with the same shape as x. This can be useful for adding random variations or “noise” to a dataset.

Buen curso pero hay muchas cosas que se repiten de otros cursos y entonces jajaja aburre tener que repetirlos pero bien 😃

### **DEEPNOTE** #### **GENERACIÓN DE DATOS CON CORRELACIÓN NO LINEAL** **Código:** x = np.linspace(-100, 100, 100) y = x\*\*2 y += np.random.normal(0, 1000, x.size) sns.scatterplot(x=x, y=y) np.corrcoef(x, y) **Descripción del código línea por línea:** 1. x = np.linspace(-100, 100, 100): Genera un conjunto de 100 valores uniformemente espaciados entre -100 y 100. 2. y = x\*\*2: Calcula el cuadrado de cada valor en x, creando una relación cuadrática entre x y y. 3. y += np.random.normal(0, 1000, x.size): Agrega ruido aleatorio de distribución normal con media 0 y desviación estándar 1000 a y. 4. sns.scatterplot(x=x, y=y): Grafica un diagrama de dispersión de los valores de x y y usando Seaborn. 5. np.corrcoef(x, y): Calcula la matriz de correlación entre x e y. **Descripción del resultado:** * **Gráfica:** Un gráfico de dispersión que muestra una relación cuadrática con dispersión. **Matriz de correlación:** \[\[ 1.          0.0497257 ]  \[ 0.0497257   1.        ]] *  La correlación lineal es muy baja (~0.05), lo que indica que la relación no es lineal. #### **GENERACIÓN DE DATOS CON CORRELACIÓN NO LINEAL MÁS PRONUNCIADA** **Código:** x = np.linspace(-100, 100, 100) y = x\*\*3 y += np.random.normal(0, 1000, x.size) sns.scatterplot(x=x, y=y) np.corrcoef(x, y) **Descripción del código línea por línea:** 1. x = np.linspace(-100, 100, 100): Genera un conjunto de 100 valores uniformemente espaciados entre -100 y 100. 2. y = x\*\*3: Calcula el cubo de cada valor en x, creando una relación cúbica entre x y y. 3. y += np.random.normal(0, 1000, x.size): Agrega ruido aleatorio de distribución normal con media 0 y desviación estándar 1000 a y. 4. sns.scatterplot(x=x, y=y): Grafica un diagrama de dispersión de los valores de x y y usando Seaborn. 5. np.corrcoef(x, y): Calcula la matriz de correlación entre x e y. **Descripción del resultado:** * **Gráfica:** Un gráfico de dispersión que muestra una relación cúbica con dispersión. **Matriz de correlación:** \[\[1.         0.9167859 ]  \[0.9167859  1.        ]] *  La correlación lineal es alta (~0.92), aunque sigue siendo una relación no lineal. #### **RELACIÓN ENTRE VARIABLES CATEGÓRICAS Y NUMÉRICAS** **Código:** sns.scatterplot(     data=penguins\_df,     x='bill\_length\_mm',     y='bill\_depth\_mm' ) **Descripción del código línea por línea:** 1. sns.scatterplot(...): Genera un diagrama de dispersión a partir del DataFrame penguins\_df, usando las columnas bill\_length\_mm y bill\_depth\_mm como ejes. **Descripción del resultado:** * **Gráfica:** Un gráfico de dispersión que muestra la relación entre la longitud del pico (bill\_length\_mm) y la profundidad del pico (bill\_depth\_mm) de los datos de pingüinos. #### **CORRELACIÓN ENTRE MÚLTIPLES CONJUNTOS DE DATOS** **Código:** np.random.seed(42) x\_1 = np.linspace(0, 100, 100) y\_1 = 0.8 \* x\_1 + 3 + np.random.uniform(-2, 2, size=x\_1.size) x\_2 = np.linspace(0, 100, 100) y\_2 = 6 \* x\_2 + np.random.uniform(0, 60, size=x\_2.size) sns.scatterplot(x=x\_1, y=y\_1) sns.scatterplot(x=x\_2, y=y\_2) plt.legend(labels=\['1', '2']) print(np.corrcoef(x\_1, y\_1)) print(np.corrcoef(x\_2, y\_2)) **Descripción del código línea por línea:** 1. np.random.seed(42): Fija la semilla para generar números aleatorios reproducibles. 2. x\_1 = np.linspace(0, 100, 100): Genera valores uniformemente espaciados para la variable x\_1. 3. y\_1 = 0.8 \* x\_1 + 3 + np.random.uniform(-2, 2, size=x\_1.size): Genera una relación lineal para y\_1 con pendiente 0.8 y un pequeño ruido. 4. x\_2 = np.linspace(0, 100, 100): Genera valores uniformemente espaciados para la variable x\_2. 5. y\_2 = 6 \* x\_2 + np.random.uniform(0, 60, size=x\_2.size): Genera una relación lineal para y\_2 con pendiente 6 y ruido aleatorio. 6. sns.scatterplot(...): Grafica dos diagramas de dispersión para las variables x\_1, y\_1 y x\_2, y\_2. 7. plt.legend(labels=\['1', '2']): Agrega una leyenda a las series de datos. 8. print(np.corrcoef(x\_1, y\_1)): Calcula la matriz de correlación para x\_1 e y\_1. 9. print(np.corrcoef(x\_2, y\_2)): Calcula la matriz de correlación para x\_2 e y\_2. **Descripción del resultado:** * **Gráfica:** Muestra dos conjuntos de datos con relaciones lineales. Una relación tiene pendiente más pronunciada que la otra. * **Matrices de correlación:** x\_1 y y\_1: \[\[1.         0.9701617 ]  \[0.9701617  1.        ]] x\_2 y y\_2: \[\[1.         0.64764343]  \[0.64764343 1.        ]]
## **LIMITANTES DEL COEFICIENTE DE CORRELACIÓN LINEAL** ### **1. CORRELACIÓN LINEAL VS. OTROS TIPOS DE RELACIONES** El coeficiente de correlación lineal sirve exclusivamente para detectar **correlaciones lineales** entre dos variables. Sin embargo, la **ausencia de una correlación lineal** no significa que no exista algún otro tipo de relación, como una correlación cuadrática o cúbica. #### **Ejemplo práctico: relación cuadrática** 1. Generamos datos: * Creamos una variable x que va de -100 a 100 con pasos uniformes (linspace). * Definimos y como el cuadrado de x (y = x²) y añadimos ruido utilizando una distribución normal. 2. Visualizamos los datos: * Usamos un scatterplot con Seaborn para observar gráficamente la relación cuadrática. 3. Calculamos el coeficiente de correlación: * Aplicamos np.corrcoef de NumPy a x e y. El resultado es **0.4**, un valor cercano a cero, lo que indica que no hay una correlación lineal. * A pesar de este resultado, los datos tienen una **relación cuadrática clara**. #### **Ejemplo práctico: relación cúbica** Si trabajamos con una relación cúbica, el coeficiente de correlación puede ser **alto (por ejemplo, 0.9)**, pero esto no implica que exista una relación lineal. Los valores negativos y positivos de los datos pueden compensarse, dando un coeficiente elevado, aunque la relación sea de tipo cúbico. **Lección clave**: Siempre visualiza tus datos para comprender el tipo de relación existente más allá de los coeficientes numéricos. ### **2. EL COEFICIENTE DE CORRELACIÓN NO MIDE IMPACTO** El coeficiente de correlación no refleja el **impacto práctico** de una relación. #### **Ejemplo práctico: impacto comparativo** 1. Creamos dos conjuntos de datos: * Serie azul: relación lineal con coeficiente de correlación de **0.9**. * Serie naranja: puntos dispersos con un coeficiente de correlación de **0.0**. 2. Interpretación: * Aunque la serie azul tiene un coeficiente más alto, el impacto práctico puede ser menor si los cambios en la variable no generan resultados significativos. * Por otro lado, la serie naranja, aunque con un coeficiente bajo, podría tener un impacto más relevante si representa cambios importantes en los ingresos, por ejemplo. **Lección clave**: Evalúa tanto el coeficiente de correlación como el impacto práctico de la relación en tu contexto específico.
La correlación es de -0.23, es decir que mientras una de las variables aumenta, la otra tiende a disminuir, aunque la relación no es fuerte como para hacer predicciones fiables basadas en una de las variables respecto a la otra.
No se ve muy clara la correlación entre la longitud y la profundidad del pico porque están todas las especies juntas, pero cuando se grafica por especie si se ve una correlación positiva
No hay una correlación entre las dos variables y la razón es porque en la relación se mezclan dos especies, una de las especies es de mucho mayor tamayo, si sepramos por especies si existe una ligera asociación.
Siguiendo el ejemplo de Carlos Mazzaroli, les dejo aquí el código que hice para graficar la diferencia en la correlación lineal cuando se considera la variable 'species'. ```js fig, ax = plt.subplots(1, 2, figsize= (14, 6)) sns.regplot( ax= ax[0], data= pg, x= 'bill_length_mm', y= 'bill_depth_mm', scatter_kws= { 'alpha': 0.5 }, line_kws= { 'alpha': 0.8 } ) for i in pg.species.unique(): sns.regplot( ax=ax[1], data= pg[pg['species'] == i], x= 'bill_length_mm', y= 'bill_depth_mm', scatter_kws= { 'color': penguin_color[i], 'alpha': 0.5 }, line_kws={ 'linewidth': 2, 'color': penguin_color[i], 'alpha': 0.8 } ) fig.suptitle('Correlación entre las variables de las medidas "Longitud" y "Anchura" del pico') ax[0].set_title("Correlación lineal sin seccionar por especies") ax[1].set_title("Correlación lineal seccionando por especies") ax[0].set_xlabel('Longitud del pico', fontsize=12) ax[0].set_ylabel('Anchura del pico', fontsize=12) ax[1].set_xlabel('Longitud del pico', fontsize=12) ax[1].set_ylabel('Anchura del pico', fontsize=12) ``` \----------- ![](https://static.platzi.com/media/user_upload/image-5571eadc-71cd-4d22-83f7-823ff0d1c73b.jpg)


Las limitantes principales de los coeficientes de correlación lineal, como el de Pearson, son su incapacidad para detectar relaciones no lineales, su sensibilidad a valores atípicos y la falta de capacidad para establecer causalidad entre variables correlacionadas.

Hola para hacerte un resumen de la clase(y no, no copio y pego lo que dice el profesor.
de lo contrario dejo que te veas la clase).
definamos por todas que es un coeficiente lineal: Es sencillamente ese valor central de los datos que nos permite conocer la distribucion que se deben inclinar los variables(columnas) para darles su importancia en nuestro analisis y entender su correlacion entre si mismas.
entonces:
si un coeficiente es cercano a 1: es una corrleacion perfecta.
0.9: correlacion positiva alta.
0.5: Correlacion positiva baja.
0: Sin correlacion.
-1.0: Correlacion negativa perfecta.
-0.9: Correlacion negativa alta.
-0.5: Correlacion negativa baja.
"para conocer esta correlacion puedes usar una formula en Numpy que se llama np.corrcoef(x,y)"
ya que definimos que es una correlacion lineal.
ahora entendamos esta clase la cual se centra en explicarnos lo que NO podemos hacer con una correlacion lineal. es decir, cuando creamos esta correlacion no podemos conocer como lo son:

  1. No nos permite conocer la correlacion no lineal.
  2. Causas sutiles: Osea las razones que no se pueden ver facilmente, las cuales requieren un estudio mas detallado.(aqui no en esta clase no se menciona esto).
  3. No nos permite conocer el impacto que tienen las variables si nosotros consideraramos otra variable.(en el min 6) menciona eso.
    ya que se evaluan 2 escenarios:
  4. lo que tienes: los datos con los que dispones.
  5. un supuesto: que pasaría si, es decir, un condicional.

algo que tambien creo que debes de tener en cuenta, es que cuando visualices tus datos(algo que debes hacerlo siempre), es que, practicamente si un coeficiente no es 0(no hay correlacion), debes tener en cuenta que si hay una relacion aunque no sea lineal, hay una relacion y por lo tanto debes tratar de entender como esta relacion te beneficia para la toma de decisiones.

(no mas spoilers).
no copie y pegue lo que dice el profesor.
PLATZI debe tener una bandeja de spoilers.
esos comentarios que no aportan deben ir a un lugar y el que quiera perder el tiempo, que vaya allá y lea.

np.random.seed(42)
x1 = np.linspace(0,100,100)
y1 = 0.1* x1 +3 + np.random.uniform(-2,2,size=x1.size)

sns.scatterplot(x=x1, y=y1)


x2 = np.linspace(0,100,100)
y2 = 0.5* x1 +1 + np.random.uniform(0,60,size=x2.size)

sns.scatterplot(x=x2, y=y2)

plt.legend(["1","2"])

print(np.corrcoef(x1,y1))
print(np.corrcoef(x2,y2))

  • Hay una correlación moderada y positiva entre bill_length_mm y bill_depth_mm. Esto significa que a medida que una variable aumenta, la otra variable también tiende a aumentar. Sin embargo, la correlación no es muy fuerte, lo que sugiere que estas dos variables no están muy estrechamente relacionadas y que pueden haber otros factores que influyan en su comportamiento.

Aqui esta el codigo del heatmap para cada especie por separado

import seaborn as sns
import matplotlib.pyplot as plt

Cargar datos de ejemplo de pinguinos

df = sns.load_dataset(‘penguins’)

Filtrar el dataframe por especie y crear un heatmap para cada especie

species = [‘Adelie’, ‘Gentoo’, ‘Chinstrap’]
fig, axs = plt.subplots(1, len(species), figsize=(12, 5))

for i, s in enumerate(species):
filtered_df = df[df[‘species’] == s]
heatmap = sns.heatmap(filtered_df.corr(), annot=True, cmap=‘coolwarm’, ax=axs[i])
heatmap.set_title('Pinguinos ’ + s)
heatmap.set_xticklabels(heatmap.get_xticklabels(), rotation=45, ha=‘right’)

plt.tight_layout()
plt.show()

Lo digo porque en esta ruta ya he visto 4 veces un tema


creo que no hay una correlación ,por que todavía o lo hemos segmentado si los llegamos a segmentar por especies si se ve una correlación positiva

Correlaciones lineales y no lineales