Jak utworzyć macierz korelacji w pythonie
Jednym ze sposobów ilościowego określenia związku między dwiema zmiennymi jest użycie współczynnika korelacji Pearsona , który jest miarą liniowego związku między dwiema zmiennymi .
Przyjmuje wartość z zakresu od -1 do 1, gdzie:
- -1 oznacza doskonale ujemną korelację liniową.
- Wartość 0 oznacza brak korelacji liniowej.
- 1 wskazuje doskonale dodatnią korelację liniową.
Im współczynnik korelacji jest bardziej od zera, tym silniejszy jest związek między obiema zmiennymi.
Jednak w niektórych przypadkach chcemy zrozumieć korelację między wieloma parami zmiennych. W takich przypadkach możemy utworzyć macierz korelacji , która jest kwadratową tabelą pokazującą współczynniki korelacji pomiędzy kilkoma parami kombinacji zmiennych.
W tym samouczku wyjaśniono, jak utworzyć i zinterpretować macierz korelacji w języku Python.
Jak utworzyć macierz korelacji w Pythonie
Wykonaj poniższe kroki, aby utworzyć macierz korelacji w języku Python.
Krok 1: Utwórz zbiór danych.
import pandas as pd data = {'assists': [4, 5, 5, 6, 7, 8, 8, 10], 'rebounds': [12, 14, 13, 7, 8, 8, 9, 13], 'points': [22, 24, 26, 26, 29, 32, 20, 14] } df = pd. DataFrame (data, columns=['assists','rebounds','points']) df assist rebound points 0 4 12 22 1 5 14 24 2 5 13 26 3 6 7 26 4 7 8 29 5 8 8 32 6 8 9 20 7 10 13 14
Krok 2: Utwórz macierz korelacji.
#create correlation matrix df. corr () assists rebound points assists 1.000000 -0.244861 -0.329573 rebounds -0.244861 1.000000 -0.522092 points -0.329573 -0.522092 1.000000 #create same correlation matrix with coefficients rounded to 3 decimals df. corr (). round (3) assists rebound points assists 1.000 -0.245 -0.330 rebounds -0.245 1.000 -0.522 points -0.330 -0.522 1.000
Krok 3: Zinterpretuj macierz korelacji.
Wszystkie współczynniki korelacji wzdłuż przekątnej tabeli są równe 1, ponieważ każda zmienna jest doskonale skorelowana ze sobą.
Wszystkie pozostałe współczynniki korelacji wskazują na korelację pomiędzy różnymi kombinacjami zmiennych parami. Na przykład:
- Współczynnik korelacji pomiędzy asystami i zbiórkami wynosi -0,245 .
- Współczynnik korelacji pomiędzy asystami i punktami wynosi -0,330 .
- Współczynnik korelacji pomiędzy zbiórkami i punktami wynosi -0,522 .
Krok 4: Wizualizuj macierz korelacji (opcjonalnie).
Możesz wizualizować macierz korelacji, korzystając z opcji stylizacji dostępnych w pandach:
corr = df. corr () corr. style . background_gradient (cmap='coolwarm')
Można także zmodyfikować argument cmap , aby utworzyć macierz korelacji o różnych kolorach.
corr = df. corr () corr. style . background_gradient (cmap=' RdYlGn ')
corr = df. corr () corr. style . background_gradient (cmap=' bwr ')
corr = df. corr () corr. style . background_gradient (cmap=' PuOr ')
Uwaga : Pełną listę argumentów cmap znajdziesz w dokumentacji matplotlib .