Scatter plot
- 두 점을 사용하여 두 특성간의 관계를 알기 위해 사용 (상관 관계를 확인하기 위해)
- 산점도- 인과 관계와 상관 관계는 다르다!
- 직교 좌표계에서 x축/y축에 feature값 매핑
- .scatter() 사용
- '/' 모양이면 긍정적인 관계, '\'모양이면 부정적인 관계, 둘다 아니면 상관성 없음
- 추세선을 사용하면 scatter의 패턴을 유추할 수 있다 (한개만 사용하는 것 추천)
- 범주형이 포함된 관계에서는 heatmap 또는 bubble chart를 추천한다
scatter plot의 요소
- 색(color): 연속은 gradient, 이산은 개별 색상으로
- 모양(marker): 거의 구별하기 힘들고 어느 것이 더 큰지 구별안됨
- 크기(size): 크기가 다른 차트를 bubble chart라고 부름. 구별하기는 쉽지만 오용하기 쉬움
Overplotting - 점이 많아질수록 분포를 파악하기 힘들다
- 투명도 조정
- jittering: 점의 위치를 약간씩 변경해서 안겹치도록 함 (별로임)
- 2차원 히스토그램: 히트맵을 사용해서 깔끔하게 시각화
- Contour plot: 등고선으로 표현
Scatter plot 코드
Scatter plot의 요소
fig = plt.figure(figsize=(7, 7))
ax = fig.add_subplot(111, aspect=1)
np.random.seed(970725)
x = np.random.rand(20)
y = np.random.rand(20)
s = np.arange(20) * 10 # =200
ax.scatter(x, y,
s= s, # size=200
c='grey', # 점의 색
marker='o', #마커
linewidth=1,
edgecolor='black') #테두리 색
plt.show()
시각적인 주의를 위해 선 표시하기
fig = plt.figure(figsize=(7, 7))
ax = fig.add_subplot(111)
ax.axvline(2.5, color='gray', linestyle=':')
ax.axhline(0.8, color='gray', linestyle=':')
ax.legend()
plt.show()