Nauka o danych — macierz korelacji statystyk
Macierz korelacji
Macierz to tablica liczb ułożonych w rzędy i kolumny.
Macierz korelacji to po prostu tabela przedstawiająca współczynniki korelacji między zmiennymi.
Tutaj zmienne są reprezentowane w pierwszym wierszu i w pierwszej kolumnie:
W powyższej tabeli wykorzystano dane z pełnego zestawu danych dotyczących zdrowia.
Obserwacje:
- Zauważamy, że Duration i Calorie_Burnage są ściśle powiązane ze współczynnikiem korelacji równym 0,89. Ma to sens, ponieważ im dłużej trenujemy, tym więcej kalorii spalamy
- Zauważamy, że nie ma prawie żadnych liniowych zależności między Average_Pulse i Calorie_Burnage (współczynnik korelacji 0,02)
- Czy możemy stwierdzić, że Average_Pulse nie wpływa na spalanie kalorii? Nie. Wrócimy, aby odpowiedzieć na to pytanie później!
Macierz korelacji w Pythonie
Możemy użyć tej corr()
funkcji w Pythonie do stworzenia macierzy korelacji. Korzystamy również z round()
funkcji, aby zaokrąglić dane wyjściowe do dwóch miejsc po przecinku:
Przykład
Corr_Matrix = round(full_health_data.corr(),2)
print(Corr_Matrix)
Wyjście:
Korzystanie z mapy termicznej
Możemy użyć mapy termicznej do wizualizacji korelacji między zmiennymi:
Im współczynnik korelacji jest bliższy 1, tym bardziej zielone stają się kwadraty.
Im współczynnik korelacji jest bliższy -1, tym bardziej brązowieją kwadraty.
Użyj Seaborn do stworzenia mapy termicznej
Możemy użyć biblioteki Seaborn do stworzenia mapy ciepła korelacji (Seaborn to biblioteka wizualizacji oparta na matplotlib):
Przykład
import matplotlib.pyplot as plt
import seaborn as sns
correlation_full_health =
full_health_data.corr()
axis_corr = sns.heatmap(
correlation_full_health,
vmin=-1, vmax=1, center=0,
cmap=sns.diverging_palette(50,
500, n=500),
square=True
)
plt.show()
Przykład wyjaśniony:
- Zaimportuj bibliotekę seaborn jako sns.
- Użyj zestawu full_health_data.
- Użyj sns.heatmap(), aby powiedzieć Pythonowi, że chcemy, aby mapa cieplna wizualizowała macierz korelacji.
- Użyj macierzy korelacji. Zdefiniuj maksymalne i minimalne wartości mapy termicznej. Zdefiniuj, że 0 to środek.
- Zdefiniuj kolory za pomocą sns.diverging_palette. n=500 oznacza, że chcemy mieć 500 rodzajów kolorów w tej samej palecie kolorów.
- kwadrat = True oznacza, że chcemy widzieć kwadraty.