ML

파이썬 날코딩: 평균제곱오차(mean square error: MSE)

컴닥 2023. 1. 21. 21:23
반응형

모두의 딥러닝을 읽고 있습니다. 
책의 내용을 numpy를 쓰지 않고 코딩해 보았습니다. 

x = (2, 4, 6, 8)
y = (81, 93, 91, 97)

fake_a = 3
fake_b = 76

pred_y = [fake_a * each_x + fake_b for each_x in x]
for each_x, each_y, each_pred in zip(x, y, pred_y):
    print(f'공부시간 {each_x}, 실제점수 {each_y}, 예측점수 {each_pred}')

mse = 1 / len(y) * sum((each_y - each_pred) ** 2 for each_y, each_pred in zip(y, pred_y))
print(mse)

 

넘파이로... 

import numpy as np

x = np.array([2, 4, 6, 8])
y = np.array([81, 93, 91, 97])

fake_a = 3
fake_b = 76

pred_y = fake_a * x + fake_b
for each_x, each_y, each_pred in zip(x, y, pred_y):
    print(f'공부시간 {each_x}, 실제점수 {each_y}, 예측점수 {each_pred}')

# mse = 1 / len(y) * np.sum((y - pred_y)**2) 
mse = np.mean(np.power(y - pred_y, 2))
print(mse)

 

실제 값과 예측 값 사이의 오차에 관한 함수를 '손실 함수(loss function)'라고 한다. 

반응형