๐Ÿ’ก WIDA/DACON ๋ถ„๋ฅ˜-ํšŒ๊ท€

[DACON/์ฐธ๊ณ ์ž๋ฃŒ] ์•™์ƒ๋ธ” ๋ชจ๋ธ

๋ ค์šฐ 2023. 5. 1. 17:21

1. ๊ฐœ์š”

1) ์•™์ƒ๋ธ”์ด๋ž€?

  • ์—ฌ๋Ÿฌ๊ฐœ์˜ classifier๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ฐ classifier๊ฐ€ ์˜ˆ์ธกํ•œ ๊ฐ’๋“ค์„ ๊ฒฐํ•ฉํ•จ์œผ๋กœ์จ ์ •ํ™•ํ•œ ์ตœ์ข… ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜๋Š” ๊ธฐ๋ฒ•
  • ๋Œ€๋ถ€๋ถ„์˜ ์ •ํ˜•๋ฐ์ดํ„ฐ ๋ถ„๋ฅ˜ ์‹œ ์•™์ƒ๋ธ” ๋ชจ๋ธ๋“ค์ด ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋‚˜ํƒ€๋ƒ„
  • ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ, ๊ทธ๋ž˜๋””์–ธํŠธ ๋ถ€์ŠคํŒ… ๋“ฑ์˜ ๋ชจ๋ธ๋“ค์ด ์žˆ์Œ

2) ํ•™์Šต ์œ ํ˜•

  • ํˆฌํ‘œ๋ฅผ ํ†ตํ•ด ์ตœ์ข… ์˜ˆ์ธก ๊ฒฐ๊ณผ ๊ฒฐ์ •
    • ๋ณดํŒ…
    • ๋ฐฐ๊น…
  • ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ์‚ญ์Šต ์ˆ˜ํ–‰, ์˜ˆ์ธก์ด ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋Š” ๊ฐ€์ค‘์น˜ ๋ถ€์—ฌ
    • ๋ถ€์ŠคํŒ…
  • ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋ชจ๋ธ๋“ค์˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ๊ฐ’์„ ํ•™์Šต ๋ฐ์ดํ„ฐ๋กœ ๋งŒ๋“ค๊ณ , ๋‹ค๋ฅธ ๋ชจ๋ธ(๋ฉ”ํƒ€๋ชจ๋ธ)์— ์ด๋ฅผ ์žฌํ•™์Šต์‹œ์ผœ ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธก
    • ์Šคํƒœํ‚น
  • ์ด ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์œ ํ˜•์ด ์žˆ์Œ

2. ์•™์ƒ๋ธ” ํ•™์Šต ์œ ํ˜•

1) ๋ณดํŒ…

  • ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐ€์ง„ classifier๋ฅผ ๊ฒฐํ•ฉํ•จ
  • ๋ณดํŒ… ์œ ํ˜•
    • ํ•˜๋“œ๋ณดํŒ…
      • ๋‹ค์ˆ˜๊ฒฐ์˜ ์›์น™๊ณผ ๋น„์Šทํ•œ ๋ถ„๋ฅ˜
      • ์˜ˆ์ธก ๊ฒฐ๊ณผ๊ฐ’ ์ค‘ ๋‹ค์ˆ˜์˜ ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ๊ฒฐ์ •ํ•œ ์˜ˆ์ธก๊ฐ’์„ ์ตœ์ข… ๋ณดํŒ… ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ ์„ ์ •
    • ์†Œํ”„ํŠธ๋ณดํŒ…
      • ๋ถ„๋ฅ˜๊ธฐ๋“ค์˜ ๋ ˆ์ด๋ธ” ๊ฐ’ ๊ฒฐ์ • ํ™•๋ฅ ์„ ๋ชจ๋‘ ๋”ํ•˜๊ณ  ์ด๋ฅผ ํ‰๊ท ์„ ๋‚ด์–ด ํ™•๋ฅ ์ด ๊ฐ€์žฅ ๋†’์€ ๋ ˆ์ด๋ธ” ๊ฐ’์„ ์ตœ์ข… ๋ณดํŒ… ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ ์„ ์ •
      • ์ผ๋ฐ˜์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์œ ํ˜•์ž„
    • ๋ณดํŒ… ์˜ˆ์ œ ์‹คํ–‰ ์‹œ ์ฃผ์˜์ 
      • logistic regression ๋ชจ๋ธ์˜ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์ค‘ max_iter์˜ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋œธ
      • ์ด ๊ฒฝ์šฐ max_iter์— ์ถฉ๋ถ„ํžˆ ํฐ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉด ์‚ฌ๋ผ์ง
...\\anaconda3\\lib\\site-packages\\sklearn\\linear_model\\_logistic.py:814: ConvergenceWarning: lbfgs failed to converge (status=1):
STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.

Increase the number of iterations (max_iter) or scale the data as shown in:
    <https://scikit-learn.org/stable/modules/preprocessing.html>
Please also refer to the documentation for alternative solver options:
    <https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression>
  n_iter_i = _check_optimize_result(
  • ํŠน์„ฑ
    • ๋ณดํŒ… ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ํ•ญ์ƒ ์„ฑ๋Šฅ์ด ์ข‹๊ฒŒ ๋‚˜์˜ค๋Š” ๊ฒƒ์€ ์•„๋‹˜
    • ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ, ๋ถ„ํฌ ๋“ฑ ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์— ์˜ํ•ด ์˜ˆ์ธก ์„ฑ๋Šฅ์ด ๋‹ฌ๋ผ์ง
    • ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์—์„œ ๊ฐ€์žฅ ์ฃผ์˜ํ•ด์•ผ ํ•˜๋Š” ์ ์€ ํŽธํ–ฅ-๋ถ„์‚ฐ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„

2) ๋ฐฐ๊น…(Bootstrapping Aggregating)

  • ๊ฐ๊ฐ์˜ classifier๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€ ์œ ํ˜•์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฐ˜์ด์ง€๋งŒ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ๋ง์„ ์„œ๋กœ ๋‹ค๋ฅด๊ฒŒ ๊ฐ€์ ธ๊ฐ€๋ฉด์„œ ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•ด ๋ณดํŒ…์„ ์ˆ˜ํ–‰ํ•จ
  • ์ด๋•Œ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ๋ง์‹œ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋“ค์ด ์ค‘์ฒฉ๋˜๋„๋ก ํ•˜๊ณ  ๊ฐ classifier์—๊ฒŒ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์„ Bootstrapping ๋ถ„ํ•  ๋ฐฉ์‹์ด๋ผ๊ณ  ๋ถ€๋ฆ„
  • ๋ฐฐ๊น… ๋Œ€ํ‘œ ๋ชจ๋ธ
    • Random Forest
      • Decision Tree ๋ชจ๋ธ์„ ์—ฌ๋Ÿฌ๊ฐœ ์ด์šฉํ•ด ์˜ˆ์ธก ํ›„ ๋ณดํŒ…์œผ๋กœ ์ตœ์ข… ๊ฒฐ์ •์„ ๋‚ด๋ฆผ
      • ์ฃผ์š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ
        • n_estimators
          • ๋žœ๋คํฌ๋ ˆ์ŠคํŠธ์—์„œ ๊ฒฐ์ •ํŠธ๋ฆฌ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ง€์ •ํ•จ
          • default=10
          • ๋งŽ์ด ์„ค์ •ํ•  ์ˆ˜๋ก ์„ฑ๋Šฅ์ด ์ข‹์•„์งˆ ์ˆ˜ ์žˆ์œผ๋‚˜ ๋ฌด์กฐ๊ฑด์ ์œผ๋กœ ํ–ฅ์ƒ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ, ํ•™์Šต ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆผ
        • max_features
          • decision tree์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋˜‘๊ฐ™์€ ๊ฒƒ
          • default = ‘auto’
          • ํŠธ๋ฆฌ ๋ถ„ํ•  ์‹œ ์ „์ฒด feature๋ฅผ ๋ชจ๋‘ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ sqrt(์ „์ฒด feature)๋งŒํผ ์ฐธ์กฐํ•จ (sqrt = ๋ฃจํŠธ)
        • max_depth
          • ํŠธ๋ฆฌ์˜ ์ตœ๋Œ€ ๊นŠ์ด ์„ค์ •
        • min_samples_leaf
          • ์ตœ์†Œ ๋ฆฌํ”„๋…ธ๋“œ์˜ ์ˆ˜
      • ์˜ˆ์ œ

3) ๋ถ€์ŠคํŒ…

  • ์—ฌ๋Ÿฌ๊ฐœ์˜ classifier๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•™์Šต, ์•ž์—์„œ ํ•™์Šตํ•œ ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ์˜ˆ์ธก์ด ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ์—๋Š” ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
  • ์˜ˆ์ธก ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜ ์•™์ƒ๋ธ” ํ•™์Šต์„ ์ฃผ๋„ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋Œ€ํ‘œ์ ์ธ ๋ถ€์ŠคํŒ…
  • ๋ถ€์ŠคํŒ… ๊ตฌํ˜„
    • AdaBoost(Adaptive Boosting)
      • ์ž˜๋ชป ๋ถ„๋ฅ˜๋œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•˜์—ฌ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜๊ณ  ๋” ์ž˜ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
      • ์ด๋•Œ ํ•™์Šต ํšŒ์ฐจ๊ฐ€ ๋Š˜์–ด๋‚  ์ˆ˜๋ก ๊ฐ€์ค‘์น˜๊ฐ€ ์ ์  ๋” ์ปค์ง
      • ์—ฌ๋Ÿฌ๋ฒˆ์˜ ํ•™์Šต ๊ฒฐ๊ณผ๋ฅผ ํ•ฉ์ณ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋†“์Œ
    • Gradient Boosting
      • AdaBoost์™€ ๋ฐฉ๋ฒ•์ด ์œ ์‚ฌํ•˜๋‚˜ ๊ฐ€์ค‘์น˜ ์—…๋ฐ์ดํŠธ ์‹œ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์„ ์ด์šฉํ•จ
      • ๊ฒฐ๊ณผ๊ฐ’์„ y, ์˜ˆ์ธก ํ•จ์ˆ˜๋ฅผ F(x)๋ผ๊ณ  ํ•  ๋•Œ ์—๋Ÿฌ๊ฐ’ h(x) = y - F(x)
      • ์ด ์‹์˜ ๊ฐ’์„ ์ตœ์†Œํ™” ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฐ€์ค‘์น˜๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๋ฐฉ์‹์ž„
  • ๋ถ€์ŠคํŒ… ๋Œ€ํ‘œ ๋ชจ๋ธ
    • GBM(Gradient Boosting Machine)
      • ์ผ๋ฐ˜์ ์œผ๋กœ ๋žœ๋คํฌ๋ ˆ์ŠคํŠธ๋ณด๋‹ค ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๋‚˜ ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ณ , ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹ ๋…ธ๋ ฅ๋„ ํ•„์š”ํ•จ
      • ์ฃผ์š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ
        • max_depth, max_features
        • loss
          • ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์—์„œ ์‚ฌ์šฉํ•  ๋น„์šฉํ•จ์ˆ˜ ์ง€์ •
          • default=deviance
        • learning_rate
          • ํ•™์Šต ์ง„ํ–‰ ์‹œ ์ ์šฉํ•˜๋Š” ํ•™์Šต๋ฅ ๋กœ ์—๋Ÿฌ ๊ฐ’์„ ๋ณด์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ณ„์ˆ˜
          • 0~1 ์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ default๋Š” 0.1
          • ๋„ˆ๋ฌด ์ž‘์€ ๊ฐ’์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด๋„ ๊ฐ’์ด ์ž‘์•„ ์ตœ์†Œ ์˜ค๋ฅ˜๋ฅผ ์ •๊ตํ•˜๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋ฉฐ ํ•™์Šต ๋ฐ˜๋ณต์ด ์™„๋ฃŒ๋˜๊ธฐ ์ „์— ์ตœ์†Œ ์˜ค๋ฅ˜๊ฐ’์„ ๋ชป์ฐพ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ.
          • ๋„ˆ๋ฌด ํฐ๊ฐ’์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์—…๋ฐ์ดํŠธ๋œ ๊ฐ’์ด ๋„ˆ๋ฌด ์ปค์ ธ ์ตœ์†Œ ์˜ค๋ฅ˜๋ฅผ ์ง€๋‚˜์ณ ์˜ˆ์ธก ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋‚˜ ์ˆ˜ํ–‰ ์‹œ๊ฐ„์€ ์งง์•„์ง
          • n_estimators์™€ ์ƒํ˜ธ๋ณด์™„์ ์œผ๋กœ ์กฐํ•ฉํ•ด ์‚ฌ์šฉํ•จ
        • n_estimators
          • weak learner์˜ ๊ฐœ์ˆ˜๋กœ ๊ฐ weak learner๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ์˜ค๋ฅ˜๋ฅผ ๋ณด์ •ํ•˜๋ฏ€๋กœ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์˜ˆ์ธก ์„ฑ๋Šฅ์ด ์ข‹์•„์งˆ ์ˆ˜ ์žˆ์œผ๋‚˜ ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆผ
          • default=100
        • subsample
          • weak learner๊ฐ€ ํ•™์Šต์— ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ƒ˜ํ”Œ๋ง ๋น„์œจ
          • default=1
          • 0~1์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง
      • ์˜ˆ์ œ
      • https://github.com/cAhyoung/dacon_stars_type_clf/blob/main/practive_code/gbm_study.ipynb
    • XGBoost(eXtra Gradient Boost)
      • ํŠธ๋ฆฌ๊ธฐ๋ฐ˜ ์•™์ƒ๋ธ” ํ•™์Šต
      • GBM ๊ธฐ๋ฐ˜์ด์ง€๋งŒ ๋Š๋ฆฐ ์ˆ˜ํ–‰์‹œ๊ฐ„, ๊ณผ์ ํ•ฉ ๊ทœ์ œ์˜ ๋ถ€์žฌ ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๊ฐ๊ด‘๋ฐ›์Œ
      • ๋ณ‘๋ ฌ CPU ํ™˜๊ฒฝ์—์„œ ๋ณ‘๋ ฌํ•™์Šต์ด ๊ฐ€๋Šฅํ•ด GBM๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ํ•™์Šต์„ ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ์Œ๋›ฐ์–ด๋‚œ ์˜ˆ์ธก ์„ฑ๋Šฅ ๋ถ„๋ฅ˜์™€ ํšŒ๊ท€ ์˜์—ญ์—์„œ ๋›ฐ์–ด๋‚œ ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ๋ณด์ž„
        GBM ๋Œ€๋น„ ๋น ๋ฅธ ์ˆ˜ํ–‰์‹œ๊ฐ„ ๋ณ‘๋ ฌ ์ˆ˜ํ–‰ ๋ฐ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด GBM๋ณด๋‹ค ๋น ๋ฅธ ์†๋„๋ฅผ ๋ณด์ž„. ๋‹ค๋งŒ GBM์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๋ชจ๋ธ๋“ค๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ๋น ๋ฅธ ๊ฒƒ์€ ์•„๋‹˜
        ๊ณผ์ ํ•ฉ ๊ทœ์ œ(Regurarization) ํ‘œ์ค€ GBM์˜ ๊ฒฝ์šฐ ๊ณผ์ ํ•ฉ ๊ทœ์ œ ๊ธฐ๋Šฅ์ด ์—…์Šน๋‚˜ XGBoost๋Š” ์ž์ฒด์ ์œผ๋กœ ๊ณผ์ ํ•ฉ ๊ทœ์ œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ → ๋” ๊ฐ•ํ•œ ๋‚ด๊ตฌ์„ฑ์„ ๋ณด์ž„
        Tree pruning GBM์€ ๋ถ„ํ•  ์‹œ ๋ถ€์ • ์†์‹ค์ด ๋ฐœ์ƒํ•˜๋ฉด ๋ถ„ํ• ์„ ๋”์ด์ƒ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์œผ๋‚˜์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์€ ๋ถ„ํ• ์„ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Œ. ์ด๋”ฐ XGBoost์˜ ๊ฒฝ์šฐ max_depth์™€ ๊ฐ™์€ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ ๊ธ์ •์ ์ธ ์ด๋“์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋ถ„ํ• ์˜ ๊ฒฝ์šฐ ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ํ•จ์œผ๋กœ์จ ๋ถ„ํ• ๋˜๋Š” ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Œ
        ์ž์ฒด ๋‚ด์žฅ ๊ต์ฐจ๊ฒ€์ฆ ๋ฐ˜๋ณต ํ•™์Šต ์‹œ ๋‚ด๋ถ€์ ์œผ๋กœ train set๊ณผ test set์„ ์ด์šฉํ•ด ๊ต์ฐจ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ตœ์ ํ™”๋œ ๋ฐ˜๋ณต ์ˆ˜ํ–‰ ํšŸ์ˆ˜๋ฅผ ์ฐพ์•„๋ƒ„. ์ด๋•Œ ์ง€์ •๋œ ํšŸ์ˆ˜ ์ „์— ์ตœ์ ํ™”๋œ ๊ฐ’์„ ์ฐพ์•„๋‚ด๋ฉด ์กฐ๊ธฐ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Œ
        ๊ฒฐ์†๊ฐ’ ์ž์ฒด ์ฒ˜๋ฆฌ ๊ฒฐ์†๊ฐ’ ์ž์ฒด ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง
      • ์›๋ž˜๋Š” ์‚ฌ์ดํ‚ท๋Ÿฐ๊ณผ ํ˜ธํ™˜๋˜๋Š” ํŒจํ‚ค์ง€๊ฐ€ ์•„๋‹ˆ์˜€์œผ๋‚˜ ์‚ฌ์ดํ‚ท๋Ÿฐ์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ธฐ์— ์ถ”๊ฐ€์ ์œผ๋กœ ์‚ฌ์ดํ‚ท๋Ÿฐ๊ณผ ์—ฐ๋™๋˜๋Š” ๋ž˜ํผ ํด๋ž˜์Šค๋ฅผ ์ œ๊ณต
      • ์•„๋‚˜์ฝ˜๋‹ค ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ์—†๋Š” ๋ชจ๋ธ์ด๊ธฐ์— ์•„๋‚˜์ฝ˜๋‹ค ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ด์šฉํ•ด ์„ค์น˜ํ•ด์ค˜์•ผ ํ•จ
        • ์•„๋‚˜์ฝ˜๋‹ค ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰
        • conda install -c anaconda py-xgboost
      • ์ฃผ์š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ-ํŒŒ์ด์ฌ๋ž˜ํผ์šฉ ํŒŒ๋ผ๋ฏธํ„ฐ(์‚ฌ์ดํ‚ท๋Ÿฐ ๋ž˜ํผ์šฉ ํŒŒ๋ผ๋ฏธํ„ฐ)
        • ์ผ๋ฐ˜ ํŒŒ๋ผ๋ฏธํ„ฐ: ์‹คํ–‰ ์‹œ ์Šค๋ ˆ๋“œ ๊ฐœ์ˆ˜, ๋ชจ๋“œ ๋“ฑ์„ ์„ ํƒ, ๋””ํดํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉ
          • booster: gbtree ๋˜๋Š” gblinear → default=gbtree
          • silent: ์ถœ๋ ฅ ๋ฉ”์„ธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ผ๊นŒ๋ง๊นŒ? default=0 (๋‚˜ํƒ€๋ƒ„)
          • nthread: CPU ์‹คํ–‰ ์Šค๋ ˆ๋‘ ๊ฐœ์ˆ˜๋ฅผ ์กฐ์ ˆ, default=์ „์ฒด๋‹ค์”€
        • ๋ถ€์Šคํ„ฐ ํŒŒ๋ผ๋ฏธํ„ฐ: ์ตœ์ ํ™”, ๋ถ€์ŠคํŒ…, regularization ๋“ฑ๊ณผ ๊ด€๋ จ๋œ ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ •
          • eta(learning_rate): ํ•™์Šต๋ฅ ๊ณผ ๊ฐ™์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ 0~1 ์‚ฌ์ด์˜ ๊ฐ’์„ ์ง€์ •ํ•˜๋‚˜ ์ผ๋ฐ˜์ ์œผ๋กœ 0.01~0.2 ์‚ฌ์ด์˜ ๊ฐ’์„ ์„ ํ˜ธ. default=0.3(0.1)
          • num_boost_rounds: n_estimators์™€ ๊ฐ™์€ ํŒŒ๋ผ๋ฏธํ„ฐ
          • min_child_weight: ํŠธ๋ฆฌ์—์„œ ์ถ”๊ฐ€์ ์œผ๋กœ ๊ฐ€์ง€๋ฅผ ๋‚˜๋ˆŒ ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•  weight์˜ ์ดํ•ฉ์œผ๋กœ ํด์ˆ˜๋ก ๋ถ„ํ• ์„ ์ž์ œํ•จ. default=1
          • gamma(min_split_loss): ํŠธ๋ฆฌ์˜ ๋ฆฌํ”„๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ๋‚˜๋ˆŒ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์ตœ์†Œ ์†์‹ค ๊ฐ์†Œ ๊ฐ’์œผ๋กœ ํ•ด๋‹น ๊ฐ’๋ณด๋‹ค ํฐ loss๊ฐ€ ๊ฐ์†Œํ–ˆ์„ ๋•Œ ๋ฆฌํ”„๋…ธ๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ณผ์ ํ•ฉ์„ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ. default=1
          • max_depth: ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ max_depth์™€ ๊ฐ™์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ 0์œผ๋กœ ์„ค์ • ์‹œ ๊นŠ์ด์— ์ œํ•œ์ด ์—†์œผ๋ฉฐ ๊ฐ’์ด ๋†’์„์ˆ˜๋ก ํŠน์ • ํ”ผ์ณ ์กฐ๊ฑด์— ํŠนํ™”๋œ ๋ฃฐ์ด ๋งŒ๋“ค์–ด์ง€๋ฏ€๋กœ ๊ณผ์ ํ•ฉ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง€๋ฉฐ 3~10์˜ ๊ฐ’์„ ์ฃผ๋กœ ์ด์šฉํ•จ. default=6
          • sub_sample: GBM์˜ supsample๊ณผ ๊ฐ™์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ํŠธ๋ฆฌ๊ฐ€ ์ปค์ ธ ๊ณผ์ ํ•ฉ๋˜๋Š” ๊ฒƒ์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ๋ง ๋น„์œจ์„ ์„ค์ •ํ•˜๊ณ , ์ผ๋ฐ˜์กฑ์œผ๋กœ 0.5~1์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•จ. default=1
          • colsample_bytree(): GBM์˜ max_features์™€ ์œ ์‚ฌํ•˜๋ฉฐ ํŠธ๋ฆฌ ์ƒ์„ฑ์— ํ•„์š”ํ•œ ํ”ผ์ณ๋ฅผ ์ž„์˜๋กœ ์ƒ˜ํ”Œ๋งํ•˜๋Š”๋ฐ ์‚ฌ์šฉ. ํ”ผ์ณ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ๊ณผ์ ํ•ฉ ์กฐ์ • ์‹œ ์‚ฌ์šฉ๋จ. default=1
          • lambda(reg_lambda): L2 regularization ์ ์šฉ, ํ”ผ์ณ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์„ ๊ฒฝ์šฐ ์ ์šฉ์„ ๊ฒ€ํ† ํ•˜๋ฉฐ ๊ฐ’์ด ํด์ˆ˜๋ก ๊ณผ์ ํ•ฉ ๊ฐ์†Œ ํšจ๊ณผ๊ฐ€ ์žˆ์Œ. default=1
          • alpha(reg_alpha): L1 regularization ์ ์šฉ, ํ”ผ์ณ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์„ ๊ฒฝ์šฐ ์ ์šฉ์„ ๊ฒ€ํ† ํ•˜๋ฉฐ ๊ฐ’์ด ํด์ˆ˜๋ก ๊ณผ์ ํ•ฉ ๊ฐ์†Œ ํšจ๊ณผ๊ฐ€ ์žˆ์Œ. default=0
          • scale_pos_weight: ํŠน์ • ๊ฐ’์œผ๋กœ ์น˜์šฐ์นœ ๋น„๋Œ€์นญ ํด๋ž˜์Šค๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ์…‹์˜ ๊ท ํ˜•์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ. default=1
        • ํ•™์Šต ํƒœ์Šคํฌ ํŒŒ๋ผ๋ฏธํ„ฐ: ํ•™์Šต ์ˆ˜ํ–‰ ์‹œ ๊ฐ์ฒด ํ•จ์ˆ˜, ํ‰๊ฐ€๋ฅผ ์œ„ํ•œ ์ง€ํ‘œ ๋“ฑ์„ ์„ค์ •
          • objective: ์ตœ์†Ÿ๊ฐ’์„ ๊ฐ€์ ธ์•ผํ•˜๋Š” ์†์‹คํ•จ์ˆ˜๋ฅผ ์ •์˜. ์ด์ง„๋ถ„๋ฅ˜์ธ์ง€ ๋‹ค์ค‘๋ถ„๋ฅ˜์ธ์ง€์— ๋”ฐ๋ผ์„œ ๋‹ฌ๋ผ์ง
            • binary:logistic: ์ด์ง„๋ถ„๋ฅ˜์ผ ๋•Œ ์ ์šฉํ•˜๋Š” ์†์‹คํ•จ์ˆ˜
            • multi:softmax: ๋‹ค์ค‘๋ถ„๋ฅ˜์ผ ๋•Œ ์ ์šฉํ•˜๋Š” ์†์‹คํ•จ์ˆ˜๋กœ ์ด ๊ฒฝ์šฐ label class์˜ ๊ฐœ์ˆ˜์ธ num_class ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ค์ •ํ•ด์ค˜์•ผ ํ•จ
            • multi:softprob: softmax์™€ ์œ ์‚ฌํ•˜๋‚˜ ๊ฐœ๋ณ„ label class์— ํ•ด๋‹น๋˜๋Š” ์˜ˆ์ธก ํ™•๋ฅ ์„ ๋ฐ˜ํ™˜ํ•จ
          • eval_metric: ๊ฒ€์ฆ์— ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋ฉฐ default=rmse(ํšŒ๊ท€์ธ ๊ฒฝ์šฐ), default=error(๋ถ„๋ฅ˜์ธ ๊ฒฝ์šฐ)
            • rmse: Root Mean Square Error
            • mae: Mean Absolute Error
            • logloss: Negative log-likelihood
            • error: Binary classification error rate (0.5 threshold)
            • merror: Multiclass classification error rate
            • mlogloss: Multiclass logloss
            • auc: Area under the curve
      • ๊ณผ์ ํ•ฉ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•
        • eta๊ฐ’์„ ๋‚ฎ์ถ”๊ณ  num_round๊ฐ’์„ ๋†’์—ฌ์คŒ
        • max_depth๊ฐ’์„ ๋†’์ž„
        • min_child_weight ๊ฐ’์„ ๋†’์ž„
        • gamma ๊ฐ’์„ ๋†’์ž„
        • subsample๊ณผ colcample_bytree๋ฅผ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์„ ํ†ตํ•ด ํŠธ๋ฆฌ๊ฐ€ ๋ณต์ ‘ํ•˜๊ฒŒ ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์„ ๋ง‰์Œ
    • LightGBM
      • XGBoost๋ณด๋‹ค ์‹œ๊ฐ„์ด ํ›จ์‹  ์ ๊ฒŒ ๊ฑธ๋ฆฌ๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๋„ ์ƒ๋Œ€์ ์œผ๋กœ ์ ์Œ
      • ํ•œ๊ฐ€์ง€ ๋‹จ์ ์€ ์ ์€ ๋ฐ์ดํ„ฐ์…‹์„ ํ•™์Šต์‹œํ‚ค๋Š” ๊ฒฝ์šฐ ๊ณผ์ ํ•ฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฌ์›€ → ์ผ๋ฐ˜์ ์œผ๋กœ 10000๊ฑด ์ดํ•˜์˜ ๊ฒฝ์šฐ ๊ณผ์ ํ•ฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ๋‹ค๊ณ  ํ•จ
      • GBM์˜ ํŠธ๋ฆฌ ๋ถ„ํ•  ๋ฐฉ์‹๊ณผ๋Š” ๋‹ค๋ฅธ ๋ฆฌํ”„ ์ค‘์‹ฌ ํŠธ๋ฆฌ ๋ถ„ํ•  ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด ๊ท ํ˜•์žกํžŒ ํŠธ๋ฆฌ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ตœ๋Œ€ ์†์‹ค๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ฆฌํ”„๋…ธ๋“œ๋ฅผ ์ง€์†์ ์œผ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๋น„๋Œ€์นญ์ ์ธ ํŠธ๋ฆฌ๊ฐ€ ๋งŒ๋“ค๊ณ , ์˜ˆ์ธก ์˜ค๋ฅ˜ ์†์‹ค์„ ์ตœ์†Œํ™” ํ•  ์ˆ˜ ์žˆ์Œ
      • ์‚ฌ์ดํ‚ท๋Ÿฐ ๋ž˜ํผ ๋ชจ๋“ˆ์ด ์กด์žฌํ•˜๋ฉฐ ๋ถ„๋ฅ˜์šฉ ๋ชจ๋ธ๊ณผ ํšŒ๊ท€์šฉ ๋ชจ๋ธ์ด ๋ชจ๋‘ ์กด์žฌ
      • ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ
        • ์ฃผ์š” ํŒŒ๋ผ๋ฏธํ„ฐ
          • num_iterations(n_estimators): ๋ฐ˜๋ณต ์ˆ˜ํ–‰ํ•˜๋ ค๋Š” ํŠธ๋ฆฌ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ฉฐ ํฌ๊ฒŒ ์ง€์ •ํ•  ์ˆ˜๋ก ์˜ˆ์ธก ์„ฑ๋Šฅ์ด ๋†’์•„์งˆ ์ˆ˜ ์žˆ์œผ๋‚˜ ์˜คํžˆ๋ ค ๊ณผ์ ํ•ฉ์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Œ. default=100
          • learning_rate: 0~1 ์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ ๋ถ€์ŠคํŒ…์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ๋•Œ ์—…๋ฐ์ดํŠธ๋˜๋Š” ํ•™์Šต๋ฅ ๋กœ ์ง€๋‚˜์น˜๊ฒŒ ์ž‘์•„์ง€๋ฉด ๊ณผ์ ํ•ฉ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ณ , ํ•™์Šต ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๊ฒŒ ๋จ. default=0.1
          • max_depth: 0๋ณด๋‹ค ์ž‘์€ ๊ฐ’์„ ์ง€์ •ํ•˜๋ฉด ๊นŠ์ด์— ์ œํ•œ์ด ์—†์œผ๋ฉฐ Leaf Wise ๊ธฐ๋ฐ˜์œผ๋กœ Depth Wise๋ณด๋‹ค ์ƒ๋Œ€์ ์œผ๋กœ ๊นŠ์ด๊ฐ€ ๋” ๊นŠ์Œ. default=1
          • min_data_in_leaf(min_child_samples): decision tree์˜ min_samples_leaf์™€ ๊ฐ™์€ ํŒŒ๋ผ๋ฏธํ„ฐ์ด๋ฉฐ ์ตœ์ข…์ ์œผ๋กœ ๊ฒฐ์ •๋˜๋Š” ํด๋ž˜์Šค์ธ ๋ฆฌํ”„๋…ธ๋“œ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ ์ตœ์†Œํ•œ์œผ๋กœ ํ•„์š”ํ•œ ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ž„. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ณผ์ ํ•ฉ์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ์ž„. default=20
          • num_leaves: ํ•˜๋‚˜์˜ ํŠธ๋ฆฌ๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฆฌํ”„์˜ ๊ฐœ์ˆ˜. default=31
          • boosting: ๋ถ€์ŠคํŒ… ํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ์ˆ ํ•˜๋Š” ๊ฒƒ์œผ๋กœ gbdt ๋˜๋Š” rf๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ. default=gbdt
          • bagging_fraction(subsample): ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ๋ง ๋น„์œจ์„ ์ง€์ •ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ณผ์ ํ•ฉ์„ ๋ง‰๋Š”๋ฐ ๋„์›€์„ ์คŒ. default=1.0
          • feature_fraction(colsample_bytree): ๊ฐ๊ฐ์˜ ํŠธ๋ฆฌ๋ฅผ ํ•™์Šต์‹œํ‚ฌ ๋•Œ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒํ•˜๋Š” ํ”ผ์ณ์˜ ๋น„์œจ์ด๋ฉฐ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ณผ์ ํ•ฉ์„ ๋ง‰๊ธฐ์œ„ํ•ด ์‚ฌ์šฉ๋จ. default=1.0
          • lambda_l2(reg_lambda): L2 Regulation์„ ์œ„ํ•œ ๊ฐ’์œผ๋กœ ํ”ผ์ณ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์ ์šฉ์„ ๊ฒ€ํ† ํ•˜๊ณ  ๊ฐ’์ด ํด์ˆ˜๋ก ๊ณผ์ ํ•ฉ ๊ฐ์†Œ ํšจ๊ณผ๊ฐ€ ์žˆ์Œ. default=0.0
          • lambda_l1(reg_alpha): L1 regulation์„ ์œ„ํžˆใ…ใ„ด ๊ฐ’์œผ๋กœ ๊ณผ์ ํ•ฉ ์ œ์–ด๋ฅผ ์œ„ํ•œ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ์ž„. default=0.0
        • Learning Task ํŒŒ๋ผ๋ฏธํ„ฐ
          • objective: ์ตœ์†Ÿ๊ฐ’์„ ๊ฐ€์ ธ์•ผ ํ•  ์†์‹คํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋ฉฐ ํšŒ๊ท€, ๋‹ค์ค‘ํด๋ž˜์Šค ๋ถ„๋ฅ˜, ์ด์ง„๋ถ„๋ฅ˜์— ๋”ฐ๋ผ ์†์‹คํ•จ์ˆ˜ ์ง€์ •
        ํŒŒ์ด์ฌ ๋ž˜ํผ LightGBM ์‚ฌ์ดํ‚ท๋Ÿฐ ๋ž˜ํผ LightGBM ์‚ฌ์ดํ‚ท๋Ÿฐ ๋ž˜ํผ XGBoost
        num_iterations n_estimators n_estimators
        learning_rate leaning_rate leaning_rate
        max_depth max_depth max_depth
        min_data_in_leaf min_child_samples  
        bagging_fraction subsamples subsamples
        feature_fraction colsample_bytree colsample_bytree
        lambda_l2 reg_lambda reg_lambda
        lambda_l1 reg_alpha reg_alpha
        early_stopping_round early_shoppimg_rounds early_shoppimg_rounds
        num_leaves num_leaves  
        min_sum_hessian_in_leaf min_child_weight min_child_weight
      • ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹
        • num_leaves๋Š” ๊ฐœ๋ณ„ ํŠธ๋ฆฌ๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฆฌํ”„์˜ ๊ฐœ์ˆ˜๋กœ ๋†’์ด๋ฉด ์ •ํ™•๋„๊ฐ€ ๋†’์•„์ง€๋‚˜ ํŠธ๋ฆฌ์˜ ๊ฐš์ด๊ฐ€ ๊นŠ์–ด์ง€๋ฉฐ ๋ชจ๋ธ ๋ณต์žก๋„๊ฐ€ ์ปค์ ธ ๊ณผ์ ํ•ฉ ์˜ํ–ฅ๋„๊ฐ€ ์ปค์ง
        • min_data_in_leaf๋Š” ์‚ฌ์ดํ‚ท๋Ÿฐ ๋ž˜ํผ ํด๋ž˜์Šค์—์„œ min_child_samples๋กœ ์ด๋ฆ„์ด ๋ฐ”๋€Œ๋ฉฐ ๊ณผ์ ํ•ฉ ๊ฐœ์„ ์„ ์œ„ํ•œ ์ค‘์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ค‘ ํ•˜๋‚˜์ž„. ๊ฐ’์ด ํด์ˆ˜๋ก ํŠธ๋ฆฌ๊ฐ€ ๊นŠ์–ด์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•จ
        • max_depth๋Š” ๋ช…์‹œ์ ์œผ๋กœ ๊นŠ์ด์˜ ํฌ๊ธฐ๋ฅผ ์ œํ•œํ•˜๋ฉฐ, num_leaves์™€ min_data_in_leaf๋ž‘ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ณผ์ ํ•ฉ์„ ๊ฐœ์„ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•จ
      • ์˜ˆ์ œ
# ์•„๋‚˜์ฝ˜๋‹ค ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ด€๋ฆฌ์ž๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰
conda install -c conda-forge lightgbm
  • ํ•ด๋‹น ๋ฉ”์„ธ์ง€๋Š” ๋‹ค์Œ ๋‘ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์‚ฌ๋ผ์งˆ ์˜ˆ์ •์ด๋ผ๊ณ  ํ•˜๋‹ˆ ์ฐธ๊ณ ํ•˜์ž
\\anaconda3\\lib\\site-packages\\lightgbm\\sklearn.py:726: UserWarning: 'early_stopping_rounds' argument is deprecated and will be removed in a future release of LightGBM. Pass 'early_stopping()' callback via 'callbacks' argument instead.
  _log_warning("'early_stopping_rounds' argument is deprecated and will be removed in a future release of LightGBM. "
\\anaconda3\\lib\\site-packages\\lightgbm\\sklearn.py:736: UserWarning: 'verbose' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose' argument is deprecated and will be removed in a future release of LightGBM. "