본문으로 바로가기

[Seaborn 연재] lmplot과 kdeplot, distplot

category Software/Python 2017.01.19 08:00

Seaborn을 가지고 놀다 보면, 꽤 재미있다는 것과 함께 이런 기능이 없을까?하고 생각하면 꼭 있다는 것을 알게됩니다.^^. 오늘은 lmplot과 kdeplot, distplot을 이야기할건데요. 간단하게 상관관계를 바로 확인할 수 있는 어마어마한 기능을 바로 보실 수 있습니다.^^

지난번에도 했던, tips 데이터를 불러오구요^^

lmplot을 사용하면 상관관계를 바로 알 수 있습니다.

특히 hue를 이용해서 흡연 유무로 구분지어 그 각각에 대한 상관관계를 확인해볼 수 있습니다. 뭐 혹은 회귀(regression)이라고 해도 되겠죠^^

아. marker를 지정할 수 있구요^^

Set1이라는 파렛트를 통해 위와 같은 색감을 가질 수 있습니다.

아예, green와 magenta의 느낌으로 직접 색상을 지정할 수 있습니다.

혹은 col 옵션으로 두 그래프로 분리할 수 있구요....

이번에는 numpy의 random.multivariate_normal이라는 함수를 사용해서 공분산행렬을 이용해서 랜덤변수를 두 개 생성할 수 있습니다.

위 그림을 잠시 보면, 평균은 변수 전체가 bias되는 것을 의미하고, 공분산행렬이 의미하는 것은 상관관계의 정도라고 생각해도 되겠습니다.

아무런~ 의미가 없어 보이는 두 변수이지만...

각각의 kdeplot을 그려보면 뭐 또 아무의미 없어 보이나요^^

그러나 두 변수를 같이 그려보면, 편균이 각각 0과 2쯤 위치해 있고, 양의 상관관계를 가지는 듯 보입니다.애초 0.5를 지정했기 때문에 당연한 이야기겠죠. kdeplot은 kernel density estimation의 약자입니다. 확률 밀도를 추정하는 것으로 일종의 discrete되어 있는 변수를 continuous하게 만들어주는 것으로 이해할 수 있을 것 같습니다.

shade 옵션을 사용하면 위 그림처럼 됩니다.

distplot은 히스토그램과 kdeplot을 같이 그려주는 것입니다.

pandas 데이터 형에서 바로 그릴 수 있습니다.

rug 옵션으로 x축 상에 데이터의 밀도를 표현할 수 있구요^^

색상에 대한 옵션도 역시 가능하네요~~~^^

신고