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

허쿡님의 프로필 이미지
허쿡

작성한 질문수

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

분류 실습 2: 신용카드 사기 예측 실습 - 02

light GBM 파라미터 질문

작성

·

213

0

안녕하세요. 강의 잘 듣고 있습니다 :)

 

분류 실습 2: 신용카드 사기 예측 실습 - 02, 13:32

에서 boost_from_average 에 대해서 설명해 주시는데요. 해당 파라미터는 무엇을 위한 파라미터 인가요?

그리고 라벨값이 불균형한 경우 해당 파라미터를 False 로 지정하면 왜 재현율, auc 성과에 유리한 것인가요?

 

답변 부탁드립니다. 감사합니다 :)

답변 2

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

boost_from_average 파라미터가 정확히 어떤 파라미터인지는 저도 잘 모릅니다.

아래 공식문서에도 adjusts initial score to the mean of labels for faster convergence 라고만 적혀 있습니다.

https://lightgbm.readthedocs.io/en/latest/Parameters.html

다만 정황상(?) 판단컨데, Boosting으로 첫번째 Tree를 만들때 loss를 위해 사용되는 기반 score를 random 값이 아닌 전체 labels값의 평균값에 기반해서 설정을 하는 것으로 판단됩니다.

boost_from_average값의 기본 값은 true인데, 경험적으로 볼때 일반적인 데이터 세트에서는 true가 좀 더 성능이 좋습니다. 심지어 1:9 정도의 skew된 데이터 세트에서도 true가 성능이 좀 더 좋은 것 같습니다.

그런데 신용카드 데이터 세트와 같이 극도로 skew된 데이터 세트에서는 true가 성능이 많이 떨어집니다. 이유는 저도 잘 모르겠습니다. 그나마 추측해 보건데 극도로 skew되어 있을 경우 초기 score값을 전체 labels의 평균값으로 할 경우 평균값이 0에 너~무 가까이 될 경우에 문제가 아닌가 싶습니다(0이 1보다 월등히 많기 때문에).

해당 사항은 강의에서도 말씀드렸듯이 거의 버그(?) 레벨로 간주되어서 lightgbm 사용할 때 유의가 필요한 사항입니다.

감사합니다.

 

0

허쿡님의 프로필 이미지
허쿡
질문자

답변 감사합니다 :)

허쿡님의 프로필 이미지
허쿡

작성한 질문수

질문하기