본문 바로가기
데이터 분석

[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 17일차

by HIMMEL95 2021. 4. 6.
  • 수강한 강의
    : Ch02.seaborn - 07. distplot, hist / Ch02.seaborn - 08. heatmap / Ch02.seaborn - 09. pairplot / Ch02.seaborn - 10. violinplot / Ch02.seaborn - 11. lmplot / Ch02.seaborn - 12. relplot / Ch02.seaborn - 13. jointplot

오늘은 Seaborn에서 사용하는 그래프의 종류와 작성 방법에 관하여 작성해보겠습니다.

 

  • Ch02.seaborn - 07. distplot, hist
    • distplot : 데이터 분포 및 밀도를 알아보고 싶을 때 사용
    • 기본 distplot
    • distplot은 출력하고자 하는 데이터의 분포가 어떻게 되어 있는지 확인하고자 할 때 히스토그램과 라인 그래프 형식으로 그래프를 출력해주는 함수이다.
  •  
    • Series에 name 값 추가한 것
    • 다음 사진과 위 사진을 비교해서 보게 되면, 같은 그래프이긴 하지만 다른 점이 존재하게 된다. 그것은 바로 아래 사진에 있는 x축에 x variable 라는 문구가 존재 한다는 것이다. 이 문구는 위 사진에서는 작성이 되지 않아서 존재하지 않는 것이지만, 아래 사진에서는 Series() 함수에 name="x variable" 이라는 옵션 값을 부여하게 되면 x축에 해당 값이 추가되어 작성되는것을 확인할 수 있다.
    • rugplot
    • rugplot은 x축 위에 작은 선분(rug)으로 나타내어 데이터들의 위치 및 분포를 보여준다.
    • rugplot은 사진과 위에 글로 설명되어 있긴하지만, rugplot은 히스토그램은 x축의 작은 선분으로 나태내어 데이터의 위치 및 분포를 보여주고, 라인 그래프는 그대로 출력되는 것을 확인할 수 있다.
    • kde=True 옵션은 histogram보다 부드러운 형태의 분포 곡선으로 보여주는 방법이다.
    • kde 옵션은 distplot에서 히스토그램은 제외하고, 부드러운 형태의 분포 곡선을 라인으로 그려주는 옵션이다.
    • vertical = True 옵션을 추가하게 되면 그래프가 가로로 표현되게 된다.
    • color='y' 옵션을 추가하여 작성을 하게 되면 그래프의 전체적인 색이 설정한 값의 색상으로 변경되어 출력되게 된다.
  • Ch02.seaborn - 08. heatmap
    heatmap 설명
    • heatmap에 관하여 자세한 설명이 적혀있는 사이트이다.
    • heatmap은 pivot을 시각화할 때, 데이터의 상관관계를 볼 때 많이 사용한다.
    • 우선 기본적인 heatmap 그래프이다.
    • 다음 사진에서 annot=True라는 옵션이 있다. 이 옵션은 heatmap 그래프에 숫자값을 표현해 주는 옵션이다. 해당 옵션을 지우고 나서 코드를 실행하게 되면 기본적인 그래프는 같지만, 다르게 표현되는 부분은 각 영역에 숫자가 나타나있는지, 없는지 차이이다.
    • 다음은 pivot형태를 활용해서 heatmap을 작성한 것이다.
    • 우선 앞선 블로그에서 설명했던 tips 데이터를 활용하여 pivot table을 생성하고, 생성된 pivot_table을 활용하여 heatmap을 작성해 보겠습니다.
    • 위 사진이 앞선 블로그에서 설명한 tips data_set이다. 이 data_set을 활용하여 pivot_table을 만들게 되면 아래와 같은 형태로 작성된 것을 확인할 수 있다. 이제 이 피벗테이블을 활용하여 heatmap을 작성해 보도록 하겠습니다.
    • 위 피벗 테이블을 활용하여 작성된 heatmap 그래프이다.
    • heatmap의 옵션을 확인해 보면, 우선 위에서 지정한 변수 pivot을 넣고 그 다음에는 cmap옵션으로 heatmap의 전체적인 색상을 정하고, annot 옵션으로 heatmap 그래프에 숫자값을 표시해주게 된다.
    • 그리고 그 다음은 데이터의 상관관계를 활용하여 heatmap을 작성하는 방법이다.
    • 요번에는 tips data_set이 아니라 titanic data_set을 활용하여 각 컬럼의 상관관계를 먼저 구한 다음에 구해진 값으로 heatmap을 작성해볼 것이다.
    • 다음 사진의 위 부분을 보게 되면 titanic data_set의 상관관계를 확인할 수 있다.
      titanic.corr()
    • 다음 코드를 사용하면 내가 알아보고 싶은 데이터 컬럼의 상관관계를 확인할 수 있게 된다. 다음의 상관관계 데이터를 이제 sns.heatmap()함수에 넣고, annot 옵션과 cmap 옵션을 추가하여 작성을 하게 되면 사진의 밑부분과 동일하게 heatmap 그래프가 작성되는 것을 확인할 수 있게 된다.
    • 그리고 다음의 그래프를 통해서 알 수 있는 정보는 맨 첫 행의 survivedadult_male의 상관관계를 확인하게 되면 음의 상관관계인 것을 확인할 수 있다. 음의 상관관계의 값으로 다음의 값이 나왔다는 것은 성인 남성의 생존률이 낮다라는 것을 의미하게 된다. 이러하듯이 이러한 heatmap 그래프를 통해서 각 컬럼의 상관관계를 확인해 볼 수 있게 된다.
  • Ch02.seaborn - 09. pairplot
    • pairplot은 수치에 해당하는 그래프를 전반적으로 그려준다. 그리고 관계 그래프를 확인할 수 있고, 전반적인 상태를 확인할 수 있어 처음 데이터를 확인할 때 전체를 파악하기 좋다.
    • 우선 기본 pairplot을 확인해 보자

    • 요번에는 tips data_set을 사용하여 pairplot을 나타낸 것을 확인할 수 있다. x과 y에 같은 컬럼 값에 대해서는 barplot으로 그래프 값이 출력된 것을 확인할 수 있지만, 그 외의 관계에서는 scatterplot으로 그래프가 출력된 것을 확인할 수 있다.
    • pairplot에서 hue 옵션을 주게 되면 hue 옵션의 값에 따라서 그래프에서 색을 나눠서 출력이 되는 것을 확인할 수 있다.
    • palette 옵션을 추가하게 되면, palette 속성 값으로 그래프의 색이 변경된 것을 확인할 수 있다.
    • 여기에 height 옵션을 추가하여 그래프를 작성을 하게 되면, 그래프의 전체적인 크기가 내가 설정한 값에 따라 변경되는 것을 알 수 있다.
    • 다음 사진에서는 height=8 이라는 값을 추가하면서 위에 표시된 사진과 그래프의 전체적인 사이즈가 다른 것을 확인할 수 있다.
  • Ch02.seaborn - 10. violinplot
    • violinplot은 그래프의 모양이 바이올린처럼 생긴 그래프이다.
    • violinplot은 column에 대한 데이터의 비교 분포도를 확인할 수 있다.
      • 곡선진 부분 (뚱뚱한 부분)은 데이터의 분포를 나타낸 것이다.
      • 양쪽 끝 뾰족한 부분은 데이터의 최소값과 최대값을 나타낸다.
    • 다음은 기본적인 violinplot이다.
    • tips data_set에서 total_bill의 컬럼 값에 대한 violinplot이다.
    • 다음은 X,Y 비교 분포도이다.
    • 요번 사진은 내가 설정한 x와 y축의 값을 data에 지정한 data_set에서 찾아서 비교한 그래프이다.
    • 이 그래프 역시 축을 변경하여 그래프를 출력할 수 있다.
    • 그리고 이 그래프에 hue 옵션을 추가하여 작성을 하게 되면 hue 설정값을 기준으로 x축과 y축을 비교하여 violinplot을 출력해주게 된다.
    • 마지막으로 split 옵션을 추가하게 되면, 위에서 추가된 hue 옵션상태에서 위에서 표현된 그래프를 반씩 붙여서 그래프를 출력해주게 된다.
  • Ch02.seaborn - 11. lmplot
    • lmplot으로 각 데이터셋의 분포와 회귀선을 나타내는 시각화 출력을 할 수 있다.
    • 다음이 기본 lmplot이다.
    • 사진을 보게 되면 중간에 회귀선이 존재하는 것을 볼 수 있다.
    • 여기에 hue 옵션을 추가하게 되면 hue 옵션 값에 따라서 회귀선을 여러개 그려서 그래프를 출력할 수 있다.
    • 사진을 보게 되면 hue 옵션의 값은 smoker라는 흡연자에 대한 값이다. 그래서 smoker라는 컬럼의 값에 존재하는 흡연자와 비흡연자의 값으로 회귀선이 그려진 것을 확인할 수 있다.
    • 마지막으로 col_wrap 옵션을 설정하게 되면 해당하는 column의 값에 대한 그래프를 지정한 값의 개수 만큼 그래프의 컬럼수를 지정하게 된다.
    • 다음 사진을 보게 되면, col_wrap의 값을 2로 설정하고, col 옵션의 값을 day라는 값으로 설정하여 그래프를 그리게 되는데 요일의 값으로 그래프의 타이틀이 정해진 그래프가 한 줄에 2개 출력된 것을 확인할 수 있다.
  • Ch02.seaborn - 12. relplot
    • relplot은 lmplot과 비슷하긴 하지만, 회귀선이 없다는 차이가 있게 된다.
    • tips 데이터셋을 활용하여 lmplot을 작성한 것이다.
    • 그래프를 보게 되면 scatterplot과 비슷한 그래프인 것을 확인할 수 있다. 작성 방식은 lmplot과 비슷하지만 최종 결과값은 scatterplot과 동일하다.
    • 다음 그래프도 내가 지정한 column 값에 따라서 그래프를 나눠서 출력할 수 있다.
    • 다음 그래프가 col='time' 으로 지정을 해주었기 때문에 그래프가 lunch와 dinner로 나눠서 출력된 것을 확인할 수 있다.
    • 그리고 row와 column에 표기할 데이터 column을 선택할 수 있다.
    • 사진의 옵션값은 hue="day"로 시간때 별로 나누게 되고, row='sex'로 행을 성별로 나누게 되고, col='time'으로 해서 열을 시간에 따라 그래프를 나눠게 된다.
    • 마지막은 그래프의 색상 변경하는 것이다.
    • 위 사진에 palette='CMRmap_r' 옵션 값을 추가하여 그래프의 색상을 변경한 것이다.
  • Ch02.seaborn - 13. jointplot
    • jointplot은 scatter와 histogram을 함께 표현해준 그래프이다.
    • 다음 사진이 기본적인 jointplot이다.
    • 여기에 kind=reg 옵션을 추가하게 되면, histogram 그래프에 lineplot을 추가하여 그래프를 표현할 수 있게 된다. 다음 사진이 kind=reg 옵션을 추가한 그래프이다.
    • jointplot에는 hex로 밀도 그래프를 만들어 표현할 수 있다.
    • 다음 그래프가 옵션으로 kind='hex' 값을 추가하여 작성한 그래프이다. 출력된 그래프를 보게 되면, scatter 부분이 hex형태 분포를 출력한 것을 확인할 수 있다.
    • 마지막으로 jointplot은 등고선 형태의 그래프로도 출력할 수 있다.
    • 다음 사진이 옵션 값에 kind='kde' 라는 값을 추가해주면서 scatter 그래프가 등고선 형태의 그래프로 출력된 것을 확인할 수 있게 된다.

이렇게 Seaborn에서 사용하는 그래프의 종류와 작성 방법에 관하여 작성해보았습니다.

  • 데이터 분석
  • 홈페이지에서 강의 찾는 방법
    패스트 캠퍼스 -> 온라인 -> 올인원 패키지 -> [데이터 분석 강의 보러 가기] -> 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online.

패스트 캠퍼스 - [데이터 사이언스] 직장인을 위한 파이썬 데이터 분석

https://bit.ly/2MJqrMs

댓글