[ML] ์ฐจ์› ์ถ•์†Œ (1) - ์ •์˜, PCA, ์˜ˆ์ œ์ฝ”๋“œ

2024. 2. 26. 21:17ใ†๐Ÿงช Data Science/ML, DL

 

ํฌ๊ฒŒ ์œ ์˜๋ฏธํ•˜์ง€ ์•Š์€ ์ •๋ณด๋Š” ๋ฒ„๋ฆฌ๊ฑฐ๋‚˜ ๋ญ‰์ณ๋ผ.

 

 

 

์ด๋ฒˆ ๋ธ”๋กœ๊ทธ์—์„  ์ฐจ์› ์ถ•์†Œ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ณ ์ž ํ•œ๋‹ค.

์™œ ์ฐจ์›์„ ์ถ•์†Œํ•ด์•ผ ํ•˜๊ณ , ๊ตฌ์ฒด์ ์œผ๋ก  ์–ด๋–ค ๋ฐฉ๋ฒ•๊ณผ ์ˆ˜ํ•™์  ์›๋ฆฌ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด์ž.

 

 

 

1) ์ฐจ์›์˜ ์ €์ฃผ

 

์—ฌ๊ธฐ ๋™๋ฌผ์„ ๋ถ„๋ฅ˜ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

๋™๋ฌผ์„ ํ›ˆ๋ จ ์ƒ˜ํ”Œ์ด๋ผ ์ง€์นญํ•˜๊ณ , ๋™๋ฌผ๋“ค์˜ ํŠน์„ฑ 500๊ฐœ๊ฐ€ ์ฃผ์–ด์กŒ๋‹ค๊ณ  ํ•˜๊ฒ ๋‹ค. ํŠน์„ฑ๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ ํ† ๋ผ, ๊ณ ์–‘์ด, ๊ฑฐ๋ถ์ด๋ฅผ ๋ถ„๋ฅ˜ํ•ด์•ผ ํ•œ๋‹ค.

 

 

 

ํŠน์„ฑ์ด ๋งŽ์„์ˆ˜๋ก ์ •ํ™•ํ•œ ๋ถ„๋ฅ˜๋ฅผ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ์‹ค์ƒ์€ ๊ทธ๋ ‡์ง€ ์•Š๋‹ค.

๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚œ ๊ณ„์‚ฐ๋Ÿ‰์œผ๋กœ ์ธํ•ด ๋ชจ๋ธ ํ›ˆ๋ จ์ด ๋Š๋ ค์ง€๊ณ , ์ข‹์€ ์†”๋ฃจ์…˜์„ ์ฐพ๊ธฐ ํž˜๋“ค์–ด์ง„๋‹ค.

 

 

๋˜ํ•œ ๊ณผ๋Œ€์ ํ•ฉ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. A, B ๊ฐœ์ฒด๊ฐ€ 2๊ฐœ์˜ ํŠน์„ฑ์„ ๊ฐ€์กŒ์„ ๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์ด ๊ทธ๋ž˜ํ”„๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

 

A์™€ B์˜ ๊ฑฐ๋ฆฌ๋Š” \[\sqrt{(5-2)^2+(2-5)^2}=3\sqrt{2}\]

 

 

์ด์ œ A, B ํŠน์„ฑ์„ 1๊ฐœ ๋” ๋Š˜๋ ค๋ณด์ž.

 

 

์ด๋ ‡๊ฒŒ ๋˜๋ฉด A, B ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” \[\sqrt{3^{2}+3^{2}+(4-2)^2}=\sqrt{22}\]

ํŠน์„ฑ์„ ํ•˜๋‚˜ ๋Š˜๋ ธ์„ ๋ฟ์ธ๋ฐ, A์™€ B์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๋งŽ์ด ๋ฒŒ๋ ค์กŒ๋‹ค.

๋งŒ์•ฝ ํŠน์„ฑ์ด 300๊ฐœ-400๊ฐœ์ด๊ณ , ๊ทธ ์ฐจ์› ์•ˆ์—์„œ A์™€ B์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋น„๊ตํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

 

์—„์ฒญ๋‚œ ๊ฑฐ๋ฆฌ ์ฐจ์ด๊ฐ€ ๋‚  ๊ฒƒ์ด๋‹ค.

์„œ๋กœ ์—„์ฒญ๋‚œ ๊ฑฐ๋ฆฌ ์ฐจ์ด๊ฐ€ ๋‚œ ์ƒํƒœ์—์„œ ๋ชจ๋ธ ํ•™์Šต์„ ํ•œ๋‹ค๋ฉด ๊ณผ๋Œ€ ์ ํ•ฉ์ด ๋ฐœ์ƒํ•œ๋‹ค.

 

 

์ด๋ ‡๋“ฏ ๋„ˆ๋ฌด ๋งŽ์€ ํŠน์„ฑ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ฐจ์›์˜ ์ €์ฃผ๋ผ๊ณ  ๋งํ•œ๋‹ค.

 

 

 

2) ์ฐจ์› ์ถ•์†Œ

 

์ด ๋•Œ๋ฌธ์— ๋ชจ๋ธ ํ›ˆ๋ จ์„ ์ง„ํ–‰ํ•˜๊ธฐ ์ „, ํŠน์„ฑ ์ˆ˜๋ฅผ ํฌ๊ฒŒ ์ค„์ด๋Š” ์ž‘์—…์„ ํ•œ๋‹ค.

์ด ์ž‘์—…์„ ์ฐจ์› ์ถ•์†Œ๋ผ ๋งํ•œ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค๋ฉด, ์œ„์˜ ํ›ˆ๋ จ ์ƒ˜ํ”Œ ํŠน์„ฑ๋“ค์„ 4๊ฐœ์˜ ํŠน์„ฑ์œผ๋กœ ์••์ถ•ํ•ด ๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค.

 

 

 

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

 

 

2-1) ์ฐจ์›์„ ์ถ•์†Œ์‹œํ‚ค๋Š” ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ๋ฒ•

 

2-1-1) ํˆฌ์˜

ํ›ˆ๋ จ ์ƒ˜ํ”Œ์€ ์ผ๋ถ€ ์ฐจ์›์—์„œ ์œ ์˜๋ฏธํ•œ ์ฐจ์ด๋ฅผ ๋ณด์ด๊ธฐ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

๊ณ ์ฐจ์› ๊ณต๊ฐ„(์˜ˆ์‹œ: 3์ฐจ์›) ์•ˆ์˜ ์ € ์ฐจ์› ๋ถ€๋ถ„ ๊ณต๊ฐ„(์˜ˆ์‹œ: 2์ฐจ์›)์— ๋†“์—ฌ ์žˆ๊ฑฐ๋‚˜, ๊ทธ์— ๊ฐ€๊น๋‹ค.

 

์ถœ์ฒ˜: ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ

 

ํ›ˆ๋ จ ์ƒ˜ํ”Œ์ด ๋†“์—ฌ ์žˆ๋Š” ํ‰๋ฉด์„ ์„ ํƒํ•˜๊ณ , ๊ทธ ํ‰๋ฉด์— ์ƒ˜ํ”Œ๋“ค์„ ์ˆ˜์ง์œผ๋กœ ํˆฌ์˜ํ•œ ๊ฒƒ์ด๋‹ค.

Z1๊ณผ Z2๋Š” X1๊ณผ X2์™€ ์„œ๋กœ ๋‹ค๋ฅธ ํŠน์„ฑ์œผ๋กœ, ์ƒˆ๋กญ๊ฒŒ ์ƒ๊ฒจ๋‚œ ๊ฒƒ์ด๋‹ค. 

ํ•˜์ง€๋งŒ ํ›ˆ๋ จ ์ƒ˜ํ”Œ์˜ ๋ถ€๋ถ„ ๊ณต๊ฐ„์ด ๋’คํ‹€๋ฆฌ๊ฑฐ๋‚˜ ํœ  ๊ฒฝ์šฐ, ํˆฌ์˜ ์ ‘๊ทผ๋ฒ•์€ ๋ฐ์ดํ„ฐ ์†์‹ค์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

 

2-1-2) ๋งค๋‹ˆํด๋“œ ํ•™์Šต

๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋ž˜์ฒ˜๋Ÿผ ๋†“์—ฌ์žˆ๋‹ค๊ณ  ํ•˜์ž. ์ด๋ฅผ ์Šค์œ„์Šค๋กค(2D ๋งค๋‹ˆํด๋“œ์˜ ํ•œ ์˜ˆ)์ด๋ผ ํ•œ๋‹ค. d์ฐจ์› ๋งค๋‹ˆํด๋“œ๋Š” d์ฐจ์› ์ดˆํ‰๋ฉด์œผ๋กœ ๋ณด์ผ ์ˆ˜ ์žˆ๋Š” n์ฐจ์› ๊ณต๊ฐ„์˜ ์ผ๋ถ€์ด๋‹ค (d<n).

 

์ถœ์ฒ˜: ํ•ธ์ฆˆ์˜จ ๋จธ์‹ ๋Ÿฌ๋‹ 2ํŒ

 

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

๋งŽ์€ ์ถ•์†Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ด ๋งค๋‹ˆํด๋“œ๋ฅผ ๋ชจ๋ธ๋งํ•˜๋Š” ์‹์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค!

 

 

 

3) PCA ์ •์˜

 

์ฃผ์„ฑ๋ถ„ ๋ถ„์„ principal component analysis (PCA)

๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์ถ•์†Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, ๋ฐ์ดํ„ฐ ํŠน์„ฑ๋“ค์„ ์ฃผ์„ฑ๋ถ„์œผ๋กœ ์••์ถ•ํ•˜์—ฌ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

PCA ์‹คํ–‰ ์ˆœ์„œ

1) ๋ฐ์ดํ„ฐ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ดˆ๋ช…ํŽธ ์ •์˜

2) ๋ฐ์ดํ„ฐ๋ฅผ ํ‰๋ฉด์— ํˆฌ์˜

3) ๊ทธ๋‹ค์Œ์œผ๋กœ ๋ถ„์‚ฐ์„ ๊ฐ€์žฅ ๋งŽ์ด ๋ณด์ „ํ•˜๊ณ  ์žˆ๋Š” ์ถ•(2๋ฒˆ์งธ ์ฃผ์„ฑ๋ถ„) ์ฐพ๊ธฐ
4) n๋ฒˆ ๋ฐ˜๋ณตํ•˜์—ฌ, n๊ฐœ์˜ ์ฃผ์„ฑ๋ถ„ ๋ฐœ๊ฒฌํ•˜๊ธฐ

 

 

1) ๋ถ„์‚ฐ ๋ณด์กด

๋ฐ์ดํ„ฐ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ดˆํ‰๋ฉด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์›๋ฆฌ๋กœ ์„ ํƒํ•œ๋‹ค.

2D ๋ฐ์ดํ„ฐ์…‹์ด ์•„๋ž˜์™€ ๊ฐ™์ด ๋†“์—ฌ์žˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์„ , ํŒŒ์„ , ์ ์„ ์œผ๋กœ ์„ค๋ช…ํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ์‹ค์„ ์ด ๊ฐ€์žฅ ์ž˜ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ๋ถ„์‚ฐ์„ ์ตœ๋Œ€๋กœ ๋ณด์กดํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๋ถ„์‚ฐ์„ ์ตœ๋Œ€๋กœ ๋ณด์ „ํ•œ๋‹ค๋Š” ๊ฒƒ์˜ ์˜๋ฏธ๋Š” ์‹ค์„ ๊ณผ ๋ฐ์ดํ„ฐ์…‹ ์‚ฌ์ด์˜ ํ‰๊ท  ์ œ๊ณฑ ๊ฑฐ๋ฆฌ๊ฐ€ ์ตœ์†Œํ™”๋œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

์ž์„ธํ•œ ์ˆ˜ํ•™์  ์›๋ฆฌ๋Š” ํ›„์— ๋‹ค๋ฃฐ ๊ฒƒ์ด๋‹ค. ์ง€๊ธˆ์€ ๊ฑฐ๋ฆฌ์ œ๊ณฑ ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ํ•˜๋Š” ์ถ•์„ ์šฐ์„ ์œผ๋กœ ์„ ํƒํ•œ๋‹ค๋Š” ๊ฒƒ๋งŒ ์•Œ์•„๋‘๋ฉด ๋œ๋‹ค!

 

 

2) ์ฃผ์„ฑ๋ถ„ ์ถ”์ถœ

์ฒซ ๋ฒˆ์งธ ์ถ•์„ ํƒํ–ˆ๋‹ค๋ฉด, ๊ทธ๋‹ค์Œ์€ ๋‘ ๋ฒˆ์งธ๋กœ ๋ถ„์‚ฐ์„ ์ž˜ ๋ณด์ „ํ•˜๊ณ  ์žˆ๋Š” ์ถ•์„ ์„ ํƒํ•  ๋•Œ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๊ณ„์†ํ•ด์„œ ์ถ•์„ ์„ ํƒํ•ด ๋‚˜๊ฐ€๋Š”๋ฐ, i๋ฒˆ์งธ ์ถ•์„ ์ด ๋ฐ์ดํ„ฐ์˜ i๋ฒˆ์งธ ์ฃผ์„ฑ๋ถ„(PC)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

์œ„์˜ ์˜ˆ์‹œ์—์„  C1์ด 1๋ฒˆ์งธ ์ฃผ์„ฑ๋ถ„, C2๊ฐ€ ๋‘ ๋ฒˆ์งธ ์ฃผ์„ฑ๋ถ„, C3๊ฐ€ ์„ธ ๋ฒˆ์งธ ์ฃผ์„ฑ๋ถ„์ด ๋œ๋‹ค.

 

ํ›ˆ๋ จ ์„ธํŠธ์˜ ์ฃผ์„ฑ๋ถ„์€ ํŠน์ž‡๊ฐ’ ๋ถ„ํ•ด singular value decomposition (SVD)๋ผ๋Š” ํ‘œ์ค€ ํ–‰๋ ฌ ๋ถ„ํ•ด ๊ธฐ์ˆ ๋กœ ์ฐพ๋Š”๋‹ค. ํ›ˆ๋ จ ์„ธํŠธ ํ–‰๋ ฌ X๋ฅผ ์„ธ ๊ฐœ์˜ ํ–‰๋ ฌ์˜ ํ–‰๋ ฌ ๊ณฑ์…ˆ์œผ๋กœ ๋ถ„ํ•ด๋œ๋‹ค.

\[ U\sum V^T\]

 

์—ฌ๊ธฐ์„œ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ชจ๋“  ์ฃผ์„ฑ๋ถ„์˜ ๋‹จ์œ„ ๋ฒกํ„ฐ๊ฐ€ V์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‹ด๊ฒจ์žˆ๋‹ค.

 

X_centered = X - X.mean(axis=0)
U, s, Vt = np.linalg.svd(X_centered)
c1 = Vt.T[:, 0]
c2 = Vt.T[:, 1]


# ์ฃผ์„ฑ๋ถ„์„ d์ฐจ์›๊นŒ์ง€๋งŒ ์–ป๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ, d ๊ฐœ์˜ ์ฃผ์„ฑ๋ถ„์œผ๋กœ ์ •์˜๋œ ํ‰๋ฉด์— ํˆฌ์˜
Wd = Vt.T[:, :d]
X2D = X_centered.dot(Wd)

 

PCA๋Š” ๋ฐ์ดํ„ฐ์…‹์˜ ํ‰๊ท ์ด 0์ด๋ผ๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ญ์ƒ PCA ์ž‘์—…์„ ํ•ด์ฃผ๊ธฐ ์ „์—, ์ „์ฒด ๋ฐ์ดํ„ฐ์…‹ ํ‰๊ท ์„ 0์œผ๋กœ ๋งž์ถ”๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.
X_centered = X - X.mean(axis=0) ์ฝ”๋“œ ์ฐธ๊ณ .

 

 

 

 

 

4) PCA ์˜ˆ์ œ ์ฝ”๋“œ

 

MINST ๋ฐ์ดํ„ฐ์…‹(์ˆซ์ž ์†๊ธ€์”จ ์ด๋ฏธ์ง€)๊ณผ sklearn์„ ์ด์šฉํ•˜์—ฌ PCA๋ฅผ ์‹ค์Šตํ•ด ๋ณด์ž.

 

4-1) MNIST ๋ฐ์ดํ„ฐ์…‹ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

from sklearn.datasets import fetch_openml
mnist = fetch_openml('mnist_784', version=1)
mnist.keys()


>> 
dict_keys(['data', 'target', 'frame', 'categories', 'feature_names', 'target_names', 'DESCR', 'details', 'url'])

 

 

 

4-2) X, Y ๋ฐฐ์—ด ์‚ดํŽด๋ณด๊ธฐ

X, y = mnist["data"], mnist["target"]
print(X.shape)
print(y.shape)


>>
(70000, 784)
(70000,)

 

 

 

4-3) PCA ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ์ฃผ์„ฑ๋ถ„์œผ๋กœ ๋ณ€ํ™˜

from sklearn.decomposition import PCA
import numpy as np

pca = PCA()
pca.fit(X)
cumsum = np.cumsum(pca.explained_variance_ratio_)
d = np.argmax(cumsum >= 0.95) + 1

 

์œ„ ์ฝ”๋“œ๋Š” PCA ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์…‹์˜ ์ฐจ์›์„ 2๋กœ ์ค„์ด๋Š” ์ฝ”๋“œ์ด๋‹ค.

ํ•™์Šต์‹œํ‚ค๋ฉด pca.components_ ์†์„ฑ์— W(์ฃผ์„ฑ๋ถ„ ํ–‰๋ ฌ)์˜ ์ „์น˜(T)๊ฐ€ ๋‹ด๊ธฐ๊ฒŒ ๋œ๋‹ค.

cumsum์€ ๋ถ„์‚ฐ์˜ ํ•ฉ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฐจ์›์ด ์ฆ๊ฐ€ํ• ์ˆ˜๋ก ์–ผ๋งˆ๋‚˜ ๋ถ„์‚ฐ์ด ์„ค๋ช…๋˜๊ณ  ์žˆ๋Š”์ง€ ์ง„ํ–‰๋ฅ ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด๋ผ ๋ณด๋ฉด ํŽธํ•˜๋‹ค.

 

 

4-4) ๋ถ„์‚ฐ ์„ค๋ช… 95%์—์„œ ์ฃผ์„ฑ๋ถ„ ๋ถ„์„ ์ข…๋ฃŒ

pca_a = PCA(n_components = d)
X_reduced = pca_a.fit_transform(X)
cumsum_reduced = np.cumsum(pca_a.explained_variance_ratio_)

 

๋ณ€์ˆ˜ d๋Š” 95% ์ง€์ ์˜ ์ฐจ์›์„ ๋œปํ•œ๋‹ค. n_components์— d๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, PCA๋Š” d์ฐจ์›๊นŒ์ง€๋งŒ ์ฃผ์„ฑ๋ถ„ ๋ถ„์„์„ ํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค.

 

 

4-5) ๊ทธ๋ž˜ํ”„๋กœ ํ™•์ธํ•˜๊ธฐ

import matplotlib.pyplot as plt
%matplotlib inline

plt.plot(cumsum)
plt.plot(cumsum_reduced)

 

 

cumsum์€ n_components์— ์ œํ•œ์ด ์—†๊ธฐ์—, ๋ถ„์‚ฐ 100%๋ฅผ ์„ค๋ช…ํ•  ๋•Œ๊นŒ์ง€ ์ฃผ์„ฑ๋ถ„ ๋ถ„์„์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

๊ทธ์— ๋ฐ˜ํ•ด, cumsum_reduced๋Š” n_components 95% ์ œํ•œ์ด ์กด์žฌํ–ˆ๋‹ค. ์•ฝ 150์ฐจ์›์—์„œ ์กฐ๊ธฐ ์ข…๋ฃŒํ•œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

์ง€๊ธˆ๊นŒ์ง€ ์ฐจ์› ์ €์ฃผ ๋ฐ ์ถ•์†Œ, PCA ์ •์˜์™€ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์•˜๋‹ค.

์ฐจ์› ์ถ•์†Œ 2ํƒ„์—์„  PCA ์ˆ˜ํ•™ ์›๋ฆฌ, ์••์ถ•/๋žœ๋ค/์ ์ง„์  PCA์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ๋‹ค.