728x90
반응형
머신러닝 통계학 핵심 개념
- 머신러닝 분야의 발전 방향
: 수학 → 통계학 → 컴퓨터과학 → 머신러닝
- 통계 모델은 수학적 모델 → 변수들로 이루어진 수학식을 계산해 실제 값을 추정하는 방법
ex. 직선 위에 존재하는 각 점 == 데이터 / 수학적 모델로 생성 → 통계 모델
- 통계 모델을 이루는 여러 가정은 확률 분포를 따름
ex. 정규분포 : 평균에 수렴하는 구조. (평균치가 가장 많은 구조, 양 극단이 적어지는 모양==종형태)
- 통계 모델은 모든 변수가 만족해야 하는 기본 가정으로 시작, 이 조건이 만족 시 모델의 성능이 통계학적으로 의미를 갖음.
용어 정리
- 모집단 : 모든 관측값 또는 분석 대상의 전체 데이터 (ex. 인구 총 조사) → 단점 : 고비용
- 표본 : 모집단의 부분집합, 분석 대상 중인 전체 데이터의 일부분
- 모수 : 모집단의 특징을 나타내는 수치값
- 통계량 : 표본의 특징을 나타내는 수치값, 모수 추정을 위해 사용.
== 평균, 중앙값, 최빈값, 분산 등 같은 데이터를 대표하는 값
+) 정규분포는 최빈,중앙,평균이 모두 중앙
import numpy as np
from scipy import stats
np.random.seed(0)
data = np.random.randint(0, 100, 10000)
mean = np.mean(data)
median = np.median(data)
mode = stats.mode(data)
print('평균값 : %f / 중앙값 : %f /'%(mean.round(2),median))
print('최빈값 : {}({}'.format(mode[0][0], mode[1][0]))
- 변량의 측정 : 산포는 데이터의 변량을 의미하며, 데이터가 얼마나 중심으로 모이지 않고 흩어져 있는지 설명
- 분산(variance): 평균과의 거리를 제곱한 값의 평균 = 데이터가 얼마나 떨어져 있는가(distance)
- 표준편차(standard deviation) : 분산의 제곱근
- 범위(range) : 최대값과 최소값의 차이
- 사분위수 : 데이터를 4등분한 값. 25%를 1사분위수($Q_{1}$), 50% 값을 2사분위 수($Q_{2}$), 75% 값을 3사분위수($Q_{3}$)
- IQR : Interquartile Range $Q_{1}$과 $Q_{3}$의 차이
= 이상치를 판별하여 통계 결과의 신뢰성을 높이기 때문에 꼭 기억해야 함.
import numpy as np
from statistics import variance, stdev
np.random.seed(0)
points = np.random.randint(0,100,20)
var = variance(points); print('분산 : ', var)
std = stdev(points); print('표준편차 : ',np.round(std,2))
range = np.max(points)-np.min(points);print('범위:', range)
print('사분위수 :')
for val in [0, 25, 50, 75, 100]:
quantile = np.percentile(points, val)
print('{}% ==> {}'.format(val, quantile))
q1, q3 = np.percentile(points, [25, 75])
print('IQR : ',q3-q1)
본 포스팅은 하단 영상을 보고 정리한 내용입니다.
728x90
반응형
'머신러닝 > 머신러닝 기초 개념' 카테고리의 다른 글
머신러닝 관련용어 (A to Z) (0) | 2021.09.01 |
---|---|
[머신러닝 통계학] 3.통계적 추론 (0) | 2021.07.28 |
[머신러닝 통계학] 1.소개 (0) | 2021.07.27 |
Numpy Seed 설정 (np.random.seed(0), np.random.seed(42)) (0) | 2021.07.02 |
강화학습(Reinforcement Learning) (0) | 2021.06.20 |