반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 유학생
- 선형회귀
- 로지스틱회귀
- 판다스
- matplotlib
- 오늘도코드잇
- SQL
- 코딩공부
- 결정트리
- 런던
- 파이썬
- 코드잇TIL
- 다항회귀
- 코딩
- 코드잇
- 윈도우함수
- numpy
- sql연습문제
- CSS
- 코딩독학
- 코드잇 TIL
- 행렬
- 머신러닝
- 영국석사
- for반복문
- HTML
- Seaborn
- 데이터분석
- 경사하강법
- 나혼자코딩
Archives
- Today
- Total
영국 척척석사 유학생 일기장👩🏻🎓
(데이터분석) seaborn의 투명도, 지터링으로 산점도 과다중첩 해결하기 본문
728x90
반응형
차트에 과도하게 많은 점이 존재하거나 주어진 숫자 변수가 불연속적일 경우, 주어진 그대로 산점도를 그려서 정보를 확인하기 어려울 수 있습니다. 차트 상에서 너무 많은 데이터 포인트가 겹치면서 과다 중첩(Overplotting)되어 변수들 간의 관계를 파악하기 어려워지기 때문입니다. 지난 글에 이어 산점도에서 과다 중첩을 해결하는 방법에 대해 알아보겠습니다.
🔻(지난 글) 산점도 그리기🔻
1. 지터링(Jittering)
- 변수 중 하나 또는 두 개가 불연속인 경우 아래와 같이 산점도가 그려질 수 있는데 이런 차트를 해석할 때 지터를 사용합니다.
- 지터는 값이 같은 여러 데이터 포인트가 작은 영역에 분산되도록 각 점의 위치에 약간의 임의의 노이즈를 추가하는 것입니다.
2. 지터링 예시
- 지난 글에서 사용한 데이터를 이용하여 제조연도와 연료 효율의 관계를 알아보겠습니다.
fuel_econ = pd.read_csv('fuel_econ.csv')
print(fuel_econ.shaple)
fuel_econ.head(6)
- 연도에 대한 통합 연료 효율의 산점도를 살펴보겠습니다.
sb.regplot(data = fuel_econ, x='year', y='comb', fit_reg = False);
- 회귀선은 효율이 약간 상승하는 추세를 보이지만 명확하게 확인할 수 없습니다.
- 이런 상황에서 투명도와 지터를 사용할 수 있습니다.
- x값이 지터를 적용해야 하므로 x jitter 매개변수를 추가하겠습니다.
- 값 0.3은 각 x값이 최대 0.3많게 또는 적게 조정됨을 의미합니다.
- 이 기능은 seaborn의 replot에서만 적용되며 matplotlib 산점도에서는 적용되지 않습니다.
sb.regplot(data = fuel_econ, x='year', y='comb', x_jitter = 0.3);
- 이제 점들이 단일 선이 아닌 특정 너비를 가진 띠에 배열됩니다.
- 하지만 여전히 30 아래 점 분포를 파악할 수 없으므로 투명도를 추가해야 합니다.
- 딕셔너리 세트의 매개변수를 scatter KWS 매개변수로 설정해야 합니다.
- 0은 완전 투명을, 1은 완전 불투명을 의미합니다. alpha를 1/20으로 설정하겠습니다.
sb.regplot(data = fuel_econ, x='year', y='comb', x_jitter = 0.3,
scatter_kws = {'alpha':1/20});
- 이제 점의 추세가 좀 더 잘 파악됩니다.
- 어두운 영역은 투명 점들의 중첩의 결과이며 이러한 영역은 수년동안 값이 조금만 상승됩니다.
- 여기서 회귀선은 조금도 변경되지 않았습니다.
- 즉, 지터링와 투명도는 회귀선 기본 값에 영향을 미치지 않음을 알 수 있습니다.
728x90
반응형
'코딩공부 > Data analysis' 카테고리의 다른 글
(데이터분석) seaborn으로 Violin plot(바이올린 플롯) 나타내기 (0) | 2024.05.27 |
---|---|
(데이터분석) matplotlib으로 heatmap(히트맵) 작성하기 (0) | 2024.05.27 |
(데이터분석) 산점도(scatterplots) 개념 및 matplotlib, seaborn으로 그리기 (0) | 2024.05.26 |
(데이터 분석) seaborn, matplotlib에서 축의 scale(척도) 변환하기 (0) | 2024.05.25 |
(데이터분석) seaborn, matplotlib으로 axis(축) 범위 변경 (0) | 2024.05.25 |