zscore 이용한 이상치 탐색(2)

0

Python

목록 보기
8/8

0. 개요

zscore 이용한 이상치 탐색(1)에서 구한 outlier들을 이용하여 plot위에 나타내 준다.
방법은 간단하게 아래와 같다.

  1. plotly 함수를 사용해서 interact한 plot을 그린다.
  2. threshold를 변경시킴에 따라 어떠한 변화가 있는지 확인한다.
  3. 관찰한다.
  • plotly 가 matplotlib보다 나은 이유가 상호작용가능한 plot 이유 하나다. 이거 때문에 인사이트 도출하는데에도 너무 편하고, 자료 준비에 있어도 너무 훌륭하다.

1. 방법

  • 라이브러리는 plotly 중 express
import plotly.express as px

## outliers 는 이전의 글 zscore 이용한 이상치 탐색(1)에서 가져오면 된다.
threshold = 1 #or 2 or 3
outliers = np.abs(zscore(iris_df['sepal length (cm)'])) > threshold

fig = px.scatter(iris_df, y = 'sepal length (cm)', color = outliers
fig.show()

여기서 threshold 값을 2 혹은 3값을 움직이면 outlier로 처리된 빨간색의 양이 줄어드는 것을 볼 수 있다.

  • 아니면 histogram으로도 확인이 가능하다.
    (단, 이상치 부분이 어딘지 확인하는 방법은 scatter plot으로 확인하는 것이 좀 더 편하다.)
threshold = 1 # or 2 or 3
outliers = outliers

fig2 = px.histogram(iris_df['sepal length (cm)'], color = outliers, nbins = 30)
# nbins 값이 높아질 수록 나타나는 바의 양이 많아진다.

fig2.update_traces(marker_line_color = 'black', marker_line_width = 1)
# 바에 검은색 테두리 입히는 방법. 개인적으로 이게 좀더 깔끔해보여서 항상 histogram 그릴때마다 추가한다.
fig2.show()
profile
Good afternoon, Good evening and Good night

0개의 댓글