inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

작업형2 모의문제2

rmse, mape 오류

해결된 질문

201

상냥한 랫서팬더

작성한 질문수 0

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이 있으면 에러가 발생할 수 있어요!


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

     

 

질문 드립니다.

0

38

2

강의 내용 관련 질문드립니다~

0

35

2

수강 연장 문의

0

33

1

강의자료 일괄 다운로드

0

43

2

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

0

29

1

list 문제 질문드립니다~

0

31

2

빅분기 실기 12회 재도전

0

40

1

강의 기간 연장 가능여부 검토 요청건

0

30

1

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

0

36

2

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

0

47

2

질문이요

0

51

2

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

0

50

2

문제 3-2 질문드립니다

0

44

2

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

0

58

2

변수, 칼럼 , df 구분

0

50

2

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

0

50

2

수강기간 연장 문의

0

48

2

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

0

42

2

수강기한 연장 문의

0

80

2

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

0

57

2

결정트리에서 적절한 깊이 선택 후 시각화 과정에서 학습 데이터만 사용하는 이유

0

45

2

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

0

71

2

수강연장 문의

0

77

2

수강연장문의

0

53

2