탐색적 분석
탐색적 분석
- 다양한 시각화, 통계 분석을 이용해 데이터의 패턴, 특성, 변수 간의 관계 파악 등 데이터를 종합적으로 이해하는 과정
- 그래프와 정보를 통합한 인포그래픽스 사용이 증가하는 추세임
자료 형태별 그래프
- 연속형 : 측정 도구로 측정하는 데이터
- 등간 척도 : 속성을 평가할 수 있는 균일한 간격을 두고 측정하는 척도, 절대 영점이 없음
- 비율 척도 : 절대 영점이 있는 등간 척도로 사칙 연산이 가능함
- 이산형 : 사람이 직접 셀 수 있는 데이터
- 명목형 : 이름뿐인 척도로 숫자로 표현되지만 수량적 의미를 갖지 않고 카테고리 구분을 위한 용도
- 순서형 : 관찰 대상이 지니는 속성에 따라 순위를 결정하는 척도
그래프 | Y | X | Z | 패키지 | 함수 |
Bar Chart | 범주형 | pandas | bar | ||
Histogram | 연속형 | pandas | hist | ||
Box Plot | 연속형 | 범주형 | pandas | boxplot | |
Pie Chart | 범주형 | pandas | pie | ||
Scatter Plot | 연속형 | 연속형 | seaborn | scatterplot | |
Scatter Matrix | 연속형 | 연속형 | seaborn | pairplot | |
Trend Chart | 연속형 | 시계열 날짜 | pandas | plot | |
Heatmap | 연속/범주형 | 연속/범주형 | 연속형 | seaborn | heatmap |
Contour Plot | 연속형 | 연속형 | 연속형 | seaborn | kdeplot |
Parallel Plot | 연속/범주형 | pandas | parallel_coordinateds |
사용 목적별 그래프
그래프 | 목적 | 자료 유형 |
Bar Chart | 범주형(항목별) 빈도 분석 | 범주형 |
Histogram | 구간별 분포 현황과 패턴 및 이상치 확인 | 연속형 |
Box Plot | 상자 수염도표를 이용한 분포 현황 및 이상치 확인 | 연속형 |
Pie Chart | 범주형(항목별) 빈도 비율 분석 | 범주형 |
Scatter Plot | 2개 연속형 변수 간의 분포, 패턴, 관계 및 이상치 확인 | 연속형 |
Scatter Matrix | 다수의 연속형 변수 간의 분포, 패턴, 관계 및 이상치 확인 | 연속형 |
Trend Chart | X축(시간 등) 변화에 따른 Y값의 변화, 추세 패턴 확인 | 연속형 |
Heatmap | 2축(X,Y)의 값(항목 또는 값) 조합별 Z값(목표값 등) 비교(색으로 비교) | 연속/범주형 |
Contour Plot | X,Y축의 값 분포별 Z값(목표값 등)의 변화, 패턴 확인 | 연속형 |
Parallel Plot | 다수의 변수 수준별 자료의 변화 경로, 패턴 확인 | 범주, 연속형 |
탐색적 분석 - 그래프(실습)
Mac Jupyter 한글 폰트 깨짐 해결
- 1. nanum 폰트를 설치해 주어야 한다
- 2. 설치되었는지 확인하고 -로 출력되는 것을 False로 설정한다
- 참고 : 위의 코드에 있는 링크 참조
Bar Chart
- 범주형(항목별) 빈도 분석
Histogram
- 구간별 분포 현황과 패턴 및 이상치 확인
- 연속형 데이터를 요약하여 가로축에 구간, 세로축에 빈도를 표현하는 그래프
- 일반적으로 가로축 구간을 7~10개로 설정함
Box Plot
- 상자 수염도표를 이용해 데이터의 분포, 패턴, 이상치 등을 표현하는 그래프
- 사분위 범위(IQR)를 사용하여 이상치 포함 여부를 확인(IQR = Q3-Q1)
- 이상치 기준 : Q1- 1.5 * IQR 미만, Q3 + 1.5 * IRQ 초과
Pie Chart
- 범주별 구성(빈도) 비율을 부채꼴 모양으로 표현하는 그래프
- 전체에서 차지하는 비율을 의미함
- 구성항목이 5개보다 많으면 식별이 어려움
Scatter Plot
- X, Y 좌표를 이용해 2개의 연속형 변수 간의 분포, 패턴, 관계를 표현하는 그래프
- 선형 관계 분석이 필요한 경우에는 회귀 직선으로 적합해서 확인하기
- 최근 X 좌표에 범주형 자료도 지원함
Scatter Matrix(Pair Plot)
- 다수의 연속형 변수 간의 분포, 패턴, 관계를 동시에 표현하는 그래프
- 변수간 상으로 산점도를 표시함
- 다수의 연속형 변수를 한번에 파악하거나 변수간의 관계를 확인하기 위해 사용
Trend Chart
- X축(시간, 가격 등 숫자형 자료)의 변화에 따른 Y 값의 변화, 추세를 표현하는 그래프
- 시계열 변화 특성을 확인할 목적으로 많이 활용됨
- parese_dates = ['컬럼명'] : pd.read_csv()를 하면 date를 object type으로 불러오기 때문에 datetime tpye으로 parse해야 하는 경우에 사용
Heatmap
- 2축(X,Y)의 값 조합별 Z값을 색깔로 표현하는 그래프
- 위치별 값을 나타내는 열(heat)와 지도(map)
- 연속형 변수 간의 상관계수 산출 => 항목 또는 값 조합별 목표값 분포, 변화 분석
Counter Plot
- X, Y축의 연속형 자료 값을 등고선으로 대응하는 Z값(목표값)을 색깔로 표현하는 그래프
- 자료의 분포 밀도, 변화 및 패턴 확인
- 영역별 자료 변화 및 특정 영역 이상 확인 => 영향 인자 변화에 따른 최적 조건 영역 탐색
Parallel Plot
- 다수의 변수 수준별 자료를 평면에 평행으로 표시하여 수준별 변화 경로, 패턴을 표현하는 그래프
- 변수 간의 변화 관계 및 방향성을 확인
- 입력 필드 X만큼 Y축을 만들어 동일한 행에 있는 값을 선으로 연결하여 그린 그래프
- 정규화를 시킨 후에 다시 해보기
Customizing
- 기본으로 제공되는 그래프 결과의 가독성 향상을 위해 그래프 속성을 변경하거나 Dashboard 등을 구성하여 그래프 정보를 종합적으로 표현하는 작업
- Dashboard : 동시에 여러 그래프 분석
타이타닉 데이터로 탐색적 분석하기인 (EDA)
전체 데이터 구조 파악하기
데이터 속성 및 기술 통계량 확인
- info() : 각 컬럼의 null값 확인 및 dtype 확인 가능
- .astype() : 각 컬럼의 데이터 형태를 변경할 수 있음
- describe() : 각 컬럼별 min, max, mean 등을 보여줌
- describe(include='all') : count, unique 값, top, freq 등을 추가적으로 보여줌
목표 변수 및 설명 변수 분포 확인
목표 변수
- Titanic 데이터에서 Survived가 목표 변수
설명변수 - 명목형 변수
- df.columns.dtype : object 변수 확인
'Big Data' 카테고리의 다른 글
예측 모델 - Linear Regression/Decision Tree/Random Forest/Gradient Boosting (1) | 2022.05.23 |
---|---|
탐색적 분석 - 통계 분석 (0) | 2022.05.20 |
Big Data 분석 - 분석 계획 (0) | 2022.05.19 |
Big Data 분석 - Data 수집 및 정제 (0) | 2022.05.19 |
Big Data 분석 - Data Handling (0) | 2022.05.18 |