250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐Ÿ›  Machine Learning (36)

Data Science LAB

[Python] OverSampling/UnderSampling

๋ ˆ์ด๋ธ”์˜ ๋ถ„ํฌ๊ฐ€ ๋ถˆ๊ท ํ˜•ํ•œ ๋ฐ์ดํ„ฐ์…‹์„ ํ•™์Šต์‹œํ‚ฌ ๋•Œ ์˜ˆ์ธก ์„ฑ๋Šฅ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Š” ์ด์ƒ์น˜ ๋ ˆ์ด๋ธ”์ด ์ •์ƒ ๋ ˆ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ๊ฑด์ˆ˜์— ๋น„ํ•ด ๋„ˆ๋ฌด ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์ด๋‹ค. ์ฆ‰, ์ด์ƒ ๋ ˆ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋Š” ๋งค์šฐ ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•œ ์œ ํ˜•์„ ํ•™์Šตํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฐ˜๋ฉด ์ •์ƒ ๋ ˆ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ๊ฑด์ˆ˜๋Š” ๋งค์šฐ ๋งŽ์•„ ์ผ๋ฐฉ์ ์œผ๋กœ ์ •์ƒ ๋ ˆ์ด๋ธ”์— ์น˜์šฐ์นœ ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•ด ์ œ๋Œ€๋กœ๋œ ์ด์ƒ ๋ฐ์ดํ„ฐ ๊ฒ€์ถœ์ด ์–ด๋ ค์›Œ์ง„๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์˜ค๋ฒ„์ƒ˜ํ”Œ๋ง/์–ธ๋”์ƒ˜ํ”Œ๋ง์˜ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. OverSampling ์ด์ƒ์น˜ ๋ ˆ์ด๋ธ”๊ณผ ๊ฐ™์ด ์ ์€ ๋ฐ์ดํ„ฐ ์…‹์„ ์ฆ์‹ํ•˜์—ฌ ํ•™์Šต์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•๋ณดํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹จ์ˆœํžˆ ์ฆ์‹์‹œํ‚ค๋ฉด ๊ณผ์ ํ•ฉ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์›๋ณธ ๋ฐ์ดํ„ฐ์˜ ํ”ผ์ฒ˜ ๊ฐ’๋“ค์„ ์กฐ๊ธˆ์”ฉ ๋ณ€๊ฒฝํ•˜์—ฌ ์ฆ์‹ํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ค๋ฒ„์ƒ˜ํ”Œ๋ง ..

์ถ”์ฒœ ์‹œ์Šคํ…œ

๊ทธ ๋™์•ˆ ๋จธ์‹ ๋Ÿฌ๋‹์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ถ”์ฒœ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ณต๋ถ€๋Š” ํ•˜์ง€ ์•Š์•˜์—ˆ๋Š”๋ฐ ์ด๋ฒˆ ๊ธฐํšŒ์— ๊ณต๋ถ€ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค..!์ฒ˜์Œ ์ ‘ํ•˜๋Š” ๊ฑฐ๋ผ ์‹ ๊ธฐํ•˜๊ธฐ๋„ ํ•˜๊ณ , ์œ ํŠœ๋ธŒ๋‚˜ ๋„ทํ”Œ๋ฆญ์Šค ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์— ๋Œ€ํ•ด ๊ถ๊ธˆํ•œ๊ฒŒ ๋งŽ์•˜๋Š”๋ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ๊ณต๋ถ€ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค...! ์ถ”์ฒœ ์‹œ์Šคํ…œ ์ด๋ž€? ์ถ”์ฒœ ์‹œ์Šคํ…œ(ๆŽจ่–ฆsystem)์€ ์ •๋ณด ํ•„ํ„ฐ๋ง (IF) ๊ธฐ์ˆ ์˜ ์ผ์ข…์œผ๋กœ, ํŠน์ • ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€์‹ฌ์„ ๊ฐ€์งˆ๋งŒํ•œ ์ •๋ณด (์˜ํ™”, ์Œ์•…, ์ฑ…, ๋‰ด์Šค, ์ด๋ฏธ์ง€, ์›น ํŽ˜์ด์ง€ ๋“ฑ)๋ฅผ ์ถ”์ฒœํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ถ”์ฒœ ์‹œ์Šคํ…œ์—๋Š” ํ˜‘์—… ํ•„ํ„ฐ๋ง ๊ธฐ๋ฒ•์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์†Œ์…œ ๋ถ๋งˆํฌ ์‚ฌ์ดํŠธ์—์„œ ๋งํฌ๋ฅผ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ถ”์ฒœํ•˜๊ณ  ๋ฌด๋น„๋ Œ์ฆˆ ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ์˜ํ™”๋ฅผ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ฑ์ด ์ด์— ์†ํ•œ๋‹ค. ์ •๋ณด ํ•„ํ„ฐ๋ง ๋งŒ๋“ค๊ธฐ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „ ํŽธ์ง‘๊ธฐ๊ฐ€ ์ง€๊ธˆ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ๋ช‡ ์ดˆ ํ›„์—๋„ ์ด..

[Python]NMF

NMF ๊ฐœ์š” NMF๋Š” Truncated SVD์™€ ๊ฐ™์ด ๋‚ฎ์€ ๋žญํฌ๋ฅผ ํ†ตํ•œ ํ–‰๋ ฌ ๊ทผ์‚ฌ ๋ฐฉ์‹์˜ ๋ณ€ํ˜•์ด๋‹ค. NMF๋Š” ์›๋ณธ ํ–‰๋ ฌ ๋‚ด์˜ ๋ชจ๋“  ์›์†Œ ๊ฐ’์ด ๋ชจ๋‘ 0 ์ด์ƒ์ด๋ผ๋Š”๊ฒŒ ๋ณด์žฅ๋˜๋ฉด ์ข€ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‘ ๊ฐœ์˜ ์–‘์ˆ˜ ํ–‰๋ ฌ๋กœ ๋ถ„ํ•ด๋  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฒ•์„ ์ง€์นญํ•œ๋‹ค. 4×6 ์›๋ณธ ํ–‰๋ ฌ V๋Š” 4×2 ํ–‰๋ ฌ W์™€ 2×6ํ–‰๋ ฌ H๋กœ ๊ทผ์‚ฌํ•ด ๋ถ„ํ•ด๋  ์ˆ˜ ์žˆ๋‹ค. ํ–‰๋ ฌ ๋ถ„ํ•ด(Matrix Factorization)๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ SVD์™€ ๊ฐ™์€ ํ–‰๋ ฌ ๋ถ„ํ•ด ๊ธฐ๋ฒ•์„ ํ†ต์นญํ•œ๋‹ค. ์ด์ฒ˜๋Ÿผ ํ–‰๋ ฌ ๋ถ„ํ•ด๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด W์™€ Hํ–‰๋ ฌ์„ ๊ธธ๊ณ  ๊ฐ€๋Š” ํ–‰๋ ฌW์™€ ์ž‘๊ณ  ๋„“์€ ํ–‰๋ ฌ H๋กœ ๋ถ„ํ•ด๋œ๋‹ค. ๋ถ„ํ•ด๋œ ํ–‰๋ ฌ์€ ์ž ์žฌ ์š”์†Œ๋ฅผ ํŠน์„ฑ์œผ๋กœ ๊ฐ€์ง€๊ฒŒ ๋˜๋Š”๋ฐ, ๋ถ„ํ•ด ํ–‰๋ ฌ W๋Š” ์›๋ณธ ํ–‰์— ๋Œ€ํ•ด ์ด ์ž ์žฌ ์š”์†Œ์˜ ๊ฐ’์ด ์–ผ๋งˆ๋‚˜ ๋˜๋Š”์ง€์— ๋Œ€์‘ํ•˜๋ฉฐ, ๋ถ„ํ•ด ํ–‰๋ ฌ H๋Š” ์ด ์ž ์žฌ ์š”์†Œ๊ฐ€ ์›๋ณธ ์—ด๋กœ ์–ด๋–ป๊ฒŒ ๊ตฌ..

[Python] SVD(Singular Value Decomposition)

SVD ๊ฐœ์š” SVD๋Š” PCA์™€ ๋น„์Šทํ•˜๊ฒŒ ํ–‰๋ ฌ ๋ถ„ํ•ด ๊ธฐ๋ฒ•์„ ์ด์šฉํ•˜์ง€๋งŒ, PCA๋Š” ์ •๋ฐฉํ–‰๋ ฌ๋งŒ์„ ๊ณ ์œ  ๋ฒกํ„ฐ๋กœ ๋ถ„ํ•ดํ•˜๋Š” ๋ฐ˜๋ฉด, SVD๋Š” ํ–‰๊ณผ ์—ด์ด ๋‹ค๋ฅธ ๋ชจ๋“  ํ–‰๋ ฌ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ, SVD๋Š” m×n ํฌ๊ธฐ์˜ ํ–‰๋ ฌ A๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ„ํ•ดํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. SVD๋Š” ํŠน์ด๊ฐ’ ๋ถ„ํ•ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ํ–‰๋ ฌ U์™€ V์— ์†ํ•˜๋Š” ๋ฒกํ„ฐ๋Š” ํŠน์ด๋ฒกํ„ฐ์ด๋‹ค. ๋ชจ๋“  ํŠน์ด๋ฒกํ„ฐ๋Š” ์„œ๋กœํ•˜๋Š” ์„ฑ์งˆ์„ ๊ฐ€์ง„๋‹ค. U : m×m ํฌ๊ธฐ์˜ ํ–‰๋ ฌ, ์—ญํ–‰๋ ฌ์ด ๋Œ€์นญ ํ–‰๋ ฌ ∑ : m×n ํฌ๊ธฐ์˜ ํ–‰๋ ฌ, ๋น„๋Œ€๊ฐ ์„ฑ๋ถ„์ด 0 V : n×nํฌ๊ธฐ์˜ ํ–‰๋ ฌ, ์—ญํ–‰๋ ฌ์ด ๋Œ€์นญ V,U๋Š” ์ง๊ตํ–‰๋ ฌ ๋žœ๋คํ–‰๋ ฌ ์ƒ์„ฑ import numpy as np from numpy.linalg import svd np.random.seed(121) a = np.random.randn(4,4..

[Python] LDA(Linear Discriminant Analysis)

LDA ๊ฐœ์š” LDA๋Š” ์„ ํ˜• ํŒ๋ณ„ ๋ถ„์„๋ฒ•์œผ๋กœ, PCA์™€ ๋งค์šฐ ์œ ์‚ฌํ•˜๊ฒŒ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์…‹์„ ์ €์ฐจ์› ๊ณต๊ฐ„์— ํˆฌ์—ฌํ•ด ์ฐจ์›์„ ์ถ•์†Œํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. PCA์™€์˜ ์ฐจ์ด๋Š” LDA๋Š” ์ง€๋„ํ•™์Šต์˜ ๋ถ„๋ฅ˜์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๋„๋ก ๊ฐœ๋ณ„ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ค€์„ ์ตœ๋Œ€ํ•œ ์œ ์ง€ํ•˜๋ฉด์„œ ์ฐจ์›์„ ์ถ•์†Œํ•œ๋‹ค. ๋ฐ˜๋ฉด PCA๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๋ณ€๋™์„ฑ์˜ ๊ฐ€์žฅ ํฐ ์ถ•์„ ์ฐพ์•˜์ง€๋งŒ, LDA๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๊ฒฐ์ • ๊ฐ’ ํด๋ž˜์Šค๋ฅผ ์ตœ๋Œ€ํ•œ์œผ๋กœ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ถ•์„ ์ฐพ๋Š”๋‹ค. #์ฐธ๊ณ  2022.03.05 - [Python] PCA(Principal Component Analysis) [Python] PCA(Principal Component Analysis) PCA ๊ฐœ์š” PCA(Principal Component Analysis)๋Š” ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์ฐจ์› ์ถ•์†Œ ๊ธฐ๋ฒ•์œผ๋กœ ์—ฌ๋Ÿฌ ..