๐Ÿ„[weekly project] RandomForest์™€ BoostingTree๋ฅผ ์ด์šฉํ•œ ๋ฒ„์„ฏ ์‹์šฉ์—ฌ๋ถ€ ์˜ˆ์ธก

Yujeongยท2023๋…„ 11์›” 30์ผ
0

ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

  • ์ง€๊ธˆ๊นŒ์ง€ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ ๋‹จ์ˆœํžˆ ์˜ˆ์ธก์—์„œ ๋๋‚ด์ง€ ์•Š๊ณ  EDA, ์‹œ๊ฐํ™”, ๋ชจ๋ธ๋ง๊นŒ์ง€
    ์ „ ๊ณผ์ •์— ๊ฑธ์ณ ์‹œ๋„ํ•œ ์ฒซ ์ฃผ๊ฐ„ ํ”„๋กœ์ ํŠธ์ด๋‹ค.
  • ๋ฒ„์„ฏ์˜ ๊ฐ ํŠน์ง•๋“ค์ด ์‹์šฉ์—ฌ๋ถ€์™€ ์–ด๋–ค ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ณ  ๋ฒ„์„ฏ์˜ ์‹์šฉ์—ฌ๋ถ€๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.
  • ์ „์ฒด ๋ฐ์ดํ„ฐ 8124 ๊ฐœ๋ฅผ 8:2 ๋น„์œจ๋กœ train-set๊ณผ test-set์œผ๋กœ ๋‚˜๋ˆด๊ณ  ๋‚˜๋ˆˆ train-set์œผ๋กœ ๋ชจ๋ธ์„ ํ•™์Šต์‹œ์ผฐ๋‹ค.

๋ฐ์ดํ„ฐ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ ๋ฐ ์ „์ฒ˜๋ฆฌ

[๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ]

  • class: ๋…์„ฑ ์—ฌ๋ถ€(edible=e, poisonous=p)

  • cap-shape: ๋ฒ„์„ฏ ๋ชจ์ž ๋ชจ์–‘(bell=b,conical=c,convex=x,flat=f, knobbed=k,sunken=s)

  • cap-surface: ๋ฒ„์„ฏ ๋ชจ์ž ํ‘œ๋ฉด(fibrous=f,grooves=g,scaly=y,smooth=s)

  • cap-color: ๋ฒ„์„ฏ ๋ชจ์ž ์ƒ‰์ƒ(brown=n,buff=b,cinnamon=c,gray=g,green=r,pink=p,purple=u,red=e,white=w,yellow=y)

  • bruises: ๋ฒ„์„ฏ์˜ ๋ฉ ์—ฌ๋ถ€(bruises=t,no=f)

  • odor: ๋ฒ„์„ฏ ๋ƒ„์ƒˆ(almond=a,anise=l,creosote=c,fishy=y,foul=f,musty=m,none=n,pungent=p,spicy=s)

  • gill-attachment: ๋ฒ„์„ฏ ์ฃผ๋ฆ„ ์—ฐ๊ฒฐ ๋ฐฉ์‹(attached=a,descending=d,free=f,notched=n)

  • gill-spacing: ๋ฒ„์„ฏ์˜ ์ฃผ๋ฆ„ ๊ฐ„๊ฒฉ(close=c,crowded=w,distant=d)

  • gill-size: ์ฃผ๋ฆ„ ํญ(broad=b,narrow=n)

  • gill-color: ์ฃผ๋ฆ„ ์ƒ‰์ƒ(black=k,brown=n,buff=b,chocolate=h,gray=g, green=r,orange=o,pink=p,purple=u,red=e,white=w,yellow=y)

  • stalk-shape: ๋ฒ„์„ฏ์˜ ์ค„๊ธฐ ๋ชจ์–‘(enlarging=e,tapering=t)

  • stalk-root: ๋ฒ„์„ฏ์˜ ๋ฟŒ๋ฆฌ ๋ชจ์–‘(bulbous=b,club=c,cup=u,equal=e,rhizomorphs=z,rooted=r,missing=?)

  • stalk-surface-above-ring: ๋ง ์œ„์˜ ํ‘œ๋ฉด ์งˆ๊ฐ(fibrous=f,scaly=y,silky=k,smooth=s)

  • stalk-surface-below-ring: ๋ง ์•„๋ž˜ ํ‘œ๋ฉด ์งˆ๊ฐ(fibrous=f,scaly=y,silky=k,smooth=s)

  • stalk-color-above-ring: ๋ง ์œ„์˜ ์ƒ‰์ƒ(brown=n,buff=b,cinnamon=c,gray=g,orange=o,pink=p,red=e,white=w,yellow=y)

  • stalk-color-below-ring: ๋ง ์•„๋ž˜ ์ƒ‰์ƒ(brown=n,buff=b,cinnamon=c,gray=g,orange=o,pink=p,red=e,white=w,yellow=y)

  • veil-type: ๋ฒ ์ผ(์ค„๊ธฐ ์ง€์ง€๋Œ€)์˜ ํƒ€์ž…(partial=p,universal=u)

  • veil-color: ๋ฒ ์ผ์˜ ์ƒ‰์ƒ(brown=n,orange=o,white=w,yellow=y)

  • ring-number: ๋ฒ„์„ฏ์˜ ๋ง ๊ฐœ์ˆ˜(none=n,one=o,two=t)

  • ring-type: ๋ฒ„์„ฏ์˜ ๋ง ์ข…๋ฅ˜(cobwebby=c,evanescent=e,flaring=f,large=l,none=n,pendant=p,sheathing=s,zone=z)

  • spore-print-color: ๋ฒ„์„ฏ์˜ ํฌ์ž ํ”„๋ฆฐํŠธ ์ƒ‰์ƒ(black=k,brown=n,buff=b,chocolate=h,green=r,orange=o,purple=u,white=w,yellow=y)

  • population: ๋ฒ„์„ฏ์˜ ๋ถ„ํฌ ํ˜•ํƒœ(abundant=a,clustered=c,numerous=n,scattered=s,several=v,solitary=y)

  • habitat: ์ž๋ผ๋Š” ํ™˜๊ฒฝ(grasses=g,leaves=l,meadows=m,paths=p,urban=u,waste=w,woods=d)

[์ „์ฒ˜๋ฆฌ]

1. ๊ฒฐ์ธก์น˜ ํ™•์ธ

  • ๊ฒฐ์ธก์น˜ ํ™•์ธ ๊ฒฐ๊ณผ ๋ชจ๋“  ์ปฌ๋Ÿผ์— ๊ฒฐ์ธก์น˜๋Š” ์—†์—ˆ๋‹ค.

2. ์‹์šฉ์—ฌ๋ถ€์— ๋”ฐ๋ฅธ ๊ฐ ํŠน์ง•๋ณ„ ๋ถ„ํฌ ํ™•์ธ

  • cap-shape๋Š” ๋Œ€๋ถ€๋ถ„ 'x'์™€ 'f'์˜ ํ˜•ํƒœ๋ฅผ, odor์€ 'n'๊ณผ 'f'๋ฅผ, gill-attachment๋Š” 'f'์˜ ํ˜•ํƒœ๋ฅผ ๋ ๊ณ  ์žˆ๋‹ค.

  • veil-type์€ 'p' ํ•œ ๊ฐ€์ง€๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๊ณ , veil-color๋Š” ๋Œ€๋ถ€๋ถ„ 'w'๋ฅผ ๋ ๊ณ  ์žˆ๋‹ค.

  • ring-number๋Š” ๋Œ€๋ถ€๋ถ„ 'o'๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

3. Encoding

๋ฐฉ๋ฒ• 1)

  • ๋ชจ๋“  ์ปฌ๋Ÿผ์ด ์นดํ…Œ๊ณ ๋ฆฌํ˜• ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด one-hot encoding์„ ์ง„ํ–‰ํ•˜๋ ค ํ–ˆ์ง€๋งŒ ๊ทธ๋Ÿฌ๋ฉด ์ปฌ๋Ÿผ ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์ง€๊ธฐ ๋•Œ๋ฌธ์— label encoding์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.


๋ฐฉ๋ฒ• 2)

  • ์ข…๋ฅ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ์ปฌ๋Ÿผ์€ top3๋งŒ ๋ฝ‘์•„ ๋‚˜๋จธ์ง€ ์ข…๋ฅ˜๋Š” 'ETC'๋กœ ์ „์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ณ  label encoding์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.
    (์˜ˆ๋ฅผ๋“ค์–ด, habitat์˜ ๊ฒฝ์šฐ ์ข…๋ฅ˜๊ฐ€ 7๊ฐ€์ง€์ธ๋ฐ ์ด๋ฅผ 'd', 'g', 'p', ๊ทธ๋ฆฌ๊ณ  'ETC'๋กœ ์ „์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ณ  ์ง„ํ–‰ํ•จ. ๊ทธ๋Ÿผ ์ด 4์ข…๋ฅ˜์˜ ๋ณ€์ˆ˜๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.)


๋ฐฉ๋ฒ• 3)
  • ์นดํ…Œ๊ณ ๋ฆฌํ˜• ๋ณ€์ˆ˜ ์ค‘ ์ข…๋ฅ˜๊ฐ€ 4๊ฐœ ๋ฏธ๋งŒ์ธ ๋ณ€์ˆ˜๋“ค์€ one-hot encoding์„, ๊ทธ ์™ธ์˜ ๋ณ€์ˆ˜๋“ค์€ label encoding์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.
  • one-hot encoding = bruises, gill-attachment, gill-spacing, gill-size, stalk-shape, veil-type, ring-number
  • label encoding = ๋‚˜๋จธ์ง€ ์ปฌ๋Ÿผ


๋ชจ๋ธ ์ƒ์„ฑ ๋ฐ ํ•™์Šต์‹œํ‚ค๊ธฐ

best_params ๋กœ ์ตœ์ ์˜ ํ•ด๋ฅผ ๊ตฌํ•ด๋ณด๊ณ  ์ ์ ˆํ•œ ๊ฐ’์œผ๋กœ ์ˆ˜์ •ํ•˜์—ฌ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚จ ๊ฒฐ๊ณผ train-set์˜ ๊ฒฝ์šฐ

  • ๋ฐฉ๋ฒ• 1)
    RandomForest๋กœ ํ•™์Šต์‹œํ‚จ ๊ฒฐ๊ณผ ๋ฒ ์ŠคํŠธ ์Šค์ฝ”์–ด 1 ์ด ๋‚˜์™”๊ณ , ํ‰๊ท  ์Šค์ฝ”์–ด๋Š” 0.9975384615384615 ๊ฐ€ ๋‚˜์™”๋‹ค.
    ๋ชจ๋ธ์— ์˜ํ–ฅ์„ ๋ฏธ์นœ ์ƒ์œ„ 10๊ฐœ ๋ณ€์ˆ˜๋ฅผ ํ™•์ธํ•œ ๊ฒฐ๊ณผ ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

  • ๋ฐฉ๋ฒ• 2)
    RandomForest๋กœ ํ•™์Šต์‹œํ‚จ ๊ฒฐ๊ณผ ๋ฒ ์ŠคํŠธ ์Šค์ฝ”์–ด 1์ด ๋‚˜์™”๊ณ , ํ‰๊ท  ์Šค์ฝ”์–ด๋Š” 0.994923076923077 ์ด ๋‚˜์™”๋‹ค.
    ๋ชจ๋ธ์— ์˜ํ–ฅ์„ ๋ฏธ์นœ ์ƒ์œ„ 10๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ํ™•์ธํ•œ ๊ฒฐ๊ณผ ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

  • ๋ฐฉ๋ฒ• 3)
    BoostingTree๋กœ ํ•™์Šต์‹œํ‚จ ๊ฒฐ๊ณผ ๋ฒ ์ŠคํŠธ ์Šค์ฝ”์–ด๋Š” 0.9998461538461537 ์ด ๋‚˜์™”๊ณ , ํ‰๊ท  ์Šค์ฝ”์–ด๋Š” 0.9996923076923077 ์ด ๋‚˜์™”๋‹ค.
    feature_importance๋ฅผ ์ฐ์–ด๋ณด๋ฉด ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์ด ์ˆœ์„œ๋Œ€๋กœ ์˜ˆ์ธก๋ชจ๋ธ์— ๊ธฐ์—ฌํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์ตœ์ข…๊ฒฐ๊ณผ

  • label encoding์„ ํ–ˆ์„ ๋•Œ ์˜ˆ์ธก ๊ฒฐ๊ณผ๊ฐ€ ๊ฐ€์žฅ ์ž˜ ๋‚˜์˜จ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

Insight๐Ÿ’ก

  • top3๋งŒ ๊ฐ€์ ธ์™€์„œ ๋Œ๋ ธ์„ ๋•Œ, ์œ ์˜๋ฏธํ•œ ๋ณ€์ˆ˜๋“ค์ด ํ•˜๋‚˜๋กœ ํ•ฉ์ณ์ ธ์„œ ํŒ๋ณ„ ๊ธฐ์ค€์ด ์ค„์–ด๋“ค์–ด ์˜ˆ์ธก ์ ์ˆ˜๊ฐ€ ๋‚ฎ๊ฒŒ ๋‚˜์˜จ ๊ฒƒ ๊ฐ™๋‹ค.

  • one-hot encoding์„ ํ–ˆ์„ ๋•Œ์—๋Š” ์ปฌ๋Ÿผ ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์ ธ ์˜คํžˆ๋ ค ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚จ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ด๋ณด์•˜๋‹ค.

  • cap-color๊ฐ€ ์‹์šฉ์—ฌ๋ถ€์— ์˜ํ–ฅ์„ ๊ฐ€์žฅ ํฌ๊ฒŒ ๋ฏธ์น  ๊ฒƒ์ด๋ผ๊ณ  ์˜ˆ์ƒํ–ˆ์—ˆ๋‹ค.

  • ํžˆํŠธ๋งต์„ ๊ทธ๋ ค๋ณธ ๊ฒฐ๊ณผ ์‹์šฉ์—ฌ๋ถ€(class)๋Š” bruises, gill-color, stalk-root, ring-type, spore-print-color ์™€ ๊ฐ•ํ•œ ์ƒ๊ด€์„ฑ์„ ๊ฐ€์ง„๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.

  • ์‹์šฉ์—ฌ๋ถ€์™€ odor ์‚ฌ์ด์— ์ƒ๊ด€์„ฑ์ด ์—†์—ˆ๋Š”๋ฐ ์˜ˆ์ธก ๋ชจ๋ธ์— odor๊ฐ€ ๊ฐ€์žฅ ๋†’๊ฒŒ ๊ธฐ์—ฌํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
    ์ƒํ•œ ๋ƒ„์ƒˆ๊ฐ€ ๋‚˜๋Š” ๋ฒ„์„ฏ์€ ๋…๋ฒ„์„ฏ์ผ ํ™•๋ฅ ์ด ๋งค์šฐ ๋†’๊ธฐ๋•Œ๋ฌธ์— ๊ฐ€๊นŒ์ด ๋‹ค๊ฐ€๊ฐ€์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.
    โ˜ ๏ธ๐Ÿšจํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ๋…๋ฒ„์„ฏ์„ ๋ƒ„์ƒˆ๋กœ ๊ตฌ๋ถ„ํ•˜๊ธฐ๋Š” ๊ต‰์žฅํžˆ ์œ„ํ—˜ํ•œ ๋ฐฉ๋ฒ•์ด๋‹ˆ ์‹œ๋„ํ•˜์ง€ ์•Š์„ ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค. (์–ด๋А์ •๋„ ๊ฑฐ๋ฆฌ๊ฐ€ ์•ˆ์ „ํ•œ์ง€๋Š” ๋ชจ๋ฆ„...)

  • ๋งŒ์•ฝ ๋ฒ„์„ฏ์„ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•œ๋‹ค๋ฉด spore-print-color๊ฐ€ ๊ฒ€์ •(k), ๊ฐˆ์ƒ‰(n)์ธ ๊ฒƒ๊ณผ stalk-root๊ฐ€ club-shape(c), rooted(r)์ธ ๊ฒƒ์ด ๋…์„ฑ์ด ์—†์„ ํ™•๋ฅ ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„๋ƒˆ๋‹ค.


<์ฝ”๋“œ ๋ชจ์Œ>

๋ฐฉ๋ฒ•1) ์ฝ”๋“œ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐฉ๋ฒ•2) ์ฝ”๋“œ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐฉ๋ฒ•3) ์ฝ”๋“œ ๋ฐ”๋กœ๊ฐ€๊ธฐ

profile
์‚ฌ๋ž‘์˜ ๋ˆˆ๋น›โญ๏ธ๐Ÿ˜‰

0๊ฐœ์˜ ๋Œ“๊ธ€