Una array de correlación es una tabla que contiene coeficientes de correlación entre variables. Cada celda de la tabla representa la correlación entre dos variables. El valor se encuentra entre -1 y 1. Se utiliza una array de correlación para resumir los datos, como diagnóstico para análisis avanzados y como entrada para un análisis más avanzado. Los dos componentes clave de la correlación son:
- Magnitud: a mayor magnitud, mayor correlación.
- Signo: si es positivo, existe una correlación regular. Si es negativo, hay una correlación inversa.
Se ha creado una array de correlación utilizando las siguientes dos bibliotecas:
- biblioteca numpy
- Biblioteca de pandas
Método 1: Crear una array de correlación usando la biblioteca Numpy
La biblioteca Numpy hace uso de la función corrcoef() que devuelve una array de 2 × 2. La array consta de correlaciones de x con x (0,0), x con y (0,1), y con x (1,0) e y con y (1,1). Solo nos interesa la correlación de x con y, es decir, la celda (0,1) o (1,0). Vea a continuación un ejemplo.
Ejemplo 1: Suponga que una heladería realiza un seguimiento de las ventas totales de helados en comparación con la temperatura de ese día.
Python3
import numpy as np # x represents the total sale in # dollars x = [215, 325, 185, 332, 406, 522, 412, 614, 544, 421, 445, 408], # y represents the temperature on # each day of sale y = [14.2, 16.4, 11.9, 15.2, 18.5, 22.1, 19.4, 25.1, 23.4, 18.1, 22.6, 17.2] # create correlation matrix matrix = np.corrcoef(x, y) # print matrix print(matrix)
Producción
[[1. 0.95750662] [0.95750662 1. ]]
De la array anterior, si vemos que la celda (0,1) y (1,0) ambas tienen el mismo valor igual a 0.95750662 lo que nos lleva a concluir que siempre que la temperatura es alta tenemos más ventas.
Ejemplo 2: Supongamos que nos dan el nivel de glucosa en un niño correspondiente a la edad. Encuentre la correlación entre la edad (x) y el nivel de glucosa en el cuerpo (y).
Python3
import numpy as np # x represents the age x = [43, 21, 25, 42, 57, 59] # y represents the glucose level # corresponding to that age y = [99, 65, 79, 75, 87, 81] # correlation matrix matrix = np.corrcoef(x, y) print(matrix)
Producción
[[1. 0.5298089] [0.5298089 1. ]]
De la array de correlación anterior, 0.5298089 o 52.98% eso significa que la variable tiene una correlación positiva moderada.
Método 2: crear una array de correlación usando la biblioteca Pandas
Para crear una array de correlación para un conjunto de datos dado, usamos el método corr() en marcos de datos.
Ejemplo 1:
Python3
import pandas as pd # collect data data = { 'x': [45, 37, 42, 35, 39], 'y': [38, 31, 26, 28, 33], 'z': [10, 15, 17, 21, 12] } # form dataframe dataframe = pd.DataFrame(data, columns=['x', 'y', 'z']) print("Dataframe is : ") print(dataframe) # form correlation matrix matrix = dataframe.corr() print("Correlation matrix is : ") print(matrix)
Producción:
Dataframe is : x y z 0 45 38 10 1 37 31 15 2 42 26 17 3 35 28 21 4 39 33 12 Correlation matrix is : x y z x 1.000000 0.518457 -0.701886 y 0.518457 1.000000 -0.860941 z -0.701886 -0.860941 1.000000
Ejemplo 2:
Archivo CSV utilizado:
Python3
import pandas as pd # create dataframe from file dataframe = pd.read_csv("C:\\GFG\\sample.csv") # show dataframe print(dataframe) # use corr() method on dataframe to # make correlation matrix matrix = dataframe.corr() # print correlation matrix print("Correlation Matrix is : ") print(matrix)
Producción:
Correlation Matrix is : AVG temp C Ice Cream production AVG temp C 1.000000 0.718032 Ice Cream production 0.718032 1.000000
Publicación traducida automáticamente
Artículo escrito por rohanchopra96 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA