inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코드 5줄의 마법, 5줄 머신러닝 PyCaret: 데이터 분석 프로젝트에 AutoML 날개 달기

MLflow를 활용한 MLOps

best model 이 튜닝이 불가한 게 선택된 경우

해결된 질문

83

Maitri_7

작성한 질문수 14

0

from pycaret.datasets import get_data
from pycaret.regression import *
insurance_df = get_data('insurance')
setup(data = insurance_df, target = 'charges', session_id = 123, fold_shuffle = True,
      log_experiment = True, experiment_name = 'insurance_v1')
best = compare_models(sort = 'R2')

여기까지 실행하는 경우 잘 작동합니다. 다만 뒤에 tunemodel 실행 시 에러나는데 그게 모델이 튜닝이 안되는 모델이 선택되는 경우가 있는 것 같아요

# 어떤 모델이 선택되었는지 확인
print(f"선택된 모델: {best}")
print(f"모델 이름: {type(best).__name__}")
선택된 모델: DummyRegressor()
모델 이름: DummyRegressor

이 경우에 pycaret이 처음부터 튜닝할 모델만 알고 가는 게 아니라서 이런 오류가 생기는건지 궁금합니다.

 

만약 그렇다면 처음부터 include나 exclude로 모델 지정 외에는 없나요?

 

 


python 머신러닝 automl mlops 인공지능(ai)

답변 2

0

해여

안녕하세요! 강사해여입니다.

 

인프런 인턴님이 너무 잘 답변주셨군요!

 

Pycaret은 성능을 기준으로 모델을 선택하기 때문에 항상 튜닝기법이 사용 가능한 모델이 선택되지는 않아요!

 

그래서 중간중간 강의에서 몇 가지 모델을 제외 후 선택하고 있는데, 이러한 이유랍니다.

 

하지만 실제로 AutoML은 간단한 형태의 구현이 선호되기 때문에 이런 부분에 대해서는 후처리 혹은 예외처리를 사용해 패스해버리는 경우가 많답니다 🙂

 

감사합니다!

0

인프런 AI 인턴

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

PyCaret을 사용할 때, compare_models 함수를 통해 자동으로 여러 모델을 비교하고 가장 높은 성능을 보이는 모델을 선택하게 됩니다. 이때 선택된 모델이 DummyRegressor와 같이 튜닝이 불가능한 모델일 경우, tune_model을 실행할 때 에러가 발생할 수 있습니다. 이는 DummyRegressor가 매우 단순한 모델로, 튜닝할 하이퍼파라미터가 거의 없기 때문입니다.

문제 해결 방법

  1. 특정 모델 제외:
    compare_models 함수에서 include 또는 exclude 파라미터를 사용하여 특정 모델을 포함하거나 제외할 수 있습니다. DummyRegressor를 제외하고 다른 모델만 비교하려면 exclude 파라미터를 사용할 수 있습니다.
   best = compare_models(sort='R2', exclude=['DummyRegressor'])
  1. 모델 명시:
    초기 단계에서 튜닝 가능한 모델만 선택할 수도 있습니다. include 파라미터를 사용하여, 튜닝이 가능한 모델만 포함하도록 하세요.
   best = compare_models(sort='R2', include=['LinearRegression', 'RandomForestRegressor', ...])

여기에서 ‘…‘은 본인이 원하는 모델의 이름을 추가합니다.

추가 설명

DummyRegressor는 기본적으로 baseline 성능을 측정하는 용도로 사용됩니다. 따라서, 실질적으로 성능을 향상시키고자 할 때에는 해당 모델을 제외하고 진행하는 것이 바람직합니다.

아래 링크에서 좀 더 구체적인 방법과 예제를 참고할 수 있으니 확인해 보시기 바랍니다:
- PyCaret 튜토리얼: PyCaret에서 특정 모델 제외하기

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

교재 파일이나 실습자료 한번에 다운로드 받는 메뉴가 없나요

0

3

0

max x5 플랜을 결제했습니다.

0

8

1

클로드 초기 설정

0

7

1

사용자 스코프 설정 파일 적용 문제

0

8

1

6-6

0

11

1

OAuth방식 강의 문의

0

12

0

클로드코드 유료플랜 할인 방법이 있을까요?

0

22

0

작업형 1 유형 부분

0

13

1

API Error : 400 에러의 원인과 해결방법이 궁금합니다!!

0

16

2

수강평 이벤트

0

17

2

퍼미션 권한 설정 문의

0

19

2

실습 안떠요

0

15

0

Json 플러그인 사용시 variable collection 없음

0

14

1

커서에서 shift+enter가 안됩니다.

0

20

2

import torch가 안되는 경우는 어떻게 하나요?

0

16

1

mcp 설치를 못하겠어요

0

35

2

작업형 1 (삭제예정, 구 버전)

0

32

2

강의노트는 어디있나요?

0

17

1

pycaret 인코딩 버그 있는 것 같네요

0

36

1

pycaret 인코딩 버그 있는 것 같네요

0

44

1

13강 질문

0

70

2

.

0

114

2

핫픽스코드 수정필요

0

68

2

ydata_profiling 랜더링 이슈

0

63

1