(2-3) Scatter Plot 사용하기
210815
Last updated
Was this helpful?
210815
Last updated
Was this helpful?
점을 사양하여 두 feature간의 관계를 알기 위해 사용하는 그래프이다. 산점도 등의 이름으로 사용되며 .scatter()
를 사용한다.
다양한 variation이 사용가능하며 요소를 한개씩 추가할 때마다 차원을 하나씩 확장할 수 있다. 요소에는 다음과 같은 것들이 있다
색
모양
크기
Scatter Plot의 목적은 상관 관계 확인에 있다.
정비레 : Positive Correlation
반비례 : Negative Correlation
관계 없음 : No Correlation
또, 다음과 같은 특징을 확인할 수 있다.
군집, Cluster : 데이터가 얼마나 묶여있는가
차이, Gap : 데이터 사이의 값 차이가 있어서 보간이나 전처리가 필요하다고 피드백을 할 수 있다
이상치 : 특정 분포를 따르지 않고 예외적으로 너무 크거나 작은 값
데이터 하나당 점 하나로 표현하게 되는데, 데이터가 많을 수록 분포를 파악히가기 어렵게 된다. 점이 겹치고, 그러면서 점의 테두리같은 것이 오해의 여지를 줄 수 있기 때문이다.
그래서 다음과 같은 테크닉을 사용할 수 있다
투명도 조정
점을 연하게 표현하고, 겹치는 점이 있다면 진하게 표현해서 밀도가 높고 낮음을 알수 있다
지터링
점이 겹치면 점의 위치를 변경하는 것. 다른 좋은 방법이 많기 때문에 잘 사용하지는 않는다
2차원 히스토그램
x축과 y축의 구간을 나누어서 히트맵으로 제공한다. 투명도 조정보다 깔끔한 모습이 제공가능하다.
투명도 조정과 같이 사용하면 더 좋다
Contour plot
등고선 그래프이며 좁을 수록 데이터의 밀도가 높다.
색
연속 데이터는 gradient로 이산 데이터는 개별 색상으로 표현한다
구별하기가 매우 쉽다
마커
점이 많아지면 구별이 매우 힘들다
또한 모양이 다르므로 동일한 값인데도 다른 크기를 가진다
크기
크기가 다른 차트를 버블 차트라고 부른다
구별하기는 쉽지만 오용하기가 쉽다
100이라는 점과 300이라는 점의 크기가 3배 차이가 나지 않기 때문
비율에 초점을 두고 보기에는 좋다
인과관계가 있다면 항상 사전 정보와 함께 가정으로 제시해야 한다.
반면 상관관계가 있다고 인과관계가 항상 있는것은 아니다. 상관관계는 히트맵으로 표현할 수 있다
추세선을 사용하면 scatter의 패턴을 유추할 수 있다
2개 이상의 선은 가독성이 떨어지므로 주의해야한다
Grid
되도록 지양하고 사용한다면 최소한으로 사용하고 색은 무채색으로 하면 좋다.
scatter()
색 (color)
모양 (marker)
크기 (size)
이론적인 부분은 다른 라이브러리를 사용하는 것이 더 편리 (통계와 차트 seaborn에서 더 상세)
상관관계와 봐야하는 것 3가지(클러스터, 값의 차이, 이상치)
어떻게 커스텀할 수 있는지
Id
SepalLengthCm
SepalWidthCm
PetalLengthCm
PetalWidthCm
Species
0
1
5.1
3.5
1.4
0.2
Iris-setosa
1
2
4.9
3.0
1.4
0.2
Iris-setosa
2
3
4.7
3.2
1.3
0.2
Iris-setosa
3
4
4.6
3.1
1.5
0.2
Iris-setosa
4
5
5.0
3.6
1.4
0.2
Iris-setosa
Id
SepalLengthCm
SepalWidthCm
PetalLengthCm
PetalWidthCm
Species
count
150.000000
150.000000
150.000000
150.000000
150.000000
150
unique
NaN
NaN
NaN
NaN
NaN
3
top
NaN
NaN
NaN
NaN
NaN
Iris-versicolor
freq
NaN
NaN
NaN
NaN
NaN
50
mean
75.500000
5.843333
3.054000
3.758667
1.198667
NaN
std
43.445368
0.828066
0.433594
1.764420
0.763161
NaN
min
1.000000
4.300000
2.000000
1.000000
0.100000
NaN
25%
38.250000
5.100000
2.800000
1.600000
0.300000
NaN
50%
75.500000
5.800000
3.000000
4.350000
1.300000
NaN
75%
112.750000
6.400000
3.300000
5.100000
1.800000
NaN
max
150.000000
7.900000
4.400000
6.900000
2.500000
NaN
꽃받침의 길이와 너비의 관계를 살피기 위해 산점도를 그려봅시다.
양의 상관관계가 있을 줄 알았지만 딱히 그런 모습은 보이지 않는다
특정 조건에 따라 색을 다르게 하면 주의를 더 줄 수 있습니다.
이제 꽃의 종류에 따라 구분하여 그려보겠습니다.
색을 위와 같이 반복문과 조건문으로 구분할 수도 있지만 범례를 사용할 예정이므로 세 번 나눠그리는 편이 더 편합니다.
각각의 꽃이 꽃받침의 너비와 길이가 상관관계를 가짐을 알 수 있다.
꽃잎을 기준으로 보니까 클러스터가 있는 것을 관찰할 수 있다
시각적인 주의를 주기 위해서 선을 사용할 수도 있습니다. (3차트의 요소-4moreinfo)
좀 더 다양한 관점에서 보기 위해 다음과 같이 그려보겠습니다. (3장 차트의 요소 Facet 참고)
나머지 구현 방법(2d hist와 contour plot)은 4.통계와 차트 relation에서 더 자세하게 다루도록 하겠습니다.
을 사용하여 시각화해봅시다.