인프런 커뮤니티 질문&답변
5-2type2.ipynb 질문 (작업형2 모의문제2)
해결된 질문
작성
·
83
1
- 강의 에서 예측진행시 선형회귀 랏소 릿지의 경우 
- model= 하고 뒤에 해당 모델을 작성했는데 
- 18분 22초 랜덤포레스트의 경우 regressor =RandomForestRegressor()로 정의해 놓고 
- 밑에 학습은 model.fit으로 하고 pred도 model.fit으로 했는데 그럼 위에 있는 라쏘를 가지고 모델링을 한게 아닌가 궁금합니다. 
※요약 1: 랜덤포레스트에는 모델로 안하고 왜 regressor = 으로해서 진행했는가,
요약2: model.fit으로 진행했는데, import를 랜덤포레스트로 했음에도 , 랜덤포레스트가 아닌 위에 model을 정의한 라쏘로 학습이 된것 아닌가
이렇게 궁금합니다!!
답변 2
1
시험이 끝난 뒤라 답변이 늦었네요!
regressor =RandomForestRegressor()로 정의했다면
regressor로 하는 것이 맞습니다. 제가 복사해서 쓰다 오류가 있었네요
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 인승님.
질문 해주신 내용은 머신러닝 모델을 다룰 때 변수명과 코드 작성 방식에 관련된 문제입니다. 질문하신 핵심은 왜 특정 변수명을 사용하였고, 실제로 어떤 모델이 활용되었는가에 대한 부분입니다.
- 변수명 일관성 문제: - regressor = RandomForestRegressor()로 정의한 후, 이후 코드에서- model.fit을 사용한 것은 코드의 변수가 일관되게 사용되지 않았음을 나타냅니다. 일반적으로,- RandomForestRegressor()와 같은 모델을 생성할 때는 그 변수명을 지속적으로 사용하는 것이 좋습니다. 예를 들어,- rf_model로 변수를 정의한 후- rf_model.fit()과 같은 방식으로 일관되게 사용하는 것이 명확합니다.
- 실제로 사용된 모델: - model이라는 변수명은 다른 곳에서 이미 선언된 라쏘 같은 다른 모델을 나타내고 있었을 가능성이 있습니다. 따라서- RandomForestRegressor를 사용하고자 했다면 변수명을 혼동했을 가능성이 큽니다. 코드 중에서- regressor를- model로 다시 지정하지 않는다면,- model.fit은 이전에 정의한 라쏘 모델의- fit메서드를 호출하게 됩니다.
이를 해결하기 위해 변수명을 명확히 구분하는 것이 필요합니다. rf_model, lasso_model 등으로 명시하면 각 모델에 접근하는 부분에서 혼동이 줄어듭니다.
유사한 질문과 답변이 이미 커뮤니티에 올라와 있습니다. 아래 링크에서 추가적인 설명을 참고하실 수 있습니다:
- 랜덤포레스트와 xgb: 이 포스트는 랜덤포레스트와 다른 모델을 혼용할 때 발생할 수 있는 문제에 대해 설명합니다.
- 섹션5 작업형2 모의문제2 질문 있습니다.: 유사한 상황에서의 코드 작성 방법에 대한 질문과 답변이 담겨있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






