inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정판] 파이썬 머신러닝 완벽 가이드

early_stopping_rounds,eval_metric 오류 관련 질문있습니다.

1451

김정구

작성한 질문수 1

0

분류 강의 위스콘신 유방암 예측 실습강의 코드입니다.

from xgboost import XGBClassifier

xgb_wrapper = XGBClassifier(n_estimators=400, learning_rate=0.05, max_depth=3)

evals = [(X_tr, y_tr), (X_val, y_val)]

xgb_wrapper.fit(X_tr, y_tr, early_stopping_rounds=50, eval_metric="logloss",

eval_set=evals, verbose=True)

ws50_preds = xgb_wrapper.predict(X_test)

ws50_pred_proba = xgb_wrapper.predict_proba(X_test)[:, 1]

 

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[36], line 5
      3 xgb_wrapper = XGBClassifier(n_estimators=400, learning_rate=0.05, max_depth=3)
      4 evals = [(X_tr, y_tr), (X_val, y_val)]
----> 5 xgb_wrapper.fit(X_tr, y_tr, early_stopping_rounds=50, eval_metric="logloss", 
      6                 eval_set=evals, verbose=True)
      8 ws50_preds = xgb_wrapper.predict(X_test)
      9 ws50_pred_proba = xgb_wrapper.predict_proba(X_test)[:, 1]

File ~\anaconda3\Lib\site-packages\xgboost\core.py:726, in require_keyword_args.<locals>.throw_if.<locals>.inner_f(*args, **kwargs)
    724 for k, arg in zip(sig.parameters, args):
    725     kwargs[k] = arg
--> 726 return func(**kwargs)

TypeError: XGBClassifier.fit() got an unexpected keyword argument 'early_stopping_rounds'

위 코드를 입력하였을때 이러한 오류가 뜨는데 무엇이 원인인지 잘모르겠습니다. Xgboost 버전은 2.1.0이고 파이썬버전같은경우는 3.1.1입니다.

 

아래는 인터넷에 검색하여 찾아낸 방법으로 입력한 코드입니다

from xgboost import XGBClassifier

xgb_wrapper=XGBClassifier(n_estimators=400,learning_rate=0.05,max_depth=3,early_stopping_rounds=50,eval_metric="logloss")

evals=[(X_tr,y_tr),(X_val,y_val)]

xgb_wrapper.fit(X_tr,y_tr,

eval_set=evals,verbose=True)

ws50_preds=xgb_wrapper.predict(X_test)

ws50_pred_proba=xgb_wrapper.predict_proba(X_test)[:,1]

 

아래는 위 코드에 대한 결과값입니다.

오차 행렬 [[35 2] [ 2 75]] 정확도: 0.9649, 정밀도: 0.9740, 재현율: 0.9740, F1: 0.9740, AUC:0.9961

 

아래는 책에 있는 코드를 입력하였을때의 결과값입니다.

오차 행렬

[[35 3]

[ 2 75]]

정확도: 0.9561, 정밀도: 0.9615, 재현율: 0.9740, F1: 0.9677, AUC:0.9933

 

제 생각에는 버전차이에 따른 문제같은데 수정된 코드를 사용하였을때 결과값은 도출되지만 기존 강의에서 사용하신 코드의 결과값과는 다릅니다. 수정된 코드를 그대로 사용하는게 맞을지 아니면 다른 방법이 있는지 궁금합니다.

python 머신러닝 통계

답변 1

1

권 철민

안녕하십니까,

설치 버전이 강의 실습 버전과 다르군요. conda 설치시 xgboost 버전이 바뀐 것 같습니다.

기존 xgboost 설치를 삭제하고, 다시 xgboost 설치가 필요해 보입니다.

먼저 conda 가상환경 command를 실행하신 후 xgboost를 삭제해 보십시요.

pip uninstall xgboost

이후에 xgboost를 아래 버전으로 재 설치 해보십시요.

pip install xgboost==1.5.0

이후에 jupyter notebook 기동하신 후

import xgboost

print(xgboost.__version__) 하셔서 버전이 1.5.0 인지 확인하고 다시 실습 코드 수행 부탁드립니다.

감사합니다.

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

16

2

안녕하세요 열심히 수강중인 학생입니다

0

63

2

정수 인덱싱

0

68

2

넘파이 오류

0

85

2

11강 numpy의 axis 축 질문 드립니다.

0

85

2

Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.

0

79

2

Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.

0

70

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

75

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

64

2

5강 강의 오류가 있어요.

0

84

1

실무에서 LTV 관련 모델 선택 질문입니다!

0

72

2

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

0

69

3

파이썬 다운그레이 후 사이킷런 재설치

0

117

2

좋은 강의 감사합니다.

0

74

2

scoring 함수 음수값

0

67

2

6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?

0

100

2

분류 평가 정확도 예측

0

79

2

안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.

0

99

1

카카오톡 채널 있나요

0

108

1

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

0

190

2

pca 스케일링 관련하여 질문드립니다.

0

100

2

주피터 대신 구글 코랩

0

172

2

강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?

0

148

2

실루엣 스코어..

0

86

2