inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형2 모의문제2

rmse, mape 오류

해결된 질문

223

상냥한 랫서팬더
0

<rmse>

import numpy as np

def rmsle(y_test, y_pred):

  return np.sqrt(np.mean(np.power(np.log1p(y_test) - np.log1p(y_pred)), 2))

 

print(np.sqrt(np.mean(np.power(np.log1p(y_test) - np.log1p(y_pred)), 2)))

 

이렇게 입력하면 예측값은 안뜨고 power() takes from 2 to 3 positional arguments but 1 were given 라고 뜹니다 ㅠ 뭐가 문제인 건가요?

Screenshot_20240619_114459_Samsung Internet.jpg

<mape>

import numpy as np

def mape(y_val, pred):

return np.mean(np.abs((y_val - pred)/y_val))**100

 

print(np.mean(np.abs((y_val - pred)/y_val))**100)

 

이렇게 입력하면 예측값은 안뜨고 inf라고만 뜹니다. rmse와 mape 둘다 왜 예측값은 안뜨는건가요?

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 1

0

퇴근후딴짓

1 rmsle

수식이 잘못되었어요

def rmsle(y_test, y_pred):
    return np.sqrt(np.mean(np.power(np.log1p(y_test) - np.log1p(y_pred), 2)))

또는 msle**0.5

from sklearn.metrics import mean_squared_log_error

# MSLE 계산
y_true = [3, 5, 2.5, 7]
y_pred = [2.5, 5, 4, 8]
msle = mean_squared_log_error(y_true, y_pred)
print('MSLE:', msle) 

# RMSLE 계산 (squared=False 옵션 사용)
rmsle = mean_squared_log_error(y_true, y_pred, squared=False)
print('RMSLE:', rmsle) 

 

  1. mape는 분모에 0이 있으면 에러가 발생할 수 있어요!


    일반적으로는 예측값(분모)를 매우 작은 값으로 처리하는데, 시험이라면 다른 평가지표 사용을 추천합니다.

     

 

작업형 1번문제... 환경관련

0

5

1

12회 기출은 언제 업데이트 될까요??

0

6

1

8/6 작성한 연장문의 질문글에 대한 재요청

0

17

1

수강기간 연장 문의

0

21

1

수강기간 연장문의

0

18

1

수강기간 연장 요청 문의드립니다

0

22

1

수강 기간 연장 문의

0

35

1

수강연장 가능 문의 (기간 약 한달반)

0

52

2

수강기간 연장 가능할까요 선생님

0

69

2

Section15. 수업에 사용하는 데이터 주소가 다 보이지 않아서 실습을 위한 데이터를 다운 받지 못하고 있습니다.

0

47

3

수강연장요청 문의

0

82

2

아무래도 다음 시험 연장은 어렵겠죠?

0

103

2

빅분기 12회 결과 관련 문의

0

105

1

책이랑 강의랑 순서나 예제가 다른것 같네요

0

77

2

수강연장 문의

0

102

2

재검토 요청 방법 좀 알려주셔요...-.-;;

0

100

2

12회 실기 질문(작업형 2)

0

88

2

뒤로가기 버튼 같은 것이 있나요?

0

61

1

강의 연장 문의

0

96

2

출력값 질문

0

69

2

수업노트가 어디에 있나요?

0

59

1

실기시험 제출관련

0

222

3

6.20 작업형 2 과적합

0

227

3

코딩팡 장업형2 베이스 라인 인코딩 종류 질문

0

86

2