AI 부트캠프 | Week 6-2) (#matplotlib, #seaborn)

Gomcha ·2023년 8월 27일
0

FC AI 6기 부트캠프

목록 보기
8/13
post-thumbnail

1. matplotlib

01 matplotlib 설정

01-1) 숫자 입력

  • 한개의 숫자 리스트 입력
    - 한 개의 숫자 리스트 형태로 값을 입력하면, y값으로 인식
    - x 값은 기본적으로 [0,1,2,3]으로 설정
    - 파이썬 튜플, 넘파이 배열 형태도 가능
  • 두 개의 숫자 리스트 입력
    - 두 개의 숫자 리스트 형태로 값을 입력하면 순서대로 x, y 값으로 인식
    - 순서쌍(x,y)로 매칭된 값을 좌표평면 위에 그래프 시각화

01-2) 축 레이블, 범례 설정

  • xlabel() 함수 사용하여 그래프 x 축 레이블 표시
  • ylabel() 함수 사용하여 그래프 y 축 레이블 표시
  • legend() 함수 사용하여 범례표시
  • plot() 함수에 label 파라미터 값 삽입

01-3) 축 범위 설정

  • xlim() : X축이 표시되는 범위 지정 [xmin, xmax]
  • ylim() : Y축이 표시되는 범위 지정 [ymin, ymax]
  • axis() : X, Y축이 표시되는 범위 지정 [xmin, xmax, ymin, ymax]

01-4) 타이틀 설정

  • title() 함수
  • loc 파라미터 : {'left','center','right'}

01-5) 기타 설정

  • 선 종류 : plot() 함수
    - 포맷 문자열 사용하여, linestyle 파라미터 값으로 사용
  • 마커 설정 : plot() 함수
    - 포맷 문자열 사용하여, marker 파라미터 값으로 사용
  • 색상 설정 : plot() 함수
    - 포맷 문자열 사용하여, color 파라미터 값으로 사용
  • 눈금 표시 : xticks(), yticks() 각각 X축, Y축에 눈금 설정 -> label 파라미터 지정

02 matplotlib 그래프

02-1) 막대 그래프

  • bar() 함수 : 막대그래프 시각화
    - [파라미터] : color(색상), width(폭)

02-2) 산점도

  • scatter() 함수 : 산점도
    - [파라미터] : color(색), size(마커 크기)

03-3) 다양한 그래프 종류

  • matplotlib.pyplot.bar( ) : 막대 그래프
  • matplotlib.pyplot.barh( ) : 수평 막대 그래프
  • matplotlib.pyplot.scatter( ) : 산점도
  • matplotlib.pyplot.hist( ) : 히스토그램
  • matplotlib.pyplot.errorbar( ) : 에러바
  • matplotlib.pyplot.pie( ) : 파이 차트
  • matplotlib.pyplot.matshow( ) : 히트맵

03-4) 여러 개 그래프 시각화

  • subplot() 함수 : 영역을 나눠 여러 개의 그래프 시각화
    - plt.subplot(row, column, index)
    - tight_layout() 함수는 모서리와 서브플롯의 모서리 사이의 여백(padding)을 설정

2. seaborn

01 다양한 그래프

01-1) 선형 회귀선 산점도

  • regplot() 함수 : 선형 회귀선이 있는 산점도
    • x축 변수
    • y축 변수
    • 데이터 셋
    • axe 객체
    • fit_reg : 선형회귀선 표시 여부
  • 선형 회귀선
    • 간단한 선형 데이터 집합에 사용되는 가장 적합한 직선(= 추세선)
    • 데이터를 시간 축으로 봤을 때, 데이터의 값이 장기적으로 어떻게 변하는지 직선으로 표현한 것

01-2) 히스토그램, 커널 밀도 그래프

  • distplot( ) 함수 : 히스토그램과 커널 밀도 그래프
    • 분포를 그릴 데이터 변수
    • hist : True는 히스토그램 표시, False는 히스토그램 표시 안 함
    • kde : True는 커널 밀도 그래프 표시, False는 커널 밀도 그래프 표시 안 함
    • axe 객체
  • histplot( ) 함수 : 히스토그램(하나의 변수 데이터의 분포를 확인할 때 사용하는 함수)
  • kdeplot( ) 함수 : 커널 밀도 그래프(그래프와 x축 사이의 면적이 1이 되도록 그리는 밀도 함수)

01-3) 범주형 데이터 산점도

  • stripplot( ) 함수 : 데이터 포인트가 중복되어 범주별 분포를 시각화
    • x축 변수
    • y축 변수
    • 데이터 셋
    • axe 객체
    • hue : 특정 열 데이터로 색상을 구분하여 출력
  • swarmplot( ) 함수 : 데이터의 분산까지 고려하여 데이터 포인트가 서로 중복되지 않도록 시각화. 즉, 데이터가 퍼져 있는 정도를 입체적으로 파악 가능
    • x축 변수
    • y축 변수
    • 데이터 셋
    • axe 객체
    • hue : 특정 열 데이터로 색상을 구분하여 출력

01-4) 빈도 그래프

  • countplot( ) 함수 : 각 범주에 속하는 데이터의 개수를 막대 그래프 시각화
    • x축 변수
    • palette
    • 데이터 셋
    • axe 객체
    • hue : 특정 열 데이터로 색상을 구분하여 출력

01-5) 기타 그래프

  • box plot

    • 데이터의 각 종류별로 사분위 수(quantile)를 표시하는 plot
    • 특정 데이터의 전체적인 분포를 확인하기 좋은 시각화 기법
    • box와 전체 range의 그림을 통해 outlier를 찾기 쉬움 (IQR : Inter-Quantile Range)
  • lineplot

    • 특정 데이터를 x, y로 표시하여 관계를 확인할 수 있는 plot (선 그래프)
    • 수치형 지표들 간의 경향을 파악할 때 많이 사용
  • pairplot

    • 주어진 데이터의 각 feature들 사이의 관계를 표시하는 Plot
    • scatterplot, FacetGrid, kdeplot을 이용하여 feature간의 관계를 잘 보여줌
    • 각 feature에 대해 계산된 모든 결과를 보여주기 때문에, feature가 많은 경우 사용하기 적합하지 않음
  • heatmap

    • 정사각형 그림에 데이터에 대한 정도 차이를 색 차이로 보여주는 plot
    • 말 그대로 heatmap이기 때문에, 열화상카메라로 사물을 찍은 것처럼 정보의 차이를 보여줌
    • pairplot과 비슷하게 feature간 관계를 시각화할 때 많이 사용
      상관관계 : 어떤 X값의 변화에 따라 Y값이 선형적으로 변화하는지 측정한 지표
profile
공부하는 데이터 분석가 👩‍💻

0개의 댓글