[NIPA AI 교육/응용] 01. 자료 형태의 이해
1. 자료 형태 구분
- 자료는 수치형 자료(Numerical Data)와 범주형 자료(Categorical data)로 나뉨
- 수치형 자료는 연속형 자료(Continuous data)와 이산형 자료(Discrete data)로 나뉨
- 수치형 자료는 양적 자료(Quantitative data)라고도 하며, 수치로 측정이 가능한 자료
- 연속형 자료는 연속적인 관측값을 갖는 자료형이고, 이산형 자료는 셀 수 있는 관측값을 가지는 것
- ex. 키, 몸무게, 시험 점수, 나이 등
- 범주형 자료는 순위형 자료(Ordinal data)와 명목형 자료(Norminal data)로 나뉨
- 범주형 자료는 질적 자료(Qualitative data)라고도 하며, 수치로 측정이 불가능한 자료
- 순위형 자료는 범주 사이의 순서에 의미가 있는 자료형이고, 명목형 자료는 범주 사이의 순서에 의미가 없는 자료
- ex. 성별, 지역, 혈액형 등
- 만약, 범주형 자료인 성별(여, 남)이 여자는 1, 남자는 0, 즉 숫자로 표현되는 경우, 수치형 자료라고 착각할 수 있으나 결국은 범주형 자료
- 나이의 경우 수치형 자료인데 10~19세, 20~29세 등 구간화 되면 범주형 자료로 판별됨
2. 범주형 자료의 요약
- 다수의 범주가 반복해서 관측되거나, 관측값의 크기보다 포함되는 범주에 관심이 있다면 요약이 필요함
- 범주형 자료의 요약을 하면 다음과 같은 장점이 있음
1. 각 범주에 속하는 관측값의 개수를 측정 가능
2. 전체에서 차지하는 각 범주의 비율을 파악 가능
3. 효율적으로 범주 간의 차이점을 비교 가능
2.1. 도수분포표 정의
- 도수분포표는 범주형 자료를 요약할 때 자주 쓰임
- 도수(Frequency) : 각 범주에 속하는 관측값의 개수
value_counts()
- 상대 도수(Relative Frequency) : 도수의 자료를 전체 개수로 나눈 비율
value_counts(normalize=True)
- 도수분포표(Frequency Table) : 범주형 자료에서 범주와 그 범주에 대응하는 도수, 상대도수를 나열해 표로 만든 것
2.2. 막대그래프(Bar Chart)
- 도수분포표 외에도 범주형 자료를 표현할 수 있는 방법
- 다음과 같은 코드로 구현(matplotlib 라이브러리 이용)
plt.bar()
- 막대그래프는 각 범주에서 도수의 크기를 막대로 그림
- x축 : 범주를 나열
- y축 : 도수에 대한 눈금
- 장점) 각 범주가 가지는 도수의 크기 차이를 비교하기 쉬움
- 단점) 각 범주가 차지하는 비율의 비교는 어려움
3. 수치형 자료의 요약
- 범주형 자료와 달리 수치로 구성되어 있기에 통계값을 사용한 요약이 가능함
- 시각적 자료로는 이론적 근거 제시가 쉽지 않는 단점을 보완
- 많은 양의 자료를 의미 있는 수치로 요약해 대략적인 분포 상태를 파악하는데 용이함
평균(Mean)
np.mean()
- 관측값들을 대표할 수 있는 통계값
- 수치형 자료의 통계값 중 가장 많이 사용되는 방법
- 모든 관측값의 합을 자료의 개수로 나눈 것
- 극단적으로 큰 값이나 작은 값의 영향을 많이 받음
분산
from statistics import variance
variance()
- 자료가 얼마나 흩어졌는지 숫자로 표현
- 각 관측값이 자료의 평균으로부터 떨어진 정도
표준 편차
from statistics import stdev
stdev()
- [분산의 단위 = 관측값의 단위의 제곱] -> 분산은 관측값의 단위와 불일치
- 분산의 양의 제곱근, 즉 표준편차는 관측값의 단위가 일치
- s로 표기
3. 히스토그램의 특징
plt.hist(data, bins=3) # bins: 히스토그램을 구성하는 계급의 개수
- 자료의 분포를 알 수 있음
- 계급구간과 막대의 높이로 그림
- 도수, 상대도수를 막대 높이로 사용