[AI - Math] 확률과 통계 - 자료의 형태(Numerical data, Ctegorical data)
[Math] 확률과 통계 - 자료의 형태(Numerical data, Ctegorical data)
자료의 형태
수치형 자료(Numerical data) | 범주형 자료 (Categorical data) |
양적 자료(Quantitative data) | 질적 자료(Qualitative data) |
수치로 측정이 가능한 자료 | 수치로 측정이 불가능한 자료 |
ex) 키, 몸무게, 시험점수, 나이.. | ex) 성별, 지역, 혈액형 등 |
선형 회귀 분석 등 사용 | 로지스틱 회귀 분석 등 사용 |
- 수치형 자료(Numerical data)의 구분
연속형 자료(Continuous data) | 이산형 자료(Discrete data) |
연속적인 관측값을 가짐 | 셀 수 있는 관측값을 가짐 |
ex) 원주율, 시간, 키, 몸무게 | ex) 동영상 조회수, 물건 판매 갯수 |
🚫 수치형 자료는 범주형으로 변환이 가능하다.
예를들어, 10대/20대/30대 처럼 구간화가 가능하다.
① 히스토그램
연속형 자료의 도수분포표를 기반으로 각 계급을 범주처럼 사용하고
범주형 자료의 막대그래프와 같은 방식으로 그리는 그래프이다.
plt.hist()
- 각 자료의 분표를 쉽게 알 수 있다
- 계급 구간과 막대의 높이로 그린다.
- 모든 계급 구간의 폭이 같으면, 도수, 상대도수를 막대 높이로 사용한다.
- 응용하여 도수다각형 그래프로도 사용이 가능하다.
②줄기 잎 그래프
함수 사용시에 줄기 값을 따로 지정해줘야한다.
plt.stem(줄기, 관측값)
- 관측값을 보여주기 때문에, 위치의 파악이 쉽다.
- 관측값의 개수가 많은 경우 제한된다.
- 범주형 자료(Categorical data)의 구분
순위형 자료(Ordinal data) | 명목형 자료(Nominal data) |
범주 사이의 순서에 의미가 있음 | 범주 사이의 순서에 의미가 없음 |
ex) 학점 | ex) 혈액형 |
🚫 범주형 자료라고 해서 숫자로 표현이 불가능 한 것이 아니다.
예를들어, 타이타닉 생존확률을 구할 때, 생존은 1 / 사망은0으로 구분한다.
● 범주형 자료가 요약이 필요할 때 :
- 다수의 범주과 반복해서 관측될 때
- 관측값의 크기보다 포함되는 범주에 더 관심이 있을 때(얼마나 좋아하는지?가 아님)
● 범주에 속하는 관측값의 개수를 측정
전체에서 차지하는 각 범주의 비율 파악
효육적으로 범주간의 차이점을 비교.
① 도수분포표
- 도수(Frequency) : 각 범주에 속하는 관측값의 개수
import pandas as pd
df[범주].Value_counts()
- 상대도수(Relative Frequency) : 도수를 자료의 전체개수로 나눈 비율
import pandas as pd
value_counts(normalize = True)
- 도수분포표(Frequency Table) : 범주형 자료에서, 범주와 그 범주에 대응하는 도수와 상대도수를 나열해서 표로 만든 것.
pd.crosstab(index = 범주, columns = "count") # 한 가지 범주의 도수분포표
pd.crosstab(index = 범주, columns = 또 다른 범주) #두가지 범주의 도수분포표
ex) 강의 만족도 설문조사
범주 | 도수 | 상대도수(백분률) |
만족 | 40 | 0.4(40/100) |
보통 | 50 | 0.5 |
불만족 | 10 | 0.1 |
- 도수분포표 작성 순서
① 자료의 범위 : 최댓값과 최솟값을 찾아서 자료의 범위를 구힌다.
② 계급의 폭 : 계급의 개수를 분포의 경향이 잘 들어날 수 있도록 정하기(일반적으로 루트n+-3)사용
③ 계급구간 : 모든 관측값을 포함하도록 계급 구간의 경계점을 구한다.
④ 도수 : 각 계급구간에 속하는 관측값의 개수를 세어 계급의 도수를 더한다
⑤ 상대도수 : 계급의 도수를 전체 관측값의 개수로 나누어 상대도수를 구한다.