Seaborn은 데이터 시각화를 위해 널리 사용되는 파이썬 라이브러리로, 세련된 사용자 지정 테마와 고수준 인터페이스를 제공합니다.
선형 관계 시각화가 중요한 이유
회귀 모델을 구축할 때는 반드시 다중공선성(multicollinearity) 여부를 확인해야 합니다. 연속형 변수들 간의 상관관계를 가능한 모든 조합에 대해 파악해야 하기 때문입니다. 만약 변수 사이에 다중공선성이 존재한다면, 이를 데이터에서 제거하는 작업이 필요합니다. 바로 이 지점에서 Seaborn의 regplot과 lmplot 함수가 유용하게 사용됩니다. 이 두 함수는 선형 회귀 분석에서 변수 간의 선형 관계를 직관적으로 시각화하는 데 큰 도움을 줍니다.
regplot과 lmplot의 차이점
regplot 함수는 x와 y 변수의 값을 다양한 형식으로 받아들일 수 있습니다. 여기에는 numpy 배열, pandas 시리즈(Series) 객체, pandas 데이터프레임의 변수 참조 또는 값 등이 포함됩니다.
반면 lmplot 함수는 사용자가 반드시 data 매개변수를 명시적으로 전달해야 하며, x와 y 변수 값은 문자열 형태로 지정해야 합니다. 이러한 데이터 형식을 '롱 폼(long-form) 데이터'라고 부릅니다. 아래는 실제 활용 예시입니다.
예제 코드
import seaborn as sb
from matplotlib import pyplot as plt
my_df = sb.load_dataset('tips')
sb.regplot(x = "total_bill", y = "tip", data = my_df)
sb.lmplot(x = "total_bill", y = "tip", data = my_df)
plt.show()
출력 결과

코드 설명
- 필요한 패키지인 seaborn과 matplotlib을 임포트합니다.
- 입력 데이터로는 Seaborn 라이브러리에서 제공하는 'tips' 데이터셋을 사용합니다.
- 'load_dataset' 함수를 호출하여 해당 데이터를 불러오고, 이를 데이터프레임 형태로 저장합니다.
- 'regplot' 함수를 사용해 데이터를 시각화하며, 이때 데이터프레임이 data 매개변수로 전달됩니다.
- 'lmplot' 함수로도 동일한 데이터를 시각화합니다.
- x축에는 'total_bill'(총 지출액), y축에는 'tip'(팁) 값을 각각 지정하여 두 변수 간의 관계를 확인합니다.
- plt.show()를 호출하여 생성된 그래프를 화면에 출력합니다.