인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

세린님의 프로필 이미지
세린

작성한 질문수

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

7회 기출유형(작업형2)

7회 기출유형(작업형2) 강의 질문

해결된 질문

작성

·

144

·

수정됨

0

RMSE 구할 때,

mean_squared_error(y_valid, pred, squared=False)

 

squared=False 작성하면 출력되던데 시험장에서 이렇게 작성해도 될까요?

답변 2

0

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

네 며칠 전 새소식을 통해 알려드렸는데 squared=False 로 사용해도 됩니다.

 

from sklearn.metrics import mean_squared_error
import numpy as np

# 예제 데이터
y_true = np.array([3, -0.5, 2, 7])
y_pred = np.array([2.5, 0.0, 2, 8])

# MSE 계산
mse = mean_squared_error(y_true, y_pred)
print(f'MSE: {mse}')

# RMSE 방법1 (squared=False)
rmse = mean_squared_error(y_true, y_pred, squared=False)
print(f'RMSE: {rmse}')

# RMSE 방법2
rmse = np.sqrt(mse)
print(f'RMSE(np): {rmse}')

# RMSE 방법3
rmse = mse ** 0.5
print(f'RMSE ** 0.5: {rmse}')
세린님의 프로필 이미지
세린
질문자

답변 감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다.

세린님께서 질문하신 “RMSE를 구할 때 mean_squared_error 함수에 squared=False 파라미터를 추가하여 사용하는 것이 시험장에서도 허용되는지”에 대해 궁금해하시는 것으로 이해했습니다.

작업형2 모의문제2 질문에서 유사한 상황이 논의된 바 있습니다. 이 게시글에서는 mean_squared_error 함수를 사용하여 RMSE을 계산하는 과정을 다루었고, 이때 mse=mean_squared_error(y_val,pred) 바로 다음에 rmse=mse**0.5를 사용하여 RMSE을 구하는 방법을 제시하며 질문자가 제안한 방식에 관한 직접적인 언급은 없었습니다.

특정 질문에 대한 예제 코드나 작성 방식이 공식 문서에서 명시된 내용을 따르며 일반적인 Python 라이브러리의 기능을 정상적으로 사용하는 것이라면, 이는 허용됩니다. mean_squared_error 함수에서 squared=False를 설정하면 직접 제곱근을 계산하지 않고도 RMSE 값을 구할 수 있는 것은 사이킷런 문서에 명시된 올바른 사용 방법 중 하나입니다.

따라서, 시험장에서 해당 방법을 사용하는 것은 문제가 없으며, 오히려 코드를 보다 간결하게 만들어주는 효과적인 방법으로 볼 수 있습니다. 하지만, 시험의 진행 방식이나 허용되는 라이브러리 버전에 따라서는 환경의 차이가 있을 수 있으므로, 실제 시험에 사용할 수 있는 라이브러리와 그 버전을 사전에 확인하는 것이 중요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

세린님의 프로필 이미지
세린

작성한 질문수

질문하기