Seaborn

SOO·2022년 12월 22일
0

파이썬

목록 보기
7/7
post-thumbnail

한글설정 및 마이너스 부호 설정

import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib import rc
plt.rcParams["axes.unicode_minus"] = False  
rc("font", family = "Malgun Gothic")

마이너스 부호로 인해 오류가 발생할 수 있으니, 이 코드를 미리 작성해 오류를 예방한다.
matplotlib 사용 시 한글이 깨지기 때문에 한글설정을 먼저 해준다.
한글설정의 경우 OS마다 다르다. 위 코드는 윈도우에서 실행 가능하다.




1. boxplot

  • 전체 데이터의 분포를 상자모양으로 보여준다.

Data

  • seaborn에 들어있는 tips데이터

sns.boxplot(x)


x값만 입력해도 그래프를 그릴 수 있다.

sns.boxplot(data, x, y)


원하는 x, y값이 따로 있다면 직접 지정하는것도 가능하다.

  • hue : 카테고리 데이터를 표현하는 옵션
  • palette : 카테고리 데이터의 색상






2.swarmplot

  • 산점도 그래프

sns.swarmplot(data, x, y, color)


color 는 색상 변경 옵션으로 0이 검정색, 1이 흰색이며, 0과 1 사이의 값만 가능하고 문자형으로 입력해야 한다.



boxplot과 함께 그리면 좀 더 이해하기 쉽다.







3. lmplot

  • 변수 간 상관관계를 찾기 용이
  • 산점도 & 회귀선 그래프

Data

  • anscombe 데이터
  • dataset컬럼에는 문자, x, y컬럼에는 실수 데이터가 들어있다

sns.lmplot(data, x, y)

height는 그래프의 크기를 결정하는 옵션이다.

신뢰구간 설정


ci 는 신뢰구간을 설정하는 파라미터다. 기본은 95이고, 원하지 않으면 None을 입력하면 된다.


점 사이즈 변경


scatter_kws 파라미터로 점 사이즈를 변경할 수 있다.


그래프의 차수 설정

order로 회귀선의 차수를 설정할 수 있다.
왼쪽 그래프는 order값으로 1을 지정해 1차함수를 그렸고, 오른쪽 그래프는 order값으로 2를 지정해 2차 함수를 그렸다.

이상점 처리

robust=True 로 설정하면 이상점을 무시하고 회귀선을 그려준다.







4.heatmap

  • 전체 경향을 파악하기 쉬운 그래프

Data

sns.heatmap(data, annot, fmt, cmap)

  • annot: 그래프 위에 데이터 값 표시 여부(True/False)
  • fmt: 데이터 값 표시 시 표현 형식(d:정수형, f:실수형)
  • cmap: 색상 지정
f = flights.pivot(index'month', columns='year', values='passengers')
plt.figure(figsize=(10,8))
sns.heatmap(data=f, annot=True, fmt='d')
plt.show()


cmap 으로 사용하는 색상을 임의로 지정할수 있다. 다른 색상은 구글링 하면 많이 나온다.







5. pairplot

  • 여러 컬럼의 상관관계 그래프

Data

  • iris 데이터

sns.pairplot( )

sns.pairplot(iris)
plt.show()


업로드중..

당연히 원하는 컬럼만 사용하여 상관관계를 알아보는것도 가능하다.







# 6. KDE plot - KDE; Kernel Density Estimation - PDF 그래프 ### Data - 키&몸무게 데이터 ![](https://velog.velcdn.com/images/gktnals108/post/d4d6559f-6246-4b3b-94ad-4414a07d0036/image.png)

sns.kdeplot()


이런 울퉁불퉁한 분포 그래프를



이렇게 완만한 곡선 그래프로 그려준다.



bw_method 옵션을 설정하면 곡선의 완만함을 설정할 수 있다.

KDE그래프는 주어진 데이터에서 추측하여 PDF그래프를 그려주는것이기 때문에 bw_method 옵션을 너무 크게 잡으면 주어진 데이터와 맞지 않는 PDF그래프가 나올수도 있기 때문에 조심해야 한다!!


변수를 2개 입력하면 두 변수간 상관관계 & 각 변수의 분포 를 한번에 확인할수 있다.







7. dist plot

  • histogram위에 kde plot을 함께 출력

sns.distplot()


근데 앞으로 사라질 예정...displot이나 histplot으로 histogram을 그리고 그 위에 kdeplot으로 곡선을 그려야 할듯







8. violinplot

  • kde plot을 데칼코마니처럼 양옆으로 대칭시킴

sns.violinplot()







9. catplot

  • 카테고리별 시각화

Data

노트북 data.
컬럼: 'brand', 'model', 'ram', 'hd_type', 'hd_size', 'screen_size', 'price','processor_brand', 'processor_model', 'clock_speed','graphic_card_brand', 'graphic_card_size', 'os', 'weight', 'comments'


sns.catplot(data, x, y, kind)

  • kind 에 그래프 종류를 설정해 원하는 그래프로 카테고리별 그래프를 그려서 비교할 수 있음

  • 각 데이터의 개수를 모르는 경우에는 kind='strip'를 사용하면 좋다.

  • hue 옵션을 따로 설정해주는것도 가능!

  • 점들이 겹쳐 보이는게 싫다면 kind='swarm' 로 해보자.
profile
데이터 분석으로 세상을 읽어보쟈 빠샤

0개의 댓글