인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

인승님의 프로필 이미지
인승

작성한 질문수

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

작업형2 모의문제2

5-2type2.ipynb 질문 (작업형2 모의문제2)

해결된 질문

작성

·

22

0

  • 강의 에서 예측진행시 선형회귀 랏소 릿지의 경우

  • model= 하고 뒤에 해당 모델을 작성했는데

  • 18분 22초 랜덤포레스트의 경우 regressor =RandomForestRegressor()로 정의해 놓고

  • 밑에 학습은 model.fit으로 하고 pred도 model.fit으로 했는데 그럼 위에 있는 라쏘를 가지고 모델링을 한게 아닌가 궁금합니다.

※요약 1: 랜덤포레스트에는 모델로 안하고 왜 regressor = 으로해서 진행했는가,

요약2: model.fit으로 진행했는데, import를 랜덤포레스트로 했음에도 , 랜덤포레스트가 아닌 위에 model을 정의한 라쏘로 학습이 된것 아닌가

이렇게 궁금합니다!!

답변 2

0

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

시험이 끝난 뒤라 답변이 늦었네요!

regressor =RandomForestRegressor()로 정의했다면

regressor로 하는 것이 맞습니다. 제가 복사해서 쓰다 오류가 있었네요

감사합니다.

0

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

질문 해주신 내용은 머신러닝 모델을 다룰 때 변수명과 코드 작성 방식에 관련된 문제입니다. 질문하신 핵심은 왜 특정 변수명을 사용하였고, 실제로 어떤 모델이 활용되었는가에 대한 부분입니다.

  1. 변수명 일관성 문제: regressor = RandomForestRegressor()로 정의한 후, 이후 코드에서 model.fit을 사용한 것은 코드의 변수가 일관되게 사용되지 않았음을 나타냅니다. 일반적으로, RandomForestRegressor()와 같은 모델을 생성할 때는 그 변수명을 지속적으로 사용하는 것이 좋습니다. 예를 들어, rf_model로 변수를 정의한 후 rf_model.fit()과 같은 방식으로 일관되게 사용하는 것이 명확합니다.

  2. 실제로 사용된 모델: model이라는 변수명은 다른 곳에서 이미 선언된 라쏘 같은 다른 모델을 나타내고 있었을 가능성이 있습니다. 따라서 RandomForestRegressor를 사용하고자 했다면 변수명을 혼동했을 가능성이 큽니다. 코드 중에서 regressormodel로 다시 지정하지 않는다면, model.fit은 이전에 정의한 라쏘 모델의 fit 메서드를 호출하게 됩니다.

이를 해결하기 위해 변수명을 명확히 구분하는 것이 필요합니다. rf_model, lasso_model 등으로 명시하면 각 모델에 접근하는 부분에서 혼동이 줄어듭니다.

유사한 질문과 답변이 이미 커뮤니티에 올라와 있습니다. 아래 링크에서 추가적인 설명을 참고하실 수 있습니다:
- 랜덤포레스트와 xgb: 이 포스트는 랜덤포레스트와 다른 모델을 혼용할 때 발생할 수 있는 문제에 대해 설명합니다.
- 섹션5 작업형2 모의문제2 질문 있습니다.: 유사한 상황에서의 코드 작성 방법에 대한 질문과 답변이 담겨있습니다.

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

인승님의 프로필 이미지
인승

작성한 질문수

질문하기