작성
·
14
0
수치형 데이터 민맥스스케일링을 했는데도 값이 0.8 이하로 나와서
max_depth를 설정하니 0.8이 그나마 넘거든요
이럴때는 설정을 하는게 좋을까요 아니면 그냥 베이스로 가는것이 나을까요
# #모델구축하기(1)
# from sklearn.ensemble import RandomForestClassifier
# model=RandomForestClassifier(random_state=100)
# model.fit(X_tr,y_tr)
# pred=model.predict_proba(X_val)
# pred#0.7825077399380
#모델구축하기(1)
from sklearn.ensemble import RandomForestClassifier
model=RandomForestClassifier(random_state=100,max_depth=5)
model.fit(X_tr,y_tr)
pred=model.predict_proba(X_val)
pred #0.8123839009287926)
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
이선희님께서는 랜덤 포레스트 모델의 max_depth
설정에 관해 질문을 주셨군요. max_depth
는 랜덤 포레스트 모델의 각 결정 트리의 최대 깊이를 제한하는 파라미터로, 모델의 복잡도를 조절하는 데 중요한 역할을 합니다.
특히, 모델 성능이 max_depth
를 설정했을 때 더 좋다면 (예를 들어 테스트 또는 검증 데이터에서의 정확도가 높다면), max_depth
를 조정하는 것이 적절할 수 있습니다. 설정하지 않으면 트리가 너무 깊어져 과적합이 발생할 수 있으며, 설정한 경우에는 모델의 복잡도를 줄여 과적합을 줄일 수 있습니다.
결론적으로: 머신러닝 모델의 성능은 데이터와 문제에 따라 다를 수 있으므로 다양한 max_depth
값을 시도하여 최적의 값으로 설정하는 것이 좋습니다. 교차 검증을 통해 설정된 파라미터가 일반화 성능을 높이는지 확인하세요.
추가적으로, 여러 max_depth
값을 시도하며 그에 따른 모델 성능을 평가하고 기록하는 방법도 추천드립니다.
도움이 되셨기를 바랍니다!