1. 기술통계학 바탕 데이터 이해 [파이썬으로 배우는 데이터 사이언스]
기술통계학 바탕의 데이터이해 |
Contents:
1. Raw 데이터 살펴보기
2. 데이터 차원 살펴보기
3. 데이터 타입 살펴보기
4. 클래스(레이블)에 따른 분포도 보기
5. 기술 통계학을 통한 데이터 요약
6. Correlation을 통한 데이터 이해
7. 각 feature의 분포도 skew확인
1. Raw 데이터 살펴보기
- Head / tail을 통해 가볍게 Raw데이터를 살펴본다.
2. 데이터 차원 살펴보기
- Shape를 통해 테이블 사이즈를 확인하고, 알고리즘 트레이닝 관련하여 compute하기에 데이터의 양이 적절한지 판단한다.
3. 데이터 타입 살펴보기
- dtypes 를 통해서 전체적인 타입들을 살펴본다.
4. 클래스(레이블)에 따른 분포도 살펴보기
- Classification (분류) 문제 에서 우리는 얼마나 데이터가 balanced한지 확인해야 한다. 각각의 클래스(레이블)에 따른 사이즈를 확인한다.
· df.groupby('label').size()
- Imbalanced 한 데이터라면 상황에 따라서 over/under-sampling해줌으로써, 데이터를 balanced하게 만드는 방법도 있다.
5. 기술 통계학을 통한 데이터 요약하기
- Describe를 통해 아래의 value들을 살펴봄으로써 데이터를 이해하자.
· Count
· Mean
· Std
· Quantile ( 25th/ 50th(Median) / 75th )
· Max / Min
· pd. set_option('display.width',100)
· pd. set_option('precision',3)
→ pd 옵션 설정을 통해 …(다 보여지지 않은 데이터) 들을 살펴 볼 수 있다.
6. Correlation 을 통한 데이터 관계 이해하기
- Correlation 은 두 변수 간의 상관 관계이다.
- Pearson's correlation coefficient는 데이터가 normal distribution의 형태를 가진다고 가정한다.
· Cosign correlation.
7. 각 feature의 분포도에 대한 skew 확인하기
- Skew 는 우리가 데이터의 분포가 가우시안(normal)의 형태를 띈다고 가정을 한 후, 거기서 얼만큼 떨어져 있는지 / 한쪽으로 치우쳐 있는지 등을 의미한다.
- 많은 머신러닝 알고리즘은 가우시안 분포를 가정하기 때문에 skew를 확인함으로써 가우시안 분포를 가지지 않는 분포들을 log나 다른 function을 사용해 가우시안 분포도의 형태를 가지게 만들 수 있다.
· df.skew() → result -1 to 1. 0에 가까울수록 skew값이 작은 것 을 의미.
Visualization을 통한 데이터이해 |
Contents:
1. Univariate Plots
· Histograms
· Density Plots
· Box Plots
2. Multivariate Plots
· Correlation Matrix Plots
· Scatter Plot Matrix
1. Univariate Plots: 각각의 feature들을 독립적으로 확인해본다.
1.1 Histograms
· 데이터에 대한 분포를 확인할 때 좋다.
· Binning 을 사용하여 데이터들을 그룹화 한 후 히스토그램을 확인하는 방법도 있다.
· Bins 의 shape을 통해 가우시안 / skewed / exponential 등 분포도를 확인해 볼 수 있다.
이것은 가능한 outliers 을 확인 하는 데에 도움을 준다.
· df.hist()
· pyplot.show()
1.2 Desntiry Plots
· Density plot 또한 분포를 확인할 때 좋다.
· 히스토그램에 비해 스무스한 커브를 확인할 수 있다. (more clear)
df.plot(kind='density', subplots=True, layout=(3,3), sharex=False)
pyplot.show()
1.3 Box Plots
· Quantile 에 대한 분포에 관하여 확인할 수 있다.
· Outlier에 대해 확인해 볼 수 있다.
df.plot(kind='box', subplots=True, layout=(3,3), sharex=False, sharey=False)
pyplot.show()
2. Multivariate Plots: 멀티 변수들 간의 상호관계에 대해 확인해본다.
2.1 Correlation Matrix Plots
2.2 Scatter Plot Matrix
· 두 변수 간의 관계에 대해 점들로 표현한다.
· Diagonal (대각행렬) 은 각각의 attribute에 대해 히스토그램으로 표현된다.
from pandas.plotting import scatter_matrix
scatter_matrix(df)
pyplot.show()
밑바닥부터 시작하는 데이터 러닝
데이터 사이언스, 머신 러닝 오픈소스 무료 강좌.
data-learning.tistory.com
* 해당 게시물은 첫번째 배너 및 출처를 첨부하면 상업적 용도를 제외하고 사용하실수 있습니다.
'Machine Learning > 파이썬_데이터사이언스' 카테고리의 다른 글
6. Pipelines [파이썬으로 배우는 데이터 사이언스] (0) | 2020.02.05 |
---|---|
5. Spot-Check Classification Algorithm [파이썬으로 배우는 데이터 사이언스] (0) | 2020.02.03 |
4. 머신러닝 모델 평가 [파이썬으로 배우는 데이터 사이언스] (0) | 2020.01.31 |
3. Feature Selection [파이썬으로 배우는 데이터 사이언스] (0) | 2020.01.30 |
2. 머신러닝을 위한 데이터 준비 [파이썬으로 배우는 데이터 사이언스] (0) | 2020.01.30 |
댓글