๐Ÿ“’ Today I Learn/๐Ÿ Python

240718 Today I Learn์ŠคํŒŒํฌ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐLazy CompuationSpark๋Š” ๋ฐ”๋กœ๋ฐ”๋กœ ์ฃผ์–ด์ง„ ๋ณ€ํ™˜Transformation์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ , ์—ฌ๋Ÿฌ ๋ณ€ํ™˜๋“ค์„ ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์•„๋‘” ๋’ค, ํ•œ ๋ฒˆ์— ์ตœ์ ํ™”ํ•˜์—ฌ ์ˆ˜ํ–‰๋ฏธ๋ฃจ์–ด๋‘” ์ผ์ด ์Œ“์ธ ๊ฒƒ์„ Lineage๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ „์ฒด ๋ณ€ํ™˜์„ ๋ณด๊ณ  ์ค‘๊ฐ„์— ํ•„์š”์—†๋Š” ์—ฐ์‚ฐ์€ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์˜์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์ง€์—ฐ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.๋ณ€ํ™˜์ด ์Œ“์ธ Lineage๋ฅผ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๊ตฌ๋™Triggerํ•˜๋Š” ์ž‘์—…๋“ค์„ Action์ด๋ผ๊ณ  ํ•จ.→ count, collect, take, top, show, write, toDF ๋“ฑ๋ถ„์‚ฐ์ฒ˜๋ฆฌ์™€ PartitionPartition : ๋ชจ๋“  executer๊ฐ€ ๋ณ‘๋ ฌ๋กœ ์ผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ชผ๊ฐ  ๋ฐ์ดํ„ฐ์˜ ๋‹จ์œ„ํŒŒํ‹ฐ์…˜์„ ์ง์ ‘ ์กฐ์ž‘ํ•ด ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒํ‹ฐ์…˜์— ๊ฐ•์ œ๋กœ ๋ฐฐ์ •ํ• ..
240717 Today I Learn๋ณ‘๋ ฌ์ฒ˜๋ฆฌ์™€ ๋ถ„์‚ฐ์ฒ˜๋ฆฌ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ vs. ๋ถ„์‚ฐ์ฒ˜๋ฆฌ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ : ์—ฌ๋Ÿฌ๊ฐœ์˜ core์—์„œ ๋™์‹œ ๋‹ค๋ฐœ์ ์œผ๋กœ ์ผ์„ ๋‚˜๋ˆ„์–ด์„œ ์ฒ˜๋ฆฌMultiprocessing์ด๋‚˜ joblib์ด ํ”ํžˆ ์‚ฌ์šฉ.sklearn์˜ njobs๊ฐ€ ์ด๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ธฐ๋Šฅ.๋ถ„์‚ฐ์ฒ˜๋ฆฌ : ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์ปดํ“จํ„ฐ(๋…ธ๋“œ)๊ฐ€ ๊ฐ๊ฐ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒSpark๋ฅผ ํฌํ•จํ•ด Ray, Dask ๋“ฑ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ.๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ vs Vectorize๐Ÿ’ก ํ•œ ๊ธฐ๊ธฐ์˜ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์—์„œ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ทœ๋ชจ๋ผ๋ฉด, ๊ตณ์ด Spark๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ์—ฐ์‚ฐ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ๋‹ค.Numpy(Pandas ํฌํ•จ)๋Š” ๋ฒกํ„ฐํ™” ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋‹จ์ˆœ ๋ฐ˜๋ณต์ž‘์—…์„ ๊ต‰์žฅํžˆ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ.์ŠคํŒŒํฌ์—์„œ๋„ ๊ฐœ๋ณ„ ๋จธ์‹ ์€ ๋ฒกํ„ฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ์†๋„๋ฅผ..
240715 Today I Learn์ŠคํŒŒํฌ๋ž€?๐Ÿ’ฅ Spark?SQL, ์ŠคํŠธ๋ฆฌ๋ฐ, ๋จธ์‹ ๋Ÿฌ๋‹ ๋ฐ ๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ ์ œ๊ณต ๋ชจ๋“ˆ์ด ์žˆ๋Š” ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์šฉ ํ†ตํ•ฉ ๋ถ„์„ ์—”์ง„. ํด๋ผ์šฐ๋“œ์˜ Apache Hadoop, Apache Mesos, Kubernetes์—์„œ ์ž์ฒด์ ์œผ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ๋Œ€ํ•ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Œ.→ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์— ํŠนํ™”๋œ ํ”„๋ ˆ์ž„ ์›ŒํฌํŒŒ์ด์ฌ๊ณผ ๋ฐ์ดํ„ฐ๋ฉ”๋ชจ๋ฆฌ RAM  = ์ž‘์—… ๊ณต๊ฐ„๊ธฐ์–ต๋œ ์ •๋ณด๋ฅผ ์ฝ์–ด๋‚ด๊ธฐ๋„ ํ•˜๊ณ  ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ๊ธฐ์–ต์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋กœ์„œ, ์ปดํ“จํ„ฐ์˜ ์ฃผ๊ธฐ์–ต์žฅ์น˜, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์ผ์‹œ์  ๋กœ๋”ฉ(loading), ๋ฐ์ดํ„ฐ์˜ ์ผ์‹œ์  ์ €์žฅ ๋“ฑ์— ์‚ฌ์šฉ๋จ.์ปดํ“จํ„ฐ๋ฅผ ๋„๋ฉด RAM์— ์˜ฌ๋ผ๊ฐ„ ๋ฐ์ดํ„ฐ๋Š” ์‚ญ์ œ SSD = ์ €์žฅ ๊ณต๊ฐ„์žฅ๊ธฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€(์ €์žฅ)ํ•˜๋Š” ๊ณต๊ฐ„์ปดํ“จํ„ฐ..
240614 Today I Learnํด๋Ÿฌ์Šคํ„ฐ๋ง์ด๋ž€?๐Ÿ’ก ํด๋Ÿฌ์Šคํ„ฐ๋ง๋ฐ์ดํ„ฐ๋ถ„์„์—์„œ ํ”ผ์ณ(์ปฌ๋Ÿผ) ์œ ์‚ฌ์„ฑ์˜ ๊ฐœ๋…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ „์ฒด๋ฐ์ดํ„ฐ์…‹์„ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ธฐ๋ฒ•. (์ด๋•Œ, ๊ฐ ๊ทธ๋ฃน์„ ํด๋Ÿฌ์Šคํ„ฐ๋ผ๊ณ  ํ•œ๋‹ค.)→ ๋ฐ์ดํ„ฐ๋ถ„์„๊ฐ€๋Š” ๋ฐฉ๋Œ€ํ•˜๊ฒŒ ๊ตฌ์ถ•๋œ DB์—์„œ ์˜๋ฏธ์žˆ๋Š” ํŠน์ง•(์ปฌ๋Ÿผ)์„ ์ฐพ๊ณ ,์ตœ์ ์˜ ๊ทธ๋ฃน ๊ฐœ์ˆ˜๋ฅผ ์ฐพ์•„ ๊ทธ๋ฃน๋ณ„ ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋„์ถœํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๋ง ํ”„๋กœ์„ธ์Šค์ „์ฒ˜๋ฆฌ ํ”„๋กœ์„ธ์Šค1. ๊ธฐ๊ฐ„์„ ์ • : ํด๋Ÿฌ์Šคํ„ฐ๋ง์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๊ธฐ๊ฐ„์„ ์„ค์ • ์ตœ์†Œ 3๊ฐœ์›” ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ์…‹์ด ๊ถŒ์žฅ → ์ฃผ๋ณ„/ ์›”๋ณ„ ์ด๋ฒคํŠธ/์„œ๋น„์Šค ์ง„ํ–‰. ๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ํŠน์„ฑ์„ ํ•œ๋‹ฌ๋งŒ ๋ณด๊ณ  ํŒ๋‹จํ•˜๊ธฐ๋Š” ์–ด๋ ค์›€. ํด๋Ÿฌ์Šคํ„ฐ๋ง์˜ ๋ชฉ์  :  live ํ•œ ๋ฐ์ดํ„ฐ์˜ ์œ ์ž…์‹œ ํ•ด๋‹น ์œ ์ €์˜ ํ–‰๋™์„ ํ†ตํ•ด, ์ด๋ฅผ ์•Œ๋งž๊ฒŒ ๋ฐฐ์น˜์‹œํ‚ค๋Š” ๋ชจ๋ธ์˜ ์ƒ์„ฑ→  ์„œ๋น„์Šค ๋ณ€๋™์‚ฌํ•ญ์— ๋”ฐ๋ผ์„œ ์ผ์ • ์ฃผ๊ธฐ์— ๋”ฐ..
240613 Today I Learn์–ด๋ ต๋‹ค..โ˜†์„ ํ˜•ํšŒ๊ท€ํ•ด์„์ ์œผ๋กœ(์ˆ˜ํ•™์ ์œผ๋กœ) ๊ตฌํ•˜๊ธฐ์ •๊ทœ๋ฐฉ์ •์‹ (Normal Equation)sklearn์˜ Linear Regeression์ •๊ทœ๋ฐฉ์ •์‹ ๋ณด๋‹ค ๋”์šฑ ์ผ๋ฐ˜ํ™”๋œ ๋ฐฉ๋ฒ•ํ†ต๊ณ„ํ•™์—์„œ ๋ฐฐ์šฐ๋Š” Least Squares์™€ ๊ฐ™์Œ์„ ํ˜•๋Œ€์ˆ˜์—์„œ ๋ฐฐ์šฐ๋Š” SVD(Singular Value Decomposition) ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์œ ์‚ฌ์—ญํ–‰๋ ฌ์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ ๋„ ๋ณผ ์ˆ˜ ์žˆ์Œ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์œผ๋กœ ๊ตฌํ•˜๊ธฐ๐Ÿ’ก ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•๊ธฐ์šธ๊ธฐ๋ฅผ ์ด์šฉํ•ด์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ•™์Šตํ•˜๋Š” ๋ฐฉ๋ฒ•Batch : ํ•™์Šต ๋ฐ์ดํ„ฐ ์ „๋ถ€ ๋‹ค ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒSGD : ๋žœ๋ค์œผ๋กœ 1๊ฐœ๋งŒ ๊ณจ๋ผ์„œ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ, ๋Œ€์‹  ๋ถˆ์•ˆ์ •ํ•จMini-Batch : ํ•™์Šต ๋ฐ์ดํ„ฐ ์ผ๋ถ€์— ๋Œ€ํ•ด์„œ ๋ฌถ์–ด ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒํŠน์„ฑ์ด ๋งŽ๊ณ  ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์„ ๋•Œ ์ ํ•ฉํ•œ ๋ฐฉ๋ฒ•์˜ค..
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ# ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns๋ฒ ์ด์ง ๋ฌธํ•ญ1. Iris ๋ฐ์ดํ„ฐ์…‹์—์„œ Logistic Regression ๋ถ„๋ฅ˜Iris ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์šฉํ•˜์—ฌ Logistic Regression ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๊ณ , ์ •ํ™•๋„(accuracy)๋ฅผ ๊ณ„์‚ฐํ•˜์„ธ์š”ํ’€์ด๊ณผ์ •๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐtest, train ๋ฐ์ดํ„ฐ ๋‚˜๋ˆ„๊ธฐ๐Ÿ’ก train_test_split์—์„œ stratify์˜ ์—ญํ• ํด๋ž˜์Šค์˜ ๋ถ„ํฌ ๋น„์œจ์„ ๋งž์ถฐ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ ์ค€๋‹ค.→ stratify ์œ ๋ฌด์— ๋”ฐ๋ผ accuracy์— ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. ๊ต์ฐจ๊ฒ€์ฆ ์ •ํ™•๋„๊ฐ€ 1์ธ ๊ฒƒ ๋ณด๋‹ค๋Š” , 0.933์ด ๋” ์‹ ๋ขฐ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€์ด๋ผ๊ณ  ํŒ๋‹จํ•ด s..
ny:D
'๐Ÿ“’ Today I Learn/๐Ÿ Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก