인프런 커뮤니티 질문&답변

munjihey1127님의 프로필 이미지
munjihey1127

작성한 질문수

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

5회 작2

해결된 질문

작성

·

167

·

수정됨

0

from sklearn.metrics import mean_squared_error

mse=mean_squared_error(y_val,pred)

rmse=mse**0.5

rmse(y_val,pred)

 

이렇게 쳤더니

 

TypeError Traceback (most recent call last) <ipython-input-71-c64d244aa8ba> in <cell line: 1>() ----> 1 rmse(y_val,pred) TypeError: 'numpy.float64'

 

에러가 나오네요ㅜ 왜그런가요?

from sklearn.metrics import mean_squared_error

mse=mean_squared_error(y_val,pred)

rmse=mse**0.5

rmse

이렇게 치면 애러 안나오고 값이 출력되요

답변 2

1

지나가다가 도움이 될지 몰라서 답변 드립니다.

 

코드에서 rmse의 값은 mse 값에 루트 처리하도록 정의되어 있기 때문에

rmse만 입력해야지 정상출력될거같습니다.

 

rmse(y_val, pred)로 입력시 정상 출력되려면 사전에 함수 형태로 정의가 필요할 거 같은데요

 

from sklearn.metrics import mean_squared_error

def rmse(x, y):

return mean_squared_error(x, y) ** 0.5

rmse(y_val, pred)

 

로 함수 정의후 rmse(y_val, pred) 입력하시면 정상 출력될 거 같습니다.

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

Jason님의 답변이 맞습니다. rmse함수를 만들지 않고 함수를 사용하고 있어요

munjihey1127님의 프로필 이미지
munjihey1127

작성한 질문수

질문하기