inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

early_stopping_rounds 변화에 따른 loss와 정확도

해결된 질문

401

ABC

작성한 질문수 2

0

안녕하세요. 항상 강의 보며 많은 도움 받고 있습니다.

섹션4.분류 XGBoost를 이용한 위스콘신 유방암 예측(사이킷런 Wrapper XGBoost 사용)

위의 강의를 듣고 궁금점이 생겨 질문 드립니다.

아래 코드를 사용해 early_stopping_rounds를 50, 10일 때 결과를 봤는데

강의와 다르게 성능이 올라가는 것이 의문입니다.

10일때가 loss는 분명 더 큰데 정확도는 높게 나옵니다.

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]
get_clf_eval(y_test , ws50_preds, ws50_pred_proba)

early_stopping_rounds=50일 때의 결과:

validation_1-logloss:0.23533 , 정확도 0.9649

정확도: 0.9649, 정밀도: 0.9740, 재현율: 0.9740,    F1: 0.9740, AUC:0.9961

early_stopping_rounds=10일 때의 결과:

validation_1-logloss:0.25165, 정확도 0.9737

정확도: 0.9737, 정밀도: 0.9868, 재현율: 0.9740,    F1: 0.9804, AUC:0.9954

python 머신러닝 통계

답변 1

1

권 철민

안녕하십니까,

강의에서 사용된 위스콘신 데이터 세트는 검증 세트가 그렇게 크지 않아서 early stopping 별로 정확도의 차이에 대해서 너무 민감하게 생각하시지 않으셨으면 합니다.

일반적으로 early stopping이 많으면(여기서는 50) 좀 더 최적화 성능이 좋아집니다. 하지만 early stopping이 크다고 무조건 최적화 성능이 좋아지지는 않습니다. 오버 피팅이 될 확률도 높아지기 때문입니다. 예를 들어 평가는 logloss이기 때문에 loss값이 적어지는 방향성으로 최적화가 되지만, 검증 데이터에 대한 다른 평가지표, 예를 들어 정확도는 오히려 조금 떨어질 수 있습니다. 그렇지만 이런 경우는 그렇게 흔하지는 않으며, 아마 위스콘신 데이터의 검증 데이터가 그렇게 크지 않으므로 평가시 이러한 결과가 나오는 걸로 생각됩니다.

요약드리면 전반적으로는 early stopping 이 클 수록 최적화 성능이 좀 더 나은 경향이 있지만, 반드시 그렇지는 않습니다. 특히나 검증 데이터 세트가 작은 경우에는 그렇지 않은 경우가 발생할 확률이 좀 더 높은 것 같습니다.

감사합니다.

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

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

72

2

scoring 함수 음수값

0

67

2

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

0

100

2

분류 평가 정확도 예측

0

78

2

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

0

99

1

카카오톡 채널 있나요

0

107

1

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

0

190

2

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

0

100

2

주피터 대신 구글 코랩

0

172

2

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

0

148

2

실루엣 스코어..

0

86

2

float64 null 값 처리 방법

0

103

2