강의

멘토링

커뮤니티

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

xacodud님의 프로필 이미지
xacodud

작성한 질문수

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

작업형2 모의문제2

랜덤포레스트 런타임

해결된 질문

작성

·

25

0

image.png

랜덤포레스트 사용에서

model.fit으로 학습시키는 코드를 실행시키면 굉장히 오래 돌아가는데 왜그러는걸까요??

답변 2

0

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

문제가 있는 것 같습니다.

새로 고침해도 그렇다면 데이터가 너무 큰 것이 아닌가 싶은데

print(X_tr.shape, y_tr.shape) 결과와 전체 코드 (데이터 불러오기 빼고) 보여주시겠어요?

0

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

랜덤포레스트 모델은 여러 개의 결정 트리를 생성하고 이를 결합하여 예측을 수행하는 앙상블 학습 방법이기 때문에, 데이터셋 규모가 크거나 특성 개수가 많은 경우 학습 시간이 길어질 수 있습니다. 모델의 성능을 최적화하거나 학습 시간을 줄이기 위해 다음과 같은 몇 가지 방법을 고려해보세요:

  1. 하이퍼파라미터 조정: n_estimators, 즉 생성할 트리 개수를 조정할 수 있습니다. 기본값은 100이나, 적절한 값으로 줄여 학습 시간을 줄일 수 있습니다. 다만, 너무 작은 값은 모델 성능에 악영향을 미칠 수 있습니다.

  2. 데이터의 크기 조절: 만약 데이터셋이 매우 크다면, 사용 가능한 RAM이 부족해지거나 연산 시간이 길어질 수 있습니다. 이를 해결하기 위해 데이터의 샘플링을 고려할 수 있습니다.

  3. 병렬 처리 사용: RandomForestRegressor는 병렬 처리를 지원합니다. n_jobs 파라미터를 조정하여 사용할 CPU 코어 수를 설정할 수 있습니다. 예를 들어 n_jobs=-1은 모든 가용 코어를 사용합니다.

  4. 특성 선택: 중요한 특성만을 선택하여 모델을 학습하면 시간이 절약됩니다. 이 방법은 모델 해석에도 유리할 수 있습니다.

유사한 질문에 대한 게시물이 있으니 참고하시기 바랍니다:
- 랜덤포레스트와 xgb: 여러 모델의 변수 사용에 대한 팁.
- model.fit에러: 모델 관련 에러 해결에 대한 응용.

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

xacodud님의 프로필 이미지
xacodud

작성한 질문수

질문하기