우리는 많은 데이터를 얻고있지만 대부분 정형화되지 않은 상태의 데이터이다.
데이터를 이용하기 위해서는 데이터를 활용 가능한 형태의 정보로 변환하는 것이 중요함
활용 가능한 형태의 정보 → 정형화된 형태의 데이터
❓정형 데이터의 가장 기본이 되는 종류
위와 같이 데이터 종류를 분류하는 이유는?
→ 데이터를 어떻게 처리할지 정하는 것과 같음
데이터 분석, 모델링, 시각화, 해석 등에 데이터의 종류가 중요한 역할을 하기 때문
(ex. 우편번호는 숫자로 되어있지만 수치형 데이터가 아님 → 이를 더하거나 곱해도 어떤 의미있는 결과가 나오지 않는다.)
데이터를 시각화 할 때,
수치형 데이터는 데이터가 어떻게 분포되어 있는지가 중요하고,
범주형 데이터는 데이터 값에 따라 수치형 데이터가 어떻게 변화하는지 보는 것이 중요
데이터를 분석할 때 가장 많이 사용되는 형태는 엑셀 같은 테이블 데이터
테이블 데이터 : 행과 열로 이루어진 이차원 행렬 (ex. 데이터 프레임)
기본적으로 데이터 프레임에서는 각 행마다 순차적으로 정수값을 붙여 이를 인덱스로 사용함
💡 다중인덱스(멀티인덱스) `pandas`에서는 다중 인덱스를 설정할 수 있지만 `data.frame`(R)에서는 불가능 `data.table`, `dplyr`은 가능이외에도 시계열 데이터, 공간 데이터, 그래프(네트워크) 데이터 등 여러 형태의 데이터가 있음
데이터가 주어졌을 때 각 변수의 대푯값을 구하는 것이 가장 기초적인 단계
대푯값으로 사용될 수 있는 값
import numpy as np
np.mean(data['column1'])
from scipy import stats
stats.trim_mean(data['column2'], 0.1) # 데이터의 양 끝 10%를 삭제한다는 뜻
stats.trim_mean(data['column2'], 0.2) # 데이터의 양 끝 20%를 삭제한다는 뜻
(ex. 심사 점수의 최고점과 최저점을 제외한 점수의 평균)import numpy as np
rate = [0.1, 0.8, 1.0, 2.0] # 가중치
np.average(data['column3'], weights = rate)
중앙값 : 데이터를 순서대로 일렬로 정렬했을 때, 한가운데 위치한 값
만약 데이터가 짝수라면 가운데 있는 두 값의 평균이 중앙값이 된다.
data['column4'].median()
import statistics as st
st.median(data['column4']
가중 중앙값 : 상위 절반의 가중치 합과 하위 절반의 가중치 합이 동일한 위치의 값
```jsx
import wquantiles
rate = [0.1, 0.8, 1.0, 2.0] # 가중치
wqantiles.median(data['column5'], weights=rate)
```
→ 중앙값과 가중 중앙값 모두 이상값에 로버스트하다는 장점이 있다.
이상값 : 데이터 집합에서 다른 값들과 매우 멀리 떨어져 있는 값
로버스트 : 민감하지 않다