๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

728x90

๊ธฐ์ˆ ํ†ต๊ณ„

4ํšŒ ์ฐจ | 3/25 ๊ธˆ 4ํšŒ ์ฐจ! ํ™”์š”์ผ์— ์ด์–ด ์กฐ๋ณ„๋กœ ๋จธ์‹ ๋Ÿฌ๋‹ ์ˆ˜ํ–‰ํ‰๊ฐ€ ๋ฆฌ๋ทฐ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค~ ์ธ์›์ด ๋‹จ์ถœํ•ด์„œ ์ง„ํ–‰ ์‹œ๊ฐ„์ด ์•Œ๋งž๊ณ  ์ž์„ธํ•œ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ ์€ ์ธ์›๊ณผ ๊ฐ์ž ์‹ค๋ ฅ ํŽธ์ฐจ๊ฐ€ ํด ๊ฒฝ์šฐ ๋ฆฌ๋ทฐ๊ฐ€ ํŽธํ˜‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ๋‹จ์ .. ์ด๋ฒˆ ์ฃผ๋Š” ๋ฉ€ํ‹ฐ์บ ํผ์Šค ์ˆ˜ํ–‰ํ‰๊ฐ€์šฉ์œผ๋กœ ์ œ๊ณต๋œ MovieLens ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด ๊ณต๋ถ€ํ–ˆ๋‹ค. 1. ์ˆ˜ํ–‰ํ‰๊ฐ€ ๋ฌธ์ œ๋“ค ๋ชจ๋‘ ํ•˜๋‚˜์”ฉ ๊ด€๋ จ๋œ ๋‚ด์šฉ์œผ๋กœ ์‹œ๊ฐํ™” ํ•˜๊ธฐ : scatter, histogram, heatmap, boxplot ๋งŒ๋“ค์—ˆ๋‹ค. → ๋„์ˆ˜๋ถ„ํฌํ‘œ(๊ณ„๊ธ‰, ๋„์ˆ˜ + ๊ณ„๊ธ‰๊ฐ’, ์ƒ๋Œ€๋„์ˆ˜, ๋ˆ„์  ์ƒ๋Œ€๋„์ˆ˜) ๋งŒ๋“ค์–ด๋ณด์ž! 2. 10๊ฐœ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ ํ•ธ๋“ค๋งํ•ด๋ณด๊ธฐ : ๋ฌธ์ œ๋งŒ ํ’€์—ˆ๋‹ค. → ์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ์žˆ์„ ๋ฒ•ํ•˜๊ฑฐ๋‚˜ ๊ถ๊ธˆํ•œ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด ๋” ํ•ธ๋“ค๋ง ํ•˜์ž! ex) ํ‰๊ท  ํ‰์ ์ด ๊ฐ€์žฅ ๋†’์€ ์˜ํ™” ์žฅ.. ๋”๋ณด๊ธฐ
3/24 ๋ชฉ ๋ชฉ์š”์ผ! ๊ธฐ์ˆ ํ†ต๊ณ„๋ฅผ ์ด์–ด์„œ ๋ฐฐ์šด๋‹ค. ๊ธฐ์ˆ ํ†ต๊ณ„๊ฐ€ ๋๋‚˜๋ฉด ์ถ”๋ฆฌํ†ต๊ณ„(ํ†ต๊ณ„๋ถ„์„. ์ถ”์ธก. ์ „์ˆ˜์กฐ์‚ฌ, ๋ชจ์ง‘๋‹จ)๊ฐ€ ์ˆ˜์ˆœ์ด์ง€๋งŒ ๋ฉ€์บ ์—์„œ ๋ฐฐ์šฐ์ง€๋Š” ์•Š๋Š”๋‹ค! 1์ฐจ์› ๋ฐ์ดํ„ฐ์˜ ํŠน์ง• ํŒŒ์•… - ์ˆ˜์น˜์ง€ํ‘œ → ๋Œ€ํ‘œ๊ฐ’ : ํ‰๊ท , ์ค‘์œ„๊ฐ’, ์ตœ๋Œ€/์ตœ์†Œ๊ฐ’, ํŽธ์ฐจ, ๋ถ„์‚ฐ, ํ‘œ์ค€ํŽธ์ฐจ... - ์‹œ์ž‘์  ํ‘œํ˜„ → ๋„์ˆ˜๋ถ„ํฌํ‘œ, Histogram, Box plot 2์ฐจ์› ๋ฐ์ดํ„ฐ์˜ ํŠน์ง• ํŒŒ์•… - ์ˆ˜์น˜์ง€ํ‘œ → ๊ณต๋ถ„์‚ฐ, ์ƒ๊ด€๊ณ„์ˆ˜ - ์‹œ์ž‘์  ํ‘œํ˜„ → Scatter 2์ฐจ์› ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์น˜์ง€ํ‘œ → ๊ณต๋ถ„์‚ฐ, ์ƒ๊ด€๊ณ„์ˆ˜ 1. ๊ณต๋ถ„์‚ฐ(covariance) : ๋‘ ํ™•๋ฅ ๋ณ€์ˆ˜ ์‚ฌ์ด์˜ ์ƒ๊ด€ ์ •๋„ import numpy as np import pandas as pd df = pd.read_csv('./data/student_scores_em.csv', index_col='stu.. ๋”๋ณด๊ธฐ
3/23 ์ˆ˜ ์ˆ˜์š”์ผ! ์˜ค๋Š˜์€ ๊ธฐ์ˆ ํ†ต๊ณ„๋ฅผ ๋ฐฐ์šด๋‹ค. 1์ฐจ์› ๋ฐ์ดํ„ฐ์˜ ํŠน์ง• ํŒŒ์•… - ์ˆ˜์น˜์ง€ํ‘œ → ๋Œ€ํ‘œ๊ฐ’ : ํ‰๊ท , ์ค‘์œ„๊ฐ’, ์ตœ๋Œ€/์ตœ์†Œ๊ฐ’, ํŽธ์ฐจ, ๋ถ„์‚ฐ, ํ‘œ์ค€ํŽธ์ฐจ... - ์‹œ์ž‘์  ํ‘œํ˜„ → ๋„์ˆ˜๋ถ„ํฌํ‘œ, Histogram, Box plot * ์ตœ๋Œ€/์ตœ์†Œ๊ฐ’์€ ๋Œ€ํ‘œ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์— ๋ฌด๋ฆฌ๊ฐ€ ์žˆ์Œ 2์ฐจ์› ๋ฐ์ดํ„ฐ์˜ ํŠน์ง• ํŒŒ์•… - ์ˆ˜์น˜์ง€ํ‘œ → ๊ณต๋ถ„์‚ฐ, ์ƒ๊ด€๊ณ„์ˆ˜ - ์‹œ์ž‘์  ํ‘œํ˜„ → Scatter ์‚ฐํฌ๋„(dispersion) : ๋ฐ์ดํ„ฐ๊ฐ€ ์–ผ๋งˆ๋‚˜, ์–ด๋–ป๊ฒŒ ํผ์ ธ ์žˆ๋‚˜๊ฐ€ ๊ด€์  ๋ฐ์ดํ„ฐ๊ฐ€ ํฉ์–ด์ง„ ์ •๋„(๋ณ€์‚ฐ์„ฑ)๋ฅผ ์ˆ˜์น˜๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด → ๋ฒ”์œ„(range), ์‚ฌ๋ถ„์œ„ ๋ฒ”์œ„(IQR, Interquatile range), ํŽธ์ฐจ(deviation), ๋ถ„์‚ฐ(variance), ํ‘œ์ค€ํŽธ์ฐจ(standard deviation) 1์ฐจ์› ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์น˜์ง€ํ‘œ → ํ‰๊ท , ์ค‘์œ„.. ๋”๋ณด๊ธฐ
3ํšŒ ์ฐจ | 3/22 ํ™” ๋ฒŒ์จ 3ํšŒ ์ฐจ~ ์ง€๋‚œ์ฃผ์— ์ง„ํ–‰ํ•œ ํƒ€์ดํƒ€๋‹‰ ์˜ˆ์ œ๊ฐ€ ๊ฐ€๋ฌผ๊ฐ€๋ฌผํ•˜๋‹ค.. ์˜ค๋Š˜์€ ์กฐ ํŽธ์„ฑ, ์กฐ์ •๋œ ์ปค๋ฆฌํ˜๋Ÿผ ์•ˆ๋‚ด, ๊ฐ ์กฐ๋ณ„ ์ฝ”ํ…Œ ๋ฆฌ๋ทฐ๋กœ ์ง„ํ–‰! ํŒŒ์ผ๋Ÿฟ ์ง„ํ–‰ ํ›„ ๋ ˆ๋ฒจ์— ๋”ฐ๋ผ ์ธ์›์„ ๋‚˜๋ˆ  3๊ฐœ์˜ ์กฐ๋กœ ์šด์˜ํ•˜๋ ค ํ–ˆ์œผ๋‚˜, ๊ฐ์ž์˜ ์‹ค๋ ฅ ํŽธ์ฐจ๊ฐ€ ํฌ๊ณ  ์Šคํ„ฐ๋””์˜ ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ ธ ์šด์˜์ง„๊ณผ ์ƒ์˜ ํ›„ ์ปค๋ฆฌํ˜๋Ÿผ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์กฐ์ •ํ–ˆ๋‹ค. 11๋ช…์˜ ์ธ์›์ด ๋ชจ๋‘ ๋ฆฌ๋ทฐ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ์—๋Š” ์‹œ๊ฐ„์ด ๋น ๋“ฏํ•ด์„œ ์‚ฌ๋‹ค๋ฆฌ ํƒ€๊ธฐ๋กœ ์ธ์›(4/4/3)์„ ๋‚˜๋ˆด๋‹ค. ๊ฐ ์กฐ์˜ ์กฐ์žฅ์€ ์ธํ›„๋‹˜, ์ฐฝํ˜„๋‹˜, ํฌ๊ฒฝ๋‹˜! ์ฃผ์— ํ•˜๋‚˜์”ฉ ์ง„ํ–‰ํ•˜๊ธฐ๋กœ ํ–ˆ๋˜ ์บ๊ธ€ ์˜ˆ์ œ ๋Œ€์‹  ๋ฉ€ํ‹ฐ์บ ํผ์Šค ์ˆ˜์—… ๋‚ด์šฉ๊ณผ ๋งž์ถ”์–ด, ์ˆ˜ํ–‰ํ‰๊ฐ€์šฉ์œผ๋กœ ์ œ๊ณต๋œ MovieLens์™€ ๊ธฐ์˜จ๋ถ„์„ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ณต๋ถ€ํ•œ๋‹ค. 1. ์ˆ˜ํ–‰ํ‰๊ฐ€ ๋ฌธ์ œ๋“ค ๋ชจ๋‘ ํ•˜๋‚˜์”ฉ ๊ด€๋ จ๋œ ๋‚ด์šฉ์œผ๋กœ ์‹œ๊ฐํ™” ํ•˜๊ธฐ 2. 10๊ฐœ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ ํ•ธ๋“ค๋งํ•ด.. ๋”๋ณด๊ธฐ
3/22 ํ™” ํ™”์š”์ผ! ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Matplotlib์— ๋Œ€ํ•ด ๋ฐฐ์šด๋‹ค! Matplotlib ์•ˆ์— Pyplot์ด๋ผ๋Š” sub package๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. Line plot(์„  ๊ทธ๋ž˜ํ”„), Histogram(๋„์ˆ˜ํ‘œ), Scatter(์‚ฐ์ ๋„), Box plot, ๊ทธ ์™ธ Area plot, Bar chart(๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„) 1. Line plot(์„  ๊ทธ๋ž˜ํ”„) : ์—ฐ์†์ ์ธ ๊ฐ’์˜ ๊ฒฝํ–ฅ์„ ํŒŒ์•…ํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ(์‹œ๊ณ„์—ด) import pandas as pd import matplotlib.pyplot as plt # 1. Line plot(์„  ๊ทธ๋ž˜ํ”„) plt.title('Line Plot') # plot์˜ ์ œ๋ชฉ์„ ์„ค์ • plt.plot([1, 5, 12, 25]) # x์ถ•์˜ ์ž๋ฃŒ ์œ„์น˜(x ์ถ• ๋ˆˆ๊ธˆ) -> tick์€.. ๋”๋ณด๊ธฐ

728x90