🧠 공부

결측치 통계 쉽게 확인하기! python missingno 패키지로 결측치 시각화 하기(nullity correlation, null count)

소리331 2024. 4. 27. 17:39
반응형

데이터 칼럼이 큰데, 단순히 df.isna().sum()으로 확인하는 것은 너무 복잡할 뿐이다. 게다가 칼럼별 결측치 뿐만 아니라, 행으로도 봐야 하지않겠는가?

이럴 때 missingno가 유용하다!!

import matplotlib.pyplot as plt
import missingno as msno

msno.matrix(df_train)
plt.show()

실행결과는 아래와 같다. 

ㅠㅠ 너무 간편하고 좋다!! 물론 당연히 칼럼별로도 할 수 있다!

msno.bar(df_train)
plt.show()

 

heatmap 함수와 dendrogram함수를 사용하면 결측간의 상관관계를 의미하는 nullity correlation을 확인할 수 있다.  

msno.heatmap(collisions)
msno.dendrogram(collisions)

nullity correlation 결과는 아래와 같이 해석하면 된다!

  • 양의 상관관계: 하나의 변수에서 값이 누락될 때 다른 변수에서도 값이 누락될 가능성이 높다는 것
  • 음의 상관관계: 하나의 변수에서 값이 누락될 때 다른 변수에서는 값이 누락될 가능성이 낮다는 것
  • 0에 가까움: 두 변수 간에 결측값의 유무가 서로 독립적이라는 것

아래 이미지에서 보면 1도 있고, <1도 있는데, 1은 perfectly correlated 되었다고 보면 되고, <1은 perfectly에 완전 가깝다고 보면 된다!

 

 

 

public github은 아래 링크를 방문해보시길!

https://github.com/ResidentMario/missingno

반응형