해결된 질문
작성
·
37
·
수정됨
0
섹션5 모델링 평가(회귀) 파트입니다
# 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(지수) 변환을 적용하여 원래 스케일로 데이터를 복구하려는 것으로 추측됩니다.
이와 관련하여, 유사한 질문과 그에 대한 답변을 아래의 링크에서 확인하실 수 있습니다.
Found input variables with inconsistent numbers of samples: [161, 268]
이러한 문제는 종종 데이터 전처리 과정에서 발생할 수 있으며, 로그 변환 등과 같은 스케일 변환 후에는 반드시 원본 데이터와 같은 스케일에서 결과를 비교해야 정확한 평가가 가능합니다. 따라서 예측값(pred)과 실제값(y_val)에 대해 각각 로그와 반로그(지수) 변환의 상호 적용 여부를 확인하는 것이 중요합니다.
또한, NaN이나 infinity 값이 있는 경우에는 해당 값을 제거하거나 적절한 전처리를 통해 해결해야 합니다. RMSE 계산 시에는 데이터 전처리 과정에 유의하셔서 일관된 스케일을 유지하는 것이 중요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.