본문 바로가기
Study history/ADP 실기 합격 기록

ADP) 1-3-1. 탐색적 자료 분석: 요약, 기술통계 (평균, 표준편차, 중위수, 사분위수, 변동계수, 최빈값, 그래프, 왜도, 첨도), 줄기잎그림, 도넛차트, 히스토그램, 상자수염 그림

by 성실한 나무 2021. 12. 1.

파이썬으로 탐색적 자료 분석 (EDA) 하기

 탐색적 분석은 다양한 차원과 값을 조합해가며 특이점이나 유의미한 사실을 도출하고 분석의 최종 목적을 달성해가는 과정으로서 데이터의 특징과 내재하는 구조적 관계를 알아내기 위한 기법들의 통칭이다. 프린스톤 대학의 Tukey 교수가 1977년 저서를 발표함으로써 EDA가 등장한다.

 EDA의 4가지 주제는 저항성의 강조, 잔차계산, 자료변수의 재표현, 그래프를 통한 현시성이다. EDA는 데이터이해 단계에서 변수의 분포와 특성을 파악하고, 변수 생성 단계에서 분석목적에 맞는 주요한 요약 및 파생변수 생성하며, 변수 선택 단계에서 목적변수에 의미있는 후보 변수를 선택하기 위해 활용된다.

 

기술 통계 (Descriptive statisctics)

 모집단으로부터 표본을 추출하고 표본이 가지고 있는 정보를 쉽게 파악할 수 있도록 데이터를 정리하거나 요약하기 위해 하나의 숫자 또는 그래프의 형태로 표현하는 절차이다. 즉, 자료의 특성을 표, 그림, 통계량 등을 사용하여 쉽게 파악할 수 있도록 정리, 요약하는 것이다. 데이터 분석에 앞서 데이터의 대략적인 통계적 수치를 계산해봄으로써 데이터에 대한 대략적인 이해와 앞으로 분석에 대한 통찰력을 얻기에 유리하다.

  • df.head(3): 불러온 데이터의 앞 3개의 행을 조회할 수 있다. head 대신 tail 함수를 쓰면 뒤에서 3개의 행을 조회한다.
  • df.info(): 전체 Column명과 각 Column의 결측치가 아닌 셀의 개수, 데이터 타입을 확인할 수 있다.
  • df.shape: (행, 열)의 개수를 확인할 수 있다.
  • df.columns: 전체 Column명을 리스트로 받아올 수 있다.
  • df.describe(): "수치형" 데이터의 기초통계량(데이터의 총 개수, 평균, 표준편차, 최소값, 1사분위수, 중위수, 3사분위수, 최대값)을 확인할 수 있다.
  • df.value_counts(): "범주형" 데이터의 각 범주에 대한 빈도를 셀 수 있다. 필요 시, reset_index().sort_values(by='기준열', ascending=True/False)로 빈도의 내림차순, 오름차순으로 정렬하여 최빈값을 확인한다.
  • 분산(variance): np.var(배열)
  • 표준편차(standard deviation): np.std(배열)
  • 사분위수(quantile): np.quantile(배열, 백분위수)
  • 변동계수 (coefficient of variation, CV): 표준편차를 산술 평균으로 나눈 것. 상대표준편차(relative standard deviation, RSD)라고도 함. 측정단위가 서로 다른 자료를 비교하고자 할 때 쓰임. 표준편차는 서로 다른 평균값을 가지는 샘플들의 비교 시에는 적합하지 않기 때문에 나옴.

파이썬으로 탐색적 분석하기 (기초통계량 확인)

 

탐색적 자료 분석을 위한 그래프: 히스토그램(+왜도, 첨도), 상자그림, 줄기잎그림, 도넛차트

  • 히스토그램: seaborn 패키지의 histplot함수를 활용하면 파라미터 kde=True를 함으로써 가우시안 커널 덴시티 선도 그래프에 나타낼 수 있다.
  • 첨도, 왜도: 정규분포의 왜도는 0이고 왜도가 양수이면 오른쪽 긴꼬리, 왜도가 음수이면 왼쪽 긴꼬리의 형태로 나타난다. scipy패키지에서 skew, kurtosis 함수로 첨도와 왜도를 구할 수 있다.
  • 상자그림: 데이터의 분포와 이상치를 확인할 수 있다. matplotlib 패키지에서 boxplot 함수로 그래프를 그릴 수 있다.
  •  줄기잎그림: 데이터의 분포를 확인할 수 있다. stemgraphic 패키지에서 stem_graphic 함수로 그래프를 그릴 수 있다.
  • 도넛차트: 데이터의 분포를 확인할 수 있다. matplotlib 패키지에서 pie 함수로 그래프를 그릴 수 있다. 

히스토그램(+왜도, 첨도), 상자그림, 줄기잎그림, 도넛차트

 

 

 


 

윤종식, ADP 데이터 분석 전문가 (부산: (주)데이터에듀, 2021)

윤종식, ADsP 데이터 분석 준전문가 (부산: (주)데이터에듀, 2021)

댓글