Yet Never Lose Faith

- Good to Great , Jim Collins

How To Preprocess Image Data 자세히보기

Deep Learning/[Books] Do it! 정직하게 코딩하며 배우는 딥러닝 입문

[데이터 탐색] 데이터 탐색에 유용한 함수 2탄 - boxplot(), unique()

Kellyyyy 2020. 7. 16. 08:00

 

이번 포스팅에서는 데이터 탐색에 쓰이는 함수 2가지를 알아본다.

 

샘플 데이터 로드 

 

from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer()
cancer

위스콘신 유방암 데이터

 

사이킷 런에서 제공하는 위스콘신 유방암 데이터 세트를 사용했다. 유방암 데이터 세트에는 유방암 세포의 특징 10개에 대해 평균, 표준오차, 최대 이상치가 기록되어 있다. 또한 각 세포가 악성종양(1)인지 정상종양(0)인지에 대한 정보가 target 데이터에 담겨있다.

 

 

boxplot()

 

 

위스콘신 유방암 데이터 boxplot

 

# 박스플롯 그리기
import matplotlib.pyplot as plt
plt.boxplot(cancer.data)
plt.xlabel('feature')
plt.ylabel('value')
plt.show()

# 속성 이름 확인하기
cancer.feature_names[[3,13,23]]
# 결과 : array(['mean area', 'area error', 'worst area'], dtype='<U23')

박스플롯은 데이터 집합의 범위와 중앙값을 확인, 통계적 이상치를 확인하기 위해 사용한다. 위스콘신 유방암 데이터셋의 박스플롯을 보면 4,14,24번째 특성이 다른 특성보다 값의 분포가 훨씬 크다는 것을 알 수 있다. 어떤 특성인지 확인하고 싶다면 feature_names 속성을 이용하면 된다.  출력결과를 보니 모두 넓이와 관련된 특성이다. 이는 후에 데이터 분석하는 과정에서 좋은 정보로 쓰일 수 있다.

 

박스플롯이 좀 더 궁금하다면? ↓ 잘 설명해주신 블로거가 있어 링크를 걸어두었다.

 

unique()

 

import numpy as np
np.unique(cancer.target, return_counts=True)
# 결과 : (array([0, 1]), array([212, 357]))

유방암 데이터의 target은 유방암 세포가 양성인지 음성인지에 대한 정보를 담고있다. 그러므로 데이터는 모두 0 또는 1로 구성되어 있을 것이다. 실제로도 그런지 확인하기 위해 unique()를 사용한다. unique()는 고유한 값을 찾아 반환하는 함수이다. 이때, return_counts 매개변수를 True로 지정하면 고유한 값이 등장하는 횟수까지 리턴한다. 출력결과를 살펴보면, 왼쪽값은 cancer.target에 들어 있는 고유한 값 (0,1)을 의미한다. 즉, 0 이나 1이라는 값만 들어있다는 뜻이다. 오른쪽 값은 각 값이 몇개나 존재하는 지 횟수에 대한 정보이다. 212개의 정상종양(0)과 357개의 악성종양(1)이 있다.

 

데이터 탐색에 유용한 함수 1탄 보러가기! ↓