🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    자격증 (데이터 사이언스)

  • 해결 여부

    해결됨

5회 작2

23.11.24 16:16 작성 23.11.24 16:21 수정 조회수 127

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

Jason님의 프로필

Jason

2023.11.24

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

 

코드에서 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함수를 만들지 않고 함수를 사용하고 있어요

채널톡 아이콘