개발/파이썬

파이썬. Matplotlib - 상관관계 ( scatter , regplot , pairplot)

웅'jk 2022. 11. 28. 16:06

이번에는 두 컬럼간의 상관관계 (비례,반비례,관계없음)을 알아보겠습니다.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb
%matplotlib inline

위 라이브러리를 모두 import 해주세요.

 

df에는 다음과 같은 데이터가 들어있습니다.

먼저 코드는 다음과 같습니다.

#배기량과 co2의 상관관계
plt.scatter(data = df , x = 'displ', y ='comb')
plt.title('Displ vs Comb')
plt.xlabel('Displacement (L)')
plt.ylabel('Combined Fuel Eff (mpg)')
plt.show()

이 그래프가 반비례 인지 비례인지는 corr() 함수를 통해 알아봅시다.

먼저 수치는 다음을 의미합니다

r이 -1.0과 -0.7 사이이면, 강한 음적 선형관계,

r이 -0.7과 -0.3 사이이면, 뚜렷한 음적 선형관계,

r이 -0.3과 -0.1 사이이면, 약한 음적 선형관계,

r이 -0.1과 +0.1 사이이면, 거의 무시될 수 있는 선형관계,

r이 +0.1과 +0.3 사이이면, 약한 양적 선형관계,

r이 +0.3과 +0.7 사이이면, 뚜렷한 양적 선형관계,

r이 +0.7과 +1.0 사이이면, 강한 양적 선형관계

 

df[['displ','comb']].corr()

- 0.758397 로 강한 음적 선형관계 를 의미합니다.

 

이번에는 seaborn 의 regplot 이용하여 나타내어봅시다.

sb.regplot(data= df , x='displ',y = 'comb')
plt.title('Displ vs Comb')
plt.xlabel('Displacement (L)')
plt.ylabel('Combined Fuel Eff (mpg)')
plt.show()

이런식으로 앞선 scatter 와 다르게 선으로 직접 반비례,비례관계를선으로 나타낸다.

다만 눈으로 보인다 하더라도 corr()함수를 꼭 이용하자.

 

이번에는 seaborn의 pairplot 이다

sb.pairplot(data = df , vars = ['displ','comb','co2'])
plt.show()

vars = 비교할 컬럼들을 넣어주면 된다.