본문으로 바로가기

Box Plot의 기초

category Theory/DataScience 2021. 3. 24. 08:00

요즘 수업하면서 box plot의 기초에 대해 궁금해 하시는 분들이 많아서 이 부분만 다시 이야기하려고 블로그에 정리합니다. 데이터의 분포를 관찰하는 좋은 도구 중에 하나가 Box Plot입니다. 간단히 예를 보도록 하죠.

임의로 데이터를 만들어 두겠습니다. 그리고 그림을 그리기 위한 y값도 1로만 채워두겠습니다.

그려보면 위 그림처럼 되죠. 100 근처의 값들이 생뚱(^^)맞게 크게 잡혀있네요.

이제 numpy의 median 명령으로 중간값을 찾아보겠습니다. 45라는 값이 딱 중간 값인가 봅니다.

numpy의 percentile 명령을 이용하면 4분의1 (25%), 4분의3 (75%) 지점의 값들을 찾아보면 16과 48이라고 합니다.

그 값을 각각 q1, q3라고 하고 가운데 값은 q2라고 하겠습니다. 그리고 q3와 q1의 간격을 iqr이라고 이름붙입니다. iqr의 1.5배만큼 75%지점에서 큰 값을 upper_fence, iqr의 1.5배 값을 25% 지점보다 낮은 지즘을 lower_fence라고 합니다.

그리고 axvline이라는 수직선을 그리는 함수를 이용해서 그립니다.

저렇게 되는군요. 빨간선이 가운데값, 두 검은 선이 각각 1/4, 3/4 지점의 값, 그걸 각각 q1, q3라고 하고, 그 간격을 iqr이라고 하고 1.5배 이상 벌어진 값보다 큰값, 위 그림에서는 100 근처의 값 두 개가 outlier가 됩니다.

방금 했던 이야기를 정리하면 위 그림처럼 됩니다.

물론 간단하게 seaborn을 이용해서 boxplot을 쉽게 그릴 수 있습니다~~^^


댓글을 달아 주세요

  1. BlogIcon 드래곤포토 2021.03.25 11:20 신고

    box plot에 대해 알고갑니다

  2. BlogIcon 북두협객 2021.03.26 08:05

    포스팅을 보면 프로그램언어를 가지고 가지고 노는 듯한 느낌을 받아요. 완전 대단!

  3. BlogIcon 핑구야 날자 2021.03.30 06:38 신고

    다소 생소하지만 덕분에 잘 보고 갑니다 즐거운 하루 보내세요