Python에서 상관 행렬을 만드는 방법
두 변수 사이의 관계를 정량화하는 한 가지 방법은 두 변수 사이의 선형 연관성을 측정하는 Pearson 상관 계수를 사용하는 것입니다 .
-1과 1 사이의 값을 사용합니다. 여기서:
- -1은 완벽하게 음의 선형 상관 관계를 나타냅니다.
- 0은 선형 상관관계가 없음을 나타냅니다.
- 1은 완벽하게 양의 선형 상관 관계를 나타냅니다.
상관 계수가 0에서 멀어질수록 두 변수 간의 관계가 더 강해집니다.
그러나 어떤 경우에는 여러 변수 쌍 간의 상관 관계를 이해하고 싶습니다. 이러한 경우 여러 쌍의 변수 조합 간의 상관 계수를 보여주는 정사각형 테이블인 상관 행렬을 만들 수 있습니다.
이 튜토리얼에서는 Python에서 상관 행렬을 만들고 해석하는 방법을 설명합니다.
Python에서 상관 행렬을 만드는 방법
Python에서 상관 행렬을 만들려면 다음 단계를 따르세요.
1단계: 데이터세트를 만듭니다.
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
2단계: 상관 행렬을 만듭니다.
#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
3단계: 상관 행렬을 해석합니다.
표의 대각선에 있는 상관 계수는 각 변수가 그 자체와 완벽하게 상관되어 있기 때문에 모두 1과 같습니다.
다른 모든 상관 계수는 다양한 쌍별 변수 조합 간의 상관 관계를 나타냅니다. 예를 들어:
- 어시스트와 리바운드의 상관계수는 -0.245 입니다.
- 어시스트와 포인트 사이의 상관계수는 -0.330 입니다.
- 리바운드와 포인트 사이의 상관계수는 -0.522 입니다.
4단계: 상관 행렬을 시각화합니다(선택 사항).
Pandas에서 사용할 수 있는 스타일 옵션을 사용하여 상관 행렬을 시각화할 수 있습니다.
corr = df. corr () corr. style . background_gradient (cmap='coolwarm')
cmap 인수를 수정하여 다양한 색상의 상관 행렬을 생성할 수도 있습니다.
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 ')
참고 : cmap 인수의 전체 목록은 matplotlib 설명서를 참조하세요.