상관관계(Correlation)는 두 데이터 세트 간의 의존성과 관련된 통계적 관계를 의미합니다. 반면 선형 회귀(Linear Regression)는 종속 변수와 하나 이상의 독립 변수 사이의 관계를 규명하기 위한 선형적 접근 방식입니다. 독립 변수가 하나뿐인 경우를 단순 선형 회귀, 여러 개인 경우를 다중 회귀라고 부릅니다.
상관관계(Correlation)
종속 현상의 대표적인 예로는 부모와 자식 간의 신체적 특징 상관관계, 그리고 제품 가격과 공급량 사이의 상관관계 등이 있습니다.
여기서는 파이썬 시각화 라이브러리인 Seaborn에서 제공하는 붓꽃(iris) 데이터셋을 예로 들어 보겠습니다. 세 종류의 붓꽃에 대해 꽃받침(sepal)과 꽃잎(petal)의 길이와 너비 사이의 상관관계를 파악하고, 발견된 상관관계를 바탕으로 한 품종을 다른 품종과 쉽게 구분할 수 있는 강력한 모델을 만들 수 있습니다.
예제 코드
import matplotlib.pyplot as plt
import seaborn as sns
df = sns.load_dataset('iris')
# 회귀선 없이 산점도 행렬 출력
sns.pairplot(df, kind="scatter")
plt.show()실행 결과
위 코드를 실행하면 아래와 같은 결과를 확인할 수 있습니다.

선형 회귀(Linear Regression)
수학적으로 선형 관계는 그래프로 나타냈을 때 직선으로 표현됩니다. 반면 어떤 변수의 지수(exponent)가 1이 아닌 비선형 관계는 곡선 형태를 띠게 됩니다.
Seaborn에서 선형 회귀 관계를 찾아 시각화하는 데 사용되는 함수는 regplot입니다. 아래 예제는 이 함수의 사용 방법을 보여줍니다.
예제 코드
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.regplot(x="total_bill", y="tip", data=df)
plt.show()실행 결과
위 코드를 실행하면 총 지불 금액(total_bill)과 팁(tip) 사이의 관계를 보여주는 회귀선이 포함된 산점도가 출력됩니다.
