산점도란?
산점도(Scatter Plot)는데이터의 두 변수를 선택하여 2차원 공간에 배치하여 시각화하는 방법이다. 두 변수를 각각 가로축과 세로축에 배치하고, 데이터의 값을 좌표 형태로 표시하여 점들의 분포로 나타낸다. 산점도를 통해 두 변수의 패턴과 상관 관계, 이상치 등을 파악할 수 있다.
산점도 그려보기 (python)
예제 데이터로 0과 1 사이의 균등 분포를 따르는 100개의 랜덤한 값과 x에 비례하는 값을 생성하여 산점도를 그려보았다. 그냥 비례하게만 만들면 직선으로 나올테니 정규분포를 따르는 약간의 노이즈를 추가했다. 산점도의 형태를 보면 X와 Y가 양의 상관관계(비례)를 가진다는 것을 예상할 수 있다. (예제 데이터를 비례하게 만들었으니 당연하다.)
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
# 예제 데이터 생성
np.random.seed(10)
x = np.random.rand(100)
y = 2 * x + np.random.normal(0, 0.1, 100)
# 데이터 프레임 생성
data = pd.DataFrame({
'X': x,
'Y': y
})
# 산점도 그리기
plt.figure(figsize=(8, 6))
sns.scatterplot(x='X', y='Y', data=data)
plt.title('Scatter Plot of X vs Y')
plt.xlabel('X')
plt.ylabel('Y')
plt.grid(True)
plt.show()
산점도의 해석
산점도를 통해서 다양한 정보를 얻을 수 있으나 기본적으로 아래 3가지를 먼저 고려한다.
- 상관관계: 점들이 직선 형태이면 상관관계가 높음을 나타내며, 상관관계가 높을수록 직선에 가깝게 분포함.
- 패턴: 비선형 관계나 군집 등의 데이터의 패턴을 파악할 수 있음.
- 이상치: 다른 점들과 멀리 떨어진 점들은 이상치로 간주할 수 있음.
산점도의 한계
- 변수 수 제한: 산점도는 두 변수 간의 관계만을 시각화할 수 있음. 다변량 데이터를 다루려면 다른 기법이 필요함.
산점도 사용에 주의할 점
- 데이터 양에 따른 시각적 혼잡: 데이터가 너무 많으면 산점도가 복잡해지고 해석이 어려울 수 있음.
- 해석 검증: 산점도를 통해 패턴과 상관관계를 예상해볼 수 있으나 실제로 그런지 추가 검증이 필요함.