[AIS7] ML (9)

BBakHyeยท2022๋…„ 11์›” 14์ผ
0

๐Ÿฆ AI SCHOOL 7๊ธฐ

๋ชฉ๋ก ๋ณด๊ธฐ
24/52
post-thumbnail

0701 ๋ณต์Šต

๐Ÿ’ก ํ”ผ์ฒ˜์Šค์ผ€์ผ๋ง์„ ํ•˜๋Š” ๋ชฉ์ : ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ฐพ์ง€ ๋ชปํ•˜๋Š” ๋ถ€๋ถ„๋“ค์— ๋Œ€ํ•ด ํžŒํŠธ๋ฅผ ์ค˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ ์‹œํ‚ค๋Š” ๊ฒƒ

๐Ÿค” ๊ธฐ์ˆ ํ†ต๊ณ„๊ฐ’์œผ๋กœ ๋ฌด์—‡์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์„๊นŒ?

  • ๊ฒฐ์ธก์น˜
  • ์ด์ƒ์น˜
  • ํ‘œ์ค€ํŽธ์ฐจ
  • ์ „์ฒด ํ”ผ์ฒ˜์— ๋Œ€ํ•œ ํŠน์ด์ 

๐Ÿค” histogram์„ ๊ทธ๋ ค๋ณด๋Š” ๋ชฉ์ ?
์ „์ฒ˜๋ฆฌ๋ฅผ ํ•  ๋•Œ ํ•™์Šต๊ณผ ์˜ˆ์ธก์— ๋„์›€์ด ๋ ๋งŒํ•œ ํ”ผ์ฒ˜์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ๋ฒ•์ด ๋ฌด์—‡์ด ์žˆ์„์ง€ ๊ณ ๋ฏผํ•˜๊ธฐ ์œ„ํ•ด

  • ์ˆ˜์น˜ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ ํ™•์ธ, ์™œ๋„, ์ฒจ๋„๋ฅผ ํ†ตํ•ด ๋„ˆ๋ฌด ๋พฐ์กฑํ•˜์ง€ ์•Š์€์ง€ => ํ•œ ์ชฝ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชฐ๋ ค ์žˆ๋Š”์ง€ ํ™•์ธ
  • ์™œ๋„ => ๋„ˆ๋ฌด ํ•œ ์ชฝ์— ์น˜์šฐ์ณ์ ธ ์žˆ์ง€ ์•Š์€์ง€ ํ™•์ธ
  • ์ •๊ทœ๋ถ„ํฌ ํ˜•ํƒœ์ธ์ง€ ํ™•์ธ
  • ๋ง‰๋Œ€๊ฐ€ ๋–จ์–ด์ ธ ์žˆ๋‹ค๋ฉด ์ˆ˜์น˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ์ง€ ํ™•์ธ

๐Ÿค” ์ด์ƒ์น˜๋Š” ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ๊นŒ?

  • ์ด์ƒ์น˜๋ฅผ ํ‰๊ท ์ด๋‚˜ ์ค‘์•™๊ฐ’ ๋“ฑ์œผ๋กœ ๋Œ€์ฒดํ•˜๋ฉด ๋ฐ์ดํ„ฐ์— ์™œ๊ณก์ด ๋  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฃผ์˜ ํ•„์š”
  • ํ˜„์‹ค์„ธ๊ณ„์—์„œ ํ’€์–ด์•ผํ•  ๋ฌธ์ œ ์ค‘์—๋Š” ์ด์ƒ์น˜๋ฅผ ํƒ์ง€ํ•˜๋Š” ๋ฌธ์ œ๋„ ์žˆ๋‹ค.

๐Ÿค” ํฌ์†Œ๊ฐ’์€ ์™œ, ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ๊นŒ?
ํฌ์†Œ๊ฐ’์€ ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ ์ค‘์—์„œ ๋นˆ๋„๊ฐ€ ์ ๊ฒŒ ๋“ฑ์žฅํ•˜๋Š” ๊ฐ’์ด๋‹ค.

  • one-hot-encoding์„ ํ–ˆ์„ ๋•Œ ๋ฒ”์ฃผ๊ฐ€ ์ ์€ ๊ฐ’์„ ํ”ผ์ฒ˜๋กœ ๋งŒ๋“ค์–ด ์ฃผ๋ฉด ์—ฐ์‚ฐ์— ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๊ณ , overfitting์˜ ์šฐ๋ ค๊ฐ€ ์žˆ๋‹ค.
    ๐Ÿ‘‰๐Ÿป overfitting์˜ ์ด์œ ? ๋„ˆ๋ฌด ์ ์€ ๊ฐ’์„ ํ•™์Šตํ•ด์„œ ์ผ๋ฐ˜ํ™” ํ•˜๊ธฐ ๋•Œ๋ฌธ
  • ํฌ์†Œ๊ฐ’์„ ์ „์ฒ˜๋ฆฌ ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š”
    1) ๊ธฐํƒ€๋กœ ๋ฌถ๋Š” ๋ฐฉ๋ฒ• (data binning)๋„ ์žˆ๊ณ  ์•„์˜ˆ ๊ฒฐ์ธก์น˜๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ 
    2) pd.get_dummies ํ˜น์€ OneHotEncoder๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์ธ์ฝ”๋”ฉ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๐Ÿค” transformation?
ํ‘œ์ค€ ์ •๊ทœ๋ถ„ํฌ ํ˜•ํƒœ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„  log transformation ํ›„ scaling ํ•˜๋Š” ์ˆœ์„œ

๐Ÿค” ์ด์‚ฐํ™”๋ž€?
์ด์‚ฐํ™” (cut, qcut)๋Š” RFM ๊ธฐ๋ฒ•์—์„œ๋„ ์ข…์ข… ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•
Recency, Frequency, Monetary => ๊ณ ๊ฐ์ด ์–ผ๋งˆ๋‚˜ ์ตœ๊ทผ์—, ์ž์ฃผ, ๋งŽ์ด ๊ตฌ๋งคํ–ˆ๋Š”์ง€๋ฅผ ๋ถ„์„ํ•  ๋•Œ ์‚ฌ์šฉ

๐Ÿค” ์ด์‚ฐํ™”๋ฅผ ํ•˜๋Š” ์ด์œ ?

  • ์—ฐ์†๋œ ์ˆ˜์น˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๊ฐ„ํ™”ํ•ด์„œ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ํžŒํŠธ๋ฅผ ์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.
  • ํŠธ๋ฆฌ๋ชจ๋ธ์ด๋ผ๋ฉด ๋„ˆ๋ฌด ์ž˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ„์ง€ ์•Š์•„ ์ผ๋ฐ˜ํ™” ํ•˜๋Š”๋ฐ ๋„์›€์ด ๋  ์ˆ˜๋„ ์žˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ธฐ์ค€์ด ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— EDA๋ฅผ ํ†ตํ•ด ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ์˜ˆ์ธก์— ๋„์›€์ด ๋ ์ง€ ํ™•์ธํ•œ๋‹ค.
  • ์—ฐ์†๋œ ์ˆ˜์น˜ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ๊ฒŒ ๋œ๋‹ค.
  • ์˜คํžˆ๋ ค ์ž˜๋ชป ๋‚˜๋ˆ„๋ฉด ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜๋„ ์žˆ๋‹ค.

โ—๏ธ ์ธ์ฝ”๋”ฉํ•  ๋•Œ fit()์€ train์—๋งŒ, test์—๋Š” transform()๋งŒ!
โ—๏ธ ์›ํ•ซ์ธ์ฝ”๋”ฉ ํ–ˆ์„ ๋•Œ๋Š” train, test ํ”ผ์ฒ˜์˜ ์ˆ˜๊ฐ€ ๊ฐ™์€์ง€ ํ™•์ธ!

print(train_ohe.shape, test_ohe.shape)

๐Ÿ‘€ ๋‹คํ•ญ์‹ ์ „๊ฐœ(Polynomial Expansion) ์šฉ์–ด์™€ ์นœํ•ด์ง€๊ธฐ

0702 ์‹ค์Šต

๐Ÿค” train๊ณผ test์˜ ๋ฐ์ดํ„ฐ๋ฅผ concat์œผ๋กœ ํ•ฉ์น˜๋ฉด?
์žฅ์ : ์ „์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋ฒˆ๋งŒ ํ•ด๋„ ๋œ๋‹ค.
๋‹จ์ : test์—๋งŒ ๋“ฑ์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ”ผ์ฒ˜์— ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋˜๋Š” ๋Œ€ํšŒ ์ •์ฑ…์ด ์žˆ์„ ๋•Œ ์ •์ฑ… ์œ„๋ฐ˜์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€ํšŒ ๋ฐ์ดํ„ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— test๋ฅผ ๋ฏธ๋ฆฌ ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ ํ˜„์‹ค์„ธ๊ณ„์—์„œ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

nlargest(์ถœ๋ ฅํ•  ํ–‰์˜ ๊ฐฏ์ˆ˜, ๊ธฐ์ค€์ด ๋˜๋Š” ์ปฌ๋Ÿผ) : ์กฐ๊ฑด์— ๋”ฐ๋ผ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ถœ๋ ฅ


๐Ÿ™‹๐Ÿปโ€โ™€๏ธ ์งˆ๋ฌธ

Q: ๋ฒ”์ฃผ๊ฐ€ ์ ์€ ๊ฐ’์„ ํ”ผ์ฒ˜๋กœ ๋งŒ๋“ค์–ด ์ฃผ๋ฉด ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋˜ ์žˆ์„ ์ˆ˜ ์žˆ์„๊นŒ์š”?
A: ๊ณผ๋Œ€์ ํ•ฉ์˜ ์šฐ๋ ค๊ฐ€ ์žˆ๋‹ค.

Q: ๋„ˆ๋ฌด ํฌ์†Œํ•œ ๊ฐ’์ด๋ผ๋ฉด one-hot-encoding ํ•  ๋•Œ ์–ด๋–ค ์ „์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
A: ๊ธฐํƒ€๋กœ ๋ฌถ๋Š” ๋ฐฉ๋ฒ• (data binning)๋„ ์žˆ๊ณ  ์•„์˜ˆ ๊ฒฐ์ธก์น˜๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  pd.get_dummies ํ˜น์€ OneHotEncoder๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ์ธ์ฝ”๋”ฉ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

Q: ํ‘œ์ค€์ •๊ทœ๋ถ„ํฌ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” 1) ์Šค์ผ€์ผ๋ง์ด ๋จผ์ €๋‹ค 2) ๋กœ๊ทธ๋ณ€ํ™˜์ด ๋จผ์ €๋‹ค
A: ๋กœ๊ทธ๋ณ€ํ™˜์ด ๋จผ์ €๋‹ค.

Q: ์™œ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๊ทœ๋ถ„ํฌ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๋จธ์‹ ๋Ÿฌ๋‹์ด๋‚˜ ๋”ฅ๋Ÿฌ๋‹์—์„œ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋‚ผ๊นŒ์š”?
A: ๋„ˆ๋ฌด ํ•œ์ชฝ์— ๋ชฐ๋ ค์žˆ๊ฑฐ๋‚˜ ์น˜์šฐ์ณ์ ธ ์žˆ์„ ๋•Œ๋ณด๋‹ค ๊ณ ๋ฅด๊ฒŒ ๋ถ„ํฌ๋˜์–ด ์žˆ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์„ ๋” ๊ณ ๋ฅด๊ฒŒ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ํ”ผ์ฒ˜์˜ ๋ฒ”์œ„๊ฐ€ ๋‹ค๋ฅด๋ฉด ํ”ผ์ฒ˜๊ฐ„ ๋น„๊ต๊ฐ€ ์–ด๋ ค์šฐ๋ฉฐ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(Gradient Descent)์ด๋‚˜ KNN, Clustering ๋“ฑ์˜ ๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • PCA ์ „์— ์ „์ฒ˜๋ฆฌ ํ•  ์†์„ฑ์˜ ์˜ํ–ฅ์„ ๊ฐ™์€ ์„ ์ƒ์—์„œ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.

Q: ๋„ˆ๋ฌด ํฐ ์Œ์ˆ˜๊ฐ’์ด ์žˆ์„๋•Œ! ์Œ์ˆ˜์ธ ๊ฐ’์ด ๋„ˆ๋ฌด ๋พฐ์กฑํ•˜๊ฑฐ๋‚˜ ์น˜์šฐ์ณ์ ธ ์žˆ์–ด์„œ ๋กœ๊ทธ๋ฅผ ์ทจํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ์ „์ฒ˜๋ฆฌ ํ•ด์•ผ ํ• ๊นŒ์š”? ์˜ˆ๋ฅผ ๋“ค์–ด -1000 ์ด๋ผ๋ฉด?
A: ์ตœ์†Ÿ๊ฐ’ + 1์„ ํ•ด์ค€๋‹ค.

๋ชจ๋“  ๊ฐ’์ด ์–‘์ˆ˜์ด๊ณ  1๋ณด๋‹ค ์ž‘์€ ๊ฐ’์ด ์žˆ์„ ๋•Œ๋Š” 1์„ ๋”ํ•ด์ค€๋‹ค.

Q: ์˜ˆ๋ฅผ ๋“ค์–ด -1000 ์ด ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์ด๋ผ๋ฉด ์–ผ๋งˆ๋ฅผ ๋ชจ๋“  ๊ฐ’์— ๋”ํ•˜๊ณ  ๋กœ๊ทธ ๋ณ€ํ™˜์„ ํ•ด์ฃผ๋ฉด ๋ ๊นŒ์š”?
A: 1001 (์ตœ์†Ÿ๊ฐ’์ด 1์ด ๋˜๋„๋ก ๋”ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.)

Q: -1000 ์— 1001 ์„ ๋”ํ•ด์„œ ๋กœ๊ทธ๋ณ€ํ™˜์„ ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์›๋ž˜ ๊ฐ’์œผ๋กœ ๋‹ค์‹œ ๋ณต์›ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”?
A: np.exp(x) -1001

np.expm1 ์„ ๋ณด๋ฉด exp๋ฅผ ๋จผ์ € ํ•˜๊ณ  m1 ์œผ๋กœ 1์„ ๋‚˜์ค‘์— ๋นผ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Q: LabelEncoder ์™€ OrdinalEncoder ์˜ ์ž…๋ ฅ๊ฐ’์˜ ์ฐจ์ด?
A: LabelEncoder์€ ์ž…๋ ฅ์ด 1์ฐจ์› y ๊ฐ’, OrdinalEncoder์€ ์ž…๋ ฅ์ด 2์ฐจ์› X๊ฐ’

Ordinal Encoding์€ Label Encoding๊ณผ ๋‹ฌ๋ฆฌ ๋ณ€์ˆ˜์— ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•œ๋‹ค๋Š” ์ ์—์„œ ํฐ ์ฐจ์ด๋ฅผ ๊ฐ–๋Š”๋‹ค. Label Encoding์ด ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ ํ˜น์€ ๋ฐ์ดํ„ฐ์…‹์— ๋“ฑ์žฅํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ Oridnal Encoding์€ Label ๋ณ€์ˆ˜์˜ ์ˆœ์„œ ์ •๋ณด๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•ด์„œ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค.

Q: X์™€ y?
A: X๋Š” ๋ณดํ†ต 2์ฐจ์›์œผ๋กœ ๋Œ€๋ฌธ์ž๋กœ ํ‘œ๊ธฐํ•˜๊ณ  y๋Š” ์†Œ๋ฌธ์ž๋กœ ํ‘œ๊ธฐํ•˜๋Š”๊ฒƒ์ด ๊ด€๋ก€์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.
X๋Š” feature, ๋…๋ฆฝ๋ณ€์ˆ˜, 2์ฐจ์› array ํ˜•ํƒœ, ํ•™์Šตํ•  ํ”ผ์ฒ˜ e.g. ์‹œํ—˜์˜ ๋ฌธ์ œ
y๋Š” label, ์ข…์†๋ณ€์ˆ˜, target, ์ •๋‹ต, 1์ฐจ์› ๋ฒกํ„ฐ e.g. ์‹œํ—˜์˜ ์ •๋‹ต

๋”ฅ๋Ÿฌ๋‹์—์„œ๋Š” x๋ฅผ ๋ณดํ†ต ์†Œ๋ฌธ์ž๋กœ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์•„๋งˆ๋„ ์ถ”์ธกํ•˜๊ธฐ๋กœ๋Š” x์— ๊ผญ 2์ฐจ์›๋งŒ ๋“ค์–ด๊ฐ€๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ์„œ๋กœ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค. 2์ฐจ์› ์ด์ƒ๋„ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์˜ˆ) ์ด๋ฏธ์ง€

Q: ์ธ์ฝ”๋” 3๊ฐ€์ง€์˜ ๊ณตํ†ต์ ์€ ๋ฌด์—‡์ผ๊นŒ์š”?
A: ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์น˜ํ˜• ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜

ohe = OneHotEncoder()
train_ohe = ohe.fit_transform(train[["MSZoning", "Neighborhood"]]).toarray()
test_ohe= ohe.transform(test[["MSZoning", "Neighborhood"]])
pd.DataFrame(train_ohe, columns=ohe.get_feature_names_out())

Q: ์œ„์˜ ์˜ค๋ฅ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๊ณ ์น  ์ˆ˜ ์žˆ์„๊นŒ์š”?
A: ohe = OneHotEncoder(handle_unknown = 'ignore')

Q: ๊ตฌ๋ถ„์ด ์ž˜ ์•ˆ ๋˜๋Š” ๊ฐ’์— ๋Œ€ํ•ด power transform ์„ ํ•ด์ฃผ๊ธฐ๋„ ํ•˜๋Š”๋ฐ ๋ฐ˜๋Œ€๋กœ ๋„ˆ๋ฌด ์ฐจ์ด๊ฐ€ ๋งŽ์ด ๋‚˜๋Š” ๊ฐ’์„ ์ค„์ผ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•?
A: ๊ผญ ์ •๋‹ต์ด ์žˆ๋‹ค๊ธฐ ๋ณด๋‹ค๋Š” EDA๋ฅผ ํ•ด๋ณด๊ณ  ์–ด๋–ค ์Šค์ผ€์ผ๋ง์„ ํ•˜๋ฉด ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์ด ๊ฐ’์„ ํ•™์Šตํ•˜๋Š”๋ฐ ๋„์›€์ด ๋ ์ง€ ๊ณ ๋ฏผํ•ด ๋ณด๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

root, log transform ๋„ ํ•ด๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ณ€ํ™˜์ด ์ •๋‹ต์€ ์•„๋‹™๋‹ˆ๋‹ค. ์„ฑ๋Šฅ์ด ์˜ฌ๋ผ๊ฐ€๊ณ  ์•ˆ ์˜ฌ๋ผ๊ฐ€๊ณ ๋Š” EDA ๋“ฑ์„ ํ†ตํ•ด ํ™•์ธํ•ด ๋ณด๊ณ  ์™œ ์ ์ˆ˜๊ฐ€ ์˜ค๋ฅด๊ณ  ๋‚ด๋ฆฌ๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๋Š” ์Šต๊ด€์„ ๊ธธ๋Ÿฌ๋ณด์„ธ์š”.

Q: SQL ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ•ด์„œ ๊ด€๋ฆฌํ• ๊นŒ์š”?
A: SQL ์— ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ์ด๊ณ , ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋กœ๊ทธ์„ฑ ๋ฐ์ดํ„ฐ

๋ฐ์ดํ„ฐ๋Š” ๋ˆ์ด ๋œ๋‹ค. ์œ ํŠœ๋ธŒ์—์„œ ์˜์ƒ์„ ๋ช‡ ๊ฐœ ์‹œ์ฒญํ•˜๋ฉด ์œ ํŠœ๋ธŒ๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ์„ฑ๋ณ„, ๋‚˜์ด, ๊ด€์‹ฌ์‚ฌ, ์ง€์—ญ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๋Œ€๋žต์ ์œผ๋กœ ์•Œ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Q: SQL ๋กœ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ด€๋ฆฌํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค๋ฉด ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„๊นŒ์š”?
A: ๋กœ๊ทธ์ธ, ์žฅ๋ฐ”๊ตฌ๋‹ˆ, ๊ฒฐ์ œ, ํšŒ์›๊ฐ€์ž…์ •๋ณด, ๊ฐ์ข… status ๊ฐ’(๊ฒŒ์ž„์˜ ์บ๋ฆญํ„ฐ ์œ„์น˜, ์บ๋ฆญํ„ฐ ์ •๋ณด, ๊ฒŒ์ž„๋จธ๋‹ˆ, ์บ๋ฆญํ„ฐ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์žฅ๋น„ ์ธ๋ฒคํ† ๋ฆฌ ์ •๋ณด)

Q: "๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค์— ๋ช‡ ๋ช…์ด ์ ‘์†ํ•˜๋Š”์ง€, ๊ทธ๋ถ„๋“ค์ด ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์ƒํ’ˆ์„ ์กฐํšŒํ•˜๊ณ  ์–ผ๋งŒํผ ๊ตฌ๋งค๋กœ ์ด์–ด์ง€๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฑฐ๋“ ์š”. ๊ทธ ๊ณผ์ •์„ ํ†ตํ•ด ์–ด๋Š ํŽ˜์ด์ง€์—์„œ ์‚ฌ๋žŒ๋“ค์ด ์ดํƒˆํ•˜๋Š”์ง€๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์ฃ ."

์ฑ„์šฉ๊ณต๊ณ ์— ์žˆ์—ˆ๋˜ ์–ด๋–ค ์ง€ํ‘œ๋กœ ์ด ํ‘œํ˜„์„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
A:

  • DAU : Daily Active User ํ•˜๋ฃจ์— ๋ช‡ ๋ช…์ด ์ ‘์†ํ•˜๋Š”์ง€(ํ˜น์€ ๋กœ๊ทธ์ธ ํ•˜๋Š”์ง€)
  • AARRR, Funnel : ๋ถ„์„์„ ํ†ตํ•ด ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์‚ฌ๋žŒ์ด ์™€์„œ ๋ฌผ๊ฑด์„ ์‚ดํŽด๋ณด๊ณ  ๊ฑฐ๊ธฐ์„œ ํšŒ์›๊ฐ€์ž… ๊ตฌ๋งค์ „ํ™˜ ์นœ๊ตฌ ์ถ”์ฒœ ํ˜น์€ ์žฌ๊ตฌ๋งค๋กœ ์ด์–ด์ง€๋Š”์ง€
  • Churn : ์–ผ๋งˆ๋‚˜ ์‚ฌ๋žŒ๋“ค์ด ์–ด๋Š ํŽ˜์ด์ง€์—์„œ ์ดํƒˆํ•˜๋Š”์ง€. ํผ๋„, AARRR ๊ณผ ํ•จ๊ป˜ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค.

    A/B testing: 1~2๋…„์ด ๋„˜๋Š” ์‹œ๊ฐ„ ๋™์•ˆ ์ˆ˜๋ฐฑ ๊ฐ€์ง€์˜ ๋…ธ๋ ฅ์ด ๊พธ์ค€ํžˆ ๋ชจ์—ฌ์„œ ๋งค๋‹ฌ ๋งˆ์ฃผํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ ํ•œ ๊ฒƒ์ด ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” ์„ฑ์žฅ์˜ ๋ชจ๋ฉ˜ํ…€์„ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.


๐Ÿฆ ์งˆ๋ฌธ

Q: ๊ฒ€์ƒ‰์–ด๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๋ฐ์ดํ„ฐ์ธ๊ฐ€์š”?
A: ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋Š” ์Œ“์ด๋Š” ์šฉ๋Ÿ‰์ด ์–ด๋Š์ •๋„๋ƒ์— ๋”ฐ๋ผ ์˜์‚ฌ๊ฒฐ์ •์„ ํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ ์•„์นด์ด๋น™ํ•  ๋ฐ์ดํ„ฐ๋Š” ๋Œ€๋ถ€๋ถ„ ํŒŒ์ผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณด์—ฌ์ฃผ์–ด์•ผ ํ•˜๋Š” ํ˜„์žฌ status ๊ฐ’๋งŒ DB์— ์ €์žฅํ•ด์„œ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. status๊ฐ’์„ ์—…๋ฐ์ดํŠธ ํ•ด์„œ SQL๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์•„์นด์ด๋น™ํ•  ๋ฐ์ดํ„ฐ๋Š” ํŒŒ์ผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.


โœ๏ธ TIL

  • ์‚ฌ์‹ค(Fact): house price์— ๋Œ€ํ•ด ๋ณต์Šตํ–ˆ๊ณ , ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ (train๊ณผ test ๋ฐ์ดํ„ฐ๋ฅผ concat ํ•˜๋Š” ๋ฐฉ๋ฒ•) ์ „์ฒ˜๋ฆฌ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค.
  • ๋Š๋‚Œ(Feeling): ๋จธ์‹ ๋Ÿฌ๋‹์„ ๋ฐฐ์šด์ง€๋„ ๊ฝค ์˜ค๋ž˜๋˜์—ˆ๋Š”๋ฐ ์•„์ง๋„ ์•Œ๋“ฏ ๋ง๋“ฏ ํ•˜๋‹ค.
  • ๊ตํ›ˆ(Finding): test์—๋Š” fit์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋จธ๋ฆฟ์†์— ์ƒˆ๊ฒจ ๋„ฃ์ž
profile
๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ก โœ๏ธ

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