이변량 분석 (숫자 -> 숫자)
도구
시각화 : 산점도 (scatter)
수치화 : 상관 분석
산점도
- 점을 찍어서 그래프를 그린다
- 각 점들이 얼마나 직선에 모여 있는지를 직선을 그린다
산점도
- 두 숫자형 변수의 관계를 나타내는 그래프 는 무조건 산점도 이다.
- 직선의 관계 가 있는지 확인해야 한다.
code
- plt.scatter(x값 , y값)
- plt.scatter('x변수' , 'y변수' , data = df)
- sns.scatterplot('x변수' , 'y변수' , data = df)
plt.scatter(air['Temp'] , air['Ozone'])
plt.show()
plt.scatter('Temp' , 'Ozone' , data = df)
plt.show()
sns.scatterplot('Temp' , 'Ozone' , data = df)
plt.show()

강한 관계 vs 약한 관계

sns.pairplot(dataframe)
sns.pairplot(air)
plt.show()

jointplot , regplot
- 산점도와 히스토 그램을 한꺼번에 보여주는 jointplot
- seaborn 에서만 제공해 준다.
sns.jointplot(x='Temp', y='Ozone', data = air)
plt.show()

- regplot 은 회귀 선을 그어주는 방법이다
- 무조건 직선을 그어서 정확하지는 않다.
sns.regplot(x='Solar.R', y='Ozone', data = air)
plt.show()

상관계수 , 상관분석
- 그래프를 눈으로 파악하는 것 보다 수치화 하는것이 정확하다
- 관계를 숫자로 계산하여 비교
- 유의미 하는것을 검정하는것이 상관분석이다
r
- 상관계수의 값
- -1 ~ 1 사이의 값이다.
- -1(음) or 1(양) 이여야 강한 상관관계를 나타냄
- 강한 : 0.5<∣r∣<=1
- 중간 : 0.2<∣r∣<=0.5
- 약한 : 0.1<∣r∣<=0.2
- 없음 : ∣r∣<=0.1
scipy.stats
- 상관계수를 수치화 하기위한 방법
- 통계 모듈
- 피어슨 상관계수를 구하는 함수
- 결과 : (첫번째 값은 상관계수 , 관계가 있냐 없냐 를 나타내는 p-value)
import scipy.stats as spst
spst.pearsonr(air['Temp'], air['Ozone'])

p-value
- 어떻게 사용하는지에 초점
- 수치화 한 값이 유의미한 지 판단하는 숫자 -> p-value
판단 기준
- p-value < 0.05 이면 , 두 변수 간에 관계가 있다. (r not equal 0)
- p-value >= 0.05 이면 , 두 변수간에 관계가 없다고 본다. ( r equal 0)
pd.corr()
- 모든 데이터 프레임의 컬럼들간의 상관계수를 출력하는 함수
pd.corr()

sns.heatmap()
- 상관계수를 heatmap 으로 실행
- 상관계수를 시각화 한것이라고 보면 된다.
plt.figure(figsize = (8, 8))
sns.heatmap(air.corr(),
annot = True,
fmt = '.3f',
cmap = 'RdYlBu_r',
vmin = -1, vmax = 1)
plt.show()
