머신러닝을 위한 통계학 소개

leban·2022년 4월 12일
0

머신러닝

목록 보기
2/2

통계학이란?

: 수치 데이터의 수집, 분석, 해석, 표현 등을 다루는 수학의 한 분야로 크게 기술 통계학과 추론 통계학으로 분류됨

기술 통계학

  • 연속형 데이터 -> 평균, 표준편차와 같은 자료 요약 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); print("평균값: ", mean.round(2))
median = np.median(data); print("중앙값: ", median)
mode = stats.mode(data); print("최빈값: {} ({})".format(mode[0][0], mode[1][0]))

평균값: 49.7
중앙값: 49.0
최빈값: 3 (125)

  • 변량의 측정: 산포는 데이터의 변량을 의미하며, 데이터가 얼마나 중심으로 모이지 않고 흩어져 있는지를 설명
  • 분산: 평균과의 거리를 제곱한 값의 평균
  • 표준편차: 분산의 제곱근
  • 범위: 최대값과 최소값의 차이
  • 사분위수: 데이터를 4등분한 값. 25% 값을 1사분위수(Q1), 50% 값을 2사분위수(Q2), 75% 값을 3사분위수(Q3)
  • IQR: Interquartle Range. Q1과 Q3의 차이

*표준편차는 합리적인 크기로 작아져 중요한 개념이 됨

정규분포를 따르면 좌우 1표준편차 사이에 전체 데이터의 68.27% 위치하게 됨

import numpy as np
from statistics import variance, stdev

np.random.seed(0)

points = np.random(0, 100, 20)
var = variance(points); print("분산: ", var)
std = stdev(points) - np.min(points); print("범위: ", range)
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)

분산: 662
표준편차: 25.73
범위: 79
사분위수:
0% => 9.0
25% => 42.75
50% => 64.5
75% => 84.0
100% => 88.0
IQR: 41.25

파이썬 머신러닝 강의 04-2

0개의 댓글