해결된 질문
작성
·
25
0
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
rmse를 사이킥런에서 지원하지 않아서, mse로 만들어줘야하는 걸로 알고있는데, 그냥 아래처럼 써도 값은 출력되더라고요. 혹시 이유 알수있을까요?
from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor(random_state=0)
rf.fit(X_tr,y_tr)
pred=rf.predict(X_val)
root_mean_squared_error(y_val,pred)
이렇게 쓰면안되나요?
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. khu0605님께서 사이킷런에서 RMSE를 직접 지원하지 않는 이유에 대한 궁금증을 말씀해주셨네요.
사이킷런은 MSE(Mean Squared Error) 함수를 제공하지만, RMSE(Root Mean Squared Error)는 직접 지원하지 않습니다. RMSE는 사실 MSE를 구한 후 제곱근을 취한 값이므로, 간단히 MSE의 결과에 제곱근을 취하여 구할 수 있습니다. 따라서 사이킷런에서 mean_squared_error
함수와 numpy
의 np.sqrt
함수를 조합하여 RMSE를 계산할 수 있습니다.
아래는 RMSE를 계산하는 전형적인 방법입니다:
from sklearn.metrics import mean_squared_error
import numpy as np
# 예측 값과 실제 값
mse = mean_squared_error(y_val, pred)
rmse = np.sqrt(mse)
하지만 root_mean_squared_error(y_val, pred)
와 같은 함수는 사이킷런에서는 지원하지 않습니다. 만약 해당 코드를 사용하여 값이 출력된다면, 아마도 이전에 해당 함수가 정의되어 있거나 사용자 정의 함수일 가능성이 큽니다.
좀 더 자세한 내용을 알고 싶다면, 다른 유사한 질문도 확인해 보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.