๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋ฐ์ดํ„ฐ๋ถ„์„ (20)

DATA101

[NLP] ๋ฌธ์„œ ์œ ์‚ฌ๋„ ๋ถ„์„: (2) ์œ ํด๋ฆฌ๋””์•ˆ ๊ฑฐ๋ฆฌ(Euclidean Distance)

๐Ÿ“š ๋ชฉ์ฐจ1. ์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ ๊ฐœ๋…2. ์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ ์‹ค์Šต1. ์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ ๊ฐœ๋…์ˆ˜ํ•™์  ๊ด€์  ์ ‘๊ทผ์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ(Euclidean Distance)๋Š” ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋‘ ์  \(p\)์™€ \(q\)๊ฐ€ ๊ฐ๊ฐ \((p_1, p_2, ..., p_n)\), \((q_1, q_2, ..., q_n)\) ์ขŒํ‘œ๋ฅผ ๊ฐ€์งˆ ๋•Œ, ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ ๊ณต์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. $$ \sqrt{(q_1 - p_1)^2 + (q_2 - p_2)^2 + ... + (q_n - p_n)^2} = \sqrt{\displaystyle\sum_{i=1}^{n}(q_i - p_i)^2}$$ ๋‹ค์ฐจ์›์ด ์•„๋‹Œ 2์ฐจ์› ๊ณต๊ฐ„์—์„œ ์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค(๊ทธ๋ฆผ 1 ์ฐธ๊ณ ). ๋‘ ์  \..

[NLP] ๋ฌธ์„œ ์œ ์‚ฌ๋„ ๋ถ„์„: (1) ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„(Cosine Similarity)

๐Ÿ“š ๋ชฉ์ฐจ1. ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ ๊ฐœ๋…2. ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ ์‹ค์Šต1. ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ ๊ฐœ๋…์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„(Cosine Similarity)๋ž€ ๋‘ ๋ฒกํ„ฐ ์‚ฌ์ด์˜ ๊ฐ๋„๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๋‘ ๋ฒกํ„ฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์œ ์‚ฌํ•œ์ง€ ์ธก์ •ํ•˜๋Š” ์ฒ™๋„์ž…๋‹ˆ๋‹ค. ์ฆ‰, DTM, TF-IDF, Word2Vec ๋“ฑ๊ณผ ๊ฐ™์ด ๋‹จ์–ด๋ฅผ ์ˆ˜์น˜ํ™”ํ•˜์—ฌ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์„œ ๊ฐ„ ์œ ์‚ฌ๋„๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ฒŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๋Š” \(1\)์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ๋‘ ๋ฒกํ„ฐ๊ฐ€ ์œ ์‚ฌํ•˜๋‹ค๊ณ  ํ•ด์„ํ•˜๋ฉฐ, ๋ฌธ์„œ์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋„ ๋น„๊ต์  ๊ณต์ •ํ•˜๊ฒŒ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ 1๊ณผ ๊ฐ™์ด ๋‘ ๋ฒกํ„ฐ๊ฐ€ ๊ฐ™์€ ๋ฐฉํ–ฅ์„ ๊ฐ€๋ฆฌํ‚ค๋Š”, ์ฆ‰ ๋‘ ๋ฒกํ„ฐ ์‚ฌ์ด์˜ ๊ฐ๋„๊ฐ€ \(0^\circ\)์ผ ๋•Œ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๊ฐ€ ์ตœ๋Œ“๊ฐ’์ธ 1์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. \(A\), \(B\)๋ผ๋Š” ๋‘ ๋ฒกํ„ฐ๊ฐ€..

Boxplot ๊ทธ๋ž˜ํ”„ ํ•ด์„๋ฐฉ๋ฒ•(์ด์ƒ์น˜ ํƒ์ƒ‰๋ฐฉ๋ฒ•)

๐Ÿ“Œ ๋“ค์–ด๊ฐ€๋ฉฐ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” Boxplot๋ฅผ ํ•ด์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.์•„๋ž˜ ๊ทธ๋ฆผ 1๊ณผ ๊ฐ™์ด ์„ธ๋กœ์ถ•์€ ํŠน์ • ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , ์ด ๋ฒ”์œ„ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๋Š” ์ฃผ๋กœ ํŒŒ๋ž€์ƒ‰ ๋ฐ•์Šค ์•ˆ์— ๋ถ„ํฌํ•ฉ๋‹ˆ๋‹ค. ํŒŒ๋ž€์ƒ‰ ๋ฐ•์Šค ๊ฐ€์šด๋ฐ ๋…ธ๋ž€์ƒ‰ ์ง์„ ์œผ๋กœ ํ‘œ์‹œํ•œ ๋ถ€๋ถ„์ด ๋ฐ์ดํ„ฐ์˜ ์ค‘์•™๊ฐ’(Median)์ด ๋ฉ๋‹ˆ๋‹ค.๋ฐ•์Šค ์ตœ์ƒ๋‹จ์€ ์ œ3 ์‚ฌ๋ถ„์œ„์ˆ˜(Q3, 75th percentile), ์ตœํ•˜๋‹จ์€ ์ œ1 ์‚ฌ๋ถ„์œ„์ˆ˜(Q1, 25th percentile)์ž…๋‹ˆ๋‹ค. ์‚ฌ๋ถ„์œ„์ˆ˜(Quantile)๋ž€ ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ ๋‹ค์Œ 25%์”ฉ ๋™์ผํ•œ ๋น„์œจ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ œ1 ์‚ฌ๋ถ„์œ„์ˆ˜(Q1)๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋ฐ์ดํ„ฐ๋ถ€ํ„ฐ ์ „์ฒด ์ค‘ 25% ๋น„์œจ๋งŒํผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ(25%) ์˜๋ฏธํ•˜๊ณ , ์ œ3 ์‚ฌ๋ถ„์œ„์ˆ˜(Q3)๋Š” ์ค‘์•™๊ฐ’(50%)์—์„œ๋ถ€ํ„ฐ 25% ๋น„์œจ๋งŒํผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ..

PySpark ๊ฐœ๋… ๋ฐ ์ฃผ์š” ๊ธฐ๋Šฅ(+Apache Spark)

๋“ค์–ด๊ฐ€๋ฉฐ PySpark, ๋ฐ์ดํ„ฐ ๋ถ„์„/์—”์ง€๋‹ˆ์–ด๋ง ํ˜น์€ ์ธ๊ณต์ง€๋Šฅ ๋ถ„์•ผ์— ๊ด€์‹ฌ ์žˆ์œผ์‹  ๋ถ„๋“ค์€ ํ•œ ๋ฒˆ์ฏค ๋“ค์–ด๋ณด์…จ์„ ๊ธฐ์ˆ  ์Šคํƒ์ด์ฃ . ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” PySaprk์˜ ๊ฐœ๋…๊ณผ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •๋ฆฌํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. 1. PySpark ๊ฐœ๋… PySpark๋Š” Python ํ™˜๊ฒฝ์—์„œ Apache Spark๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ์ฆ‰, PySpark๋Š” Spark์šฉ API์ด๊ธฐ ๋•Œ๋ฌธ์— PySpark ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋ ค๋ฉด Spark์— ๋Œ€ํ•ด ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Apache Spark ๊ฐœ๋… Apache Spark๋Š” ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์†์œผ๋กœ, ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋น…๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ์ฒ˜๋ฆฌ ํ”Œ๋žซํผ(Distributed Computing Platform)์ž…๋‹ˆ๋‹ค. Apache Spark๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋“œ๋””์Šคํฌ๊ฐ€ ์•„๋‹Œ ๋ฉ”๋ชจ๋ฆฌ์— ์บ..