더보기
▣ 주요 키워드 ▣
- 합, 평균, 분산, 표준편차
- Feature Scailing
- 표준화
- 정규화
★ 합, 평균, 분산, 표준편차
> 합 = 관측값의 합
> 평균 : 관측값의 합 / 관측값의 수
> 분산 : 편차제곱합 / 관측값의 수
※ 편차제곱합 : 편차**2 + 편차**2 .... (편차제곱들의 합)
※ 편차 : 관측값 - 평균
> 표준편차 : 루트(분산)
def sum(*arg):
total = 0
for i in arg:
total += i
return total
sum(1,2,3,4,5)
def mean(*arg):
return sum(*arg)/len(arg)
mean(1,2,3,4,5)
def variance(*arg):
total = 0
for i in arg:
total += (i - mean(*arg))**2
return total/(len(arg))
variance(1,2,3,4,5)
import math
def stddev(*arg):
return math.sqrt(variance(*arg))
stddev(1,2,3,4,5)

> numpy를 이용하여 간단히 계산할 수 있다
import numpy as np
x = 1,2,3,4,5
np.sum(x) # 합
np.mean(x) # 평균
np.var(x) # 분산
np.std(x) # 표준편차

★ Feature Scailing
1. 표준화(standardization)
- z-score : (관측값 - 관측값의 평균) / 관측값의 표준편차
- 서로 다른 변수의 값 범위를 일정한 수준으로 맞추는 작업(feature들의 범위를 정규화)
data = 100,5,2,1,8,7,11,15,18,200
def standardization(*arg):
data2 = []
for i in arg:
data2.append((i- mean(*arg))/stddev(*arg))
return data2
standardization(*data)
# 각 값들을 표준화 한 값들

2. 정규화(nomalization)
- 서로 다른 피처의 크기를 동일한 크기로 변환해주는 개념
- 0~1 값으로 변환하는 방법
- (관측값 - 관측값의 최솟값) / (관측값의 최댓값 - 관측값의 최솟값)
※ 최대값
def max_(*arg):
temp = arg[0]
for i in arg:
if temp < i:
temp = i
else:
continue
return temp
max_(*data) # 만든 함수
max(data) # 내제되어있는 함수
※ 최소값
def min_(*arg):
temp = arg[0]
for i in arg:
if temp > i:
temp = i
else:
continue
return temp
min_(*data)
min(data)
정규화
def nomalization(*arg):
data2 = []
for i in arg:
data2.append((i-mean(*arg))/(max(data) - min(data)))
return data2
nomalization(*data)

'PYTHON' 카테고리의 다른 글
파이썬 파일 읽고 쓰기(open, close, write, read, with, csv, pickle) (0) | 2022.04.15 |
---|---|
파이썬 날짜 함수 (0) | 2022.04.15 |
파이썬(스택,pop,enumerate,큐) (0) | 2022.04.02 |
파이썬(operator.itemgetter,리스트 내장객체, 함수) (0) | 2022.04.02 |
파이썬(반복문,collections) (0) | 2022.03.27 |