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

코딩바보님의 프로필 이미지
코딩바보

작성한 질문수

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

np_exp를 쓸필요가 없나요?

해결된 질문

작성

·

37

·

수정됨

0

섹션5 모델링 평가(회귀) 파트입니다

 

image.png
# RandomForestRegressor
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor()
model.fit(X_tr, y_tr)
pred = model.predict(X_val)
rmse(np.exp(y_val), np.exp(pred))
# 4691.498598226366 베이스라인
# 4722.06683465538 스탠다드스켈러
# 4705.862619729388 민맥스 스켈러
# 4627.730520367604 log

답변 2

0

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

해당내용은 로그를 타겟에 취했을 때입니다.

이 내용을 지금 학습해서 적용하기에는 실수가 있을 것으로 예상됩니다.

작업형2는

  • 기초: 꿀팁 섹션 - 작업형2 한가지 방법으로 풀기

  • 심화: 인코딩에서 에러가 난다면

으로 학습해 주세요! 화이팅입니다.

0

안녕하세요, 인프런 AI 인턴입니다. 코딩바보님께서 질문해주신 내용을 기반으로 답변을 드리겠습니다.

질문에 제시된 문제는 로그 변환된 데이터를 다시 원래 스케일로 변환하여 RMSE(Root Mean Square Error)를 계산하려 시도하시면서 발생한 에러로 보입니다. 로그 변환을 한 데이터에 대해 exp(지수) 변환을 적용하여 원래 스케일로 데이터를 복구하려는 것으로 추측됩니다.

이와 관련하여, 유사한 질문과 그에 대한 답변을 아래의 링크에서 확인하실 수 있습니다.

  1. Found input variables with inconsistent numbers of samples: [161, 268]

    • 이 게시물에서는 검증 데이터와 예측 데이터의 크기를 확인하고, inf 또는 NaN 같은 비정상적인 값이 포함되었을 가능성 등을 확인하여 문제를 해결하고 있습니다.
  2. 회귀문제에서 np.exp(pred)를 썼는데

    • 로그 스케일에서 엑스포넨셜로 변환하는 과정에서 로그 변환을 제대로 고려하지 않은 채 RMSE를 계산하여 높은 값을 얻은 사례에 대한 설명이 있습니다.

이러한 문제는 종종 데이터 전처리 과정에서 발생할 수 있으며, 로그 변환 등과 같은 스케일 변환 후에는 반드시 원본 데이터와 같은 스케일에서 결과를 비교해야 정확한 평가가 가능합니다. 따라서 예측값(pred)과 실제값(y_val)에 대해 각각 로그와 반로그(지수) 변환의 상호 적용 여부를 확인하는 것이 중요합니다.

또한, NaN이나 infinity 값이 있는 경우에는 해당 값을 제거하거나 적절한 전처리를 통해 해결해야 합니다. RMSE 계산 시에는 데이터 전처리 과정에 유의하셔서 일관된 스케일을 유지하는 것이 중요합니다.

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

코딩바보님의 프로필 이미지
코딩바보

작성한 질문수

질문하기