240718 Today I Learn์คํํฌ์ ๊ธฐ๋ณธ ๊ตฌ์กฐLazy CompuationSpark๋ ๋ฐ๋ก๋ฐ๋ก ์ฃผ์ด์ง ๋ณํTransformation์ ์ํํ์ง ์๊ณ , ์ฌ๋ฌ ๋ณํ๋ค์ ์ฐจ๊ณก์ฐจ๊ณก ์์๋ ๋ค, ํ ๋ฒ์ ์ต์ ํํ์ฌ ์ํ๋ฏธ๋ฃจ์ด๋ ์ผ์ด ์์ธ ๊ฒ์ Lineage๋ผ๊ณ ํ๋๋ฐ, ์ ์ฒด ๋ณํ์ ๋ณด๊ณ ์ค๊ฐ์ ํ์์๋ ์ฐ์ฐ์ ์ ๊ฑฐํ๊ธฐ ์ํด ๊ณ ์์ ์ผ๋ก ์ด๋ฌํ ์ง์ฐ์ ๋ง๋๋ ๊ฒ์ด๋ค.๋ณํ์ด ์์ธ Lineage๋ฅผ ์ํํ๋๋ก ๊ตฌ๋Triggerํ๋ ์์
๋ค์ Action์ด๋ผ๊ณ ํจ.→ count, collect, take, top, show, write, toDF ๋ฑ๋ถ์ฐ์ฒ๋ฆฌ์ PartitionPartition : ๋ชจ๋ executer๊ฐ ๋ณ๋ ฌ๋ก ์ผํ ์ ์๋๋ก ์ชผ๊ฐ ๋ฐ์ดํฐ์ ๋จ์ํํฐ์
์ ์ง์ ์กฐ์ํด ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ํํฐ์
์ ๊ฐ์ ๋ก ๋ฐฐ์ ํ ..
๐ Today I Learn/๐ Python
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..