MSE

이재경·2023년 1월 9일
0

인공지능

목록 보기
3/14

MSE

MSE는 평균제곱오차(Mean squared error)입니다.

Python과 numpy를 이용해서 MSE를 직접 구현하고 올바른 오차값이 나오는지 확인해 보세요.

정답 데이터와 입력(추론)데이터가 얼마나 차이가 있는지 수치로 표현 할 수 있습니다. 오차함수이기 때문에 값이 작을수록 유사하고, 클수록 다릅니다.

지시사항에 따라 아래와 같은 매개변수와 반환값을 가지는 MSE() 함수를 구현합니다.

매개변수
y: 정답 list
y_hat: 비교 list
출력
오차값(소수점 둘째 자리에서 반올림)

지시사항
정답 list와 비교 list의 각 요소의 차이를 구합니다.

1에서 구한 값을 제곱하세요.

2에서 구한 값의 평균을 구하세요.

소수점 둘째 자리에서 반올림하세요.

4의 값을 반환하세요.

Tips!
아래 Python 코드를 참고해 MSE를 직접 구현해보세요.

차(뺄셈)
80 - 12 # 두 값의 차인 68이 나옵니다.
a = np.array([8, 3, -3])
b = np.array([3, 6, -6])
a - b # 각 요소의 차인 [5, -3, 3]이 나옵니다.
Copy
제곱
2 3 # 2의 3제곱인 8이 나옵니다.
5
2 # 5의 2제곱인 25가 나옵니다.

y = np.array([2, 3, 4])
y ** 2 # 각 값의 제곱인 [4, 9, 16]이 나옵니다.
Copy
평균
test_list = [1, 2, 3, 4, 5]
np.mean(test_list) # 입력값의 평균인 3이 나옵니다.

import numpy as np

def MSE(y, y_hat):
    """
    MSE 함수 구현을 채우세요.
    """
    error = y-y_hat
    squared = error **2
    mean = np.mean(squared )

    # 소수점 둘째 자리에서 반올림하세요.
    mean = round(mean, 2)
    return mean
    
# 테스트1
y     = np.array([0,   0,   1,   0,   0])
y_hat = np.array([0.1, 0.1, 0.6, 0.1, 0.1])
mse = MSE(y, y_hat)
print(mse)

# 테스트2
y     = np.array([0,   0,   1,   0,   0])
y_hat = np.array([0.2, 0.2, 0.2, 0.2, 0.2])
mse = MSE(y, y_hat)
print(mse)

# 테스트3
y     = np.array([43,  7, 53, 86, -44])
y_hat = np.array([54, 67, 23, 96, -50])
mse = MSE(y, y_hat)
print(mse)
profile
코딩으로 빛나게

0개의 댓글