Seaborn을 가지고 놀다 보면, 꽤 재미있다는 것과 함께 이런 기능이 없을까?하고 생각하면 꼭 있다는 것을 알게됩니다.^^. 오늘은 lmplot과 kdeplot, distplot을 이야기할건데요. 간단하게 상관관계를 바로 확인할 수 있는 어마어마한 기능을 바로 보실 수 있습니다.^^
- Seaborn
- [Seaborn 연재] heatmap 사용하기
지난번에도 했던, 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축 상에 데이터의 밀도를 표현할 수 있구요^^
색상에 대한 옵션도 역시 가능하네요~~~^^
'Software > Python' 카테고리의 다른 글
[Seaborn 연재] lmplot을 이용하여 회귀판단하기, 혹은 curve fitting하기 (10) | 2017.01.27 |
---|---|
[Seaborn 연재] pairplot, jointplot, tsplot 익히기 (4) | 2017.01.25 |
[Seaborn 연재] heatmap 사용하기 (2) | 2017.01.20 |
[Seaborn 연재] set_style과 boxplot, swarmplot (4) | 2017.01.18 |
Pandas pivot_table과 groupby, cut 사용하기 (6) | 2017.01.04 |
MATPLOTLIB 응용 이쁜~ 그래프들~^^ (14) | 2017.01.03 |
MATPLOTLIB 히스토그램과 박스플롯 Boxplot (16) | 2016.12.30 |