๐ Data Engineering/๐น๏ธ ํผ๊ณต๋จธ์
Logistic Regression (๋ก์ง์คํฑ ํ๊ท) ๋ก ์์ธ ๋ถ๋ฅํ๊ธฐ์์ธ์ ๋ถ๋ฅ ํ๊ธฐ ์ํด์ ์ผ๋จ ๋ฐ์ดํฐ์
์ ๋ถ๋ฌ์ค๊ฒ ์ต๋๋ค.import pandas as pdwine = pd.read_csv('https://bit.ly/wine_csv_data')wine.head()์ด๋ ๊ฒ ๋ฐ์ดํฐ์
์ Pandas DataFrame์ผ๋ก ์ ๋ถ๋ฌ ์๋์ง head() Method๋ก ํ๋ฒ ๋ถ๋ฌ์์ต๋๋ค.์ฒ์ 3๊ฐ์ ์ด(alcohol, suger, pH)๋ ์์ฝ์ฌ ๋์, ๋น๋, pH(์ฐ๋)๋ฅผ ๋ํ๋
๋๋ค.class๋ ํ๊น๊ฐ์ด 0์ด๋ฉด ๋ ๋์์ธ, 1์ด๋ฉด ํ์ดํธ ์์ธ ์ด๋ผ๊ณ ํฉ๋๋ค.์ด๊ฑด ๋ ๋ & ํ์ดํธ ์์ธ์ ๊ตฌ๋ถํ๋ Binary Classification(์ด์ง ๋ถ๋ฅ)๋ฌธ์ ์ธ๊ฑฐ ๊ฐ์ต๋๋ค. ์ฆ, ์ ์ฒด ์์ธ์ ๋ฐ์ดํฐ์์ ํ์ดํธ ์์ธ์ ๊ณจ๋ผ๋ด..
๐ Data Engineering/๐น๏ธ ํผ๊ณต๋จธ์
ํ๋ฅ ์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒํ๋ฅ ์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ(Stochastic Gradient Descent)์ ์ ์ง์ ํ์ต ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋์
๋๋ค. ๊ทธ ์ ์ ์ ์ง์ ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ๋ํ์ฌ ์ค๋ช
์ ๋๋ฆฌ๋ฉด, ์ด์ ์ ํ๋ จํ ๋ชจ๋ธ์ ๋ฒ๋ฆฌ๊ณ ์๋ก์ด ๋ชจ๋ธ์ ํ๋ จํ๋ ๊ฒ์ด ์๋, ๊ธฐ์กด์ ํ๋ จํ ๋ชจ๋ธ์ ๊ทธ๋๋ก ๋๊ณ , ์๋ก์ด ๋ฐ์ดํฐ์ ๋ฐํ ํ๋ จ์ ๊ธฐ์กด์ ๋ชจ๋ธ์ ์ด์ฉํ์ฌ ํ์ต ํ๋ ์๊ณ ๋ฆฌ์ฆ ์
๋๋ค.๊ทธ๋์ ๋ณธ๋ก ์ผ๋ก ๋์์ค๋ฉด, ํ๋ฅ ์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ์์ ํ๋ฅ ์ ์ด๋ ๋ง์ '๋ฌด์์ํ๊ฒ' ํน์ '๋๋คํ๊ฒ' ์ ๊ธฐ์ ์ ์ธ ํํ์
๋๋ค.๊ทธ๋ฆฌ๊ณ ๊ฒฝ์ฌ๋, ๊ธฐ์ธ๊ธฐ๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฆ, ๊ทธ๋ฌ๋ฉด ํ๋ฅ ์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ์ ๊ฒฝ์ฌ๋ฅผ ๋ฐ๋ผ ๋ด๋ ค๊ฐ๋ ๋ฐฉ๋ฒ์
๋๋ค.๊ฒฝ์ฌํ๊ฐ๋ฒ์ ํน์ง์ ๊ฐ์ฅ ๊ฐํ๋ฅธ ๊ฒฝ์ฌ๋ฅผ ๋ฐ๋ผ ์ํ๋ ์ง์ ์ ๋๋ฌํ๋๊ฒ์ ๋ชฉํ๋ก ์ผ๊ณ ์์ต๋๋ค. ๋ค๋ง, ๊ฐํ๋ฅธ ๊ฒฝ์ฌ๋ฅผ ๋ด๋ ค๊ฐ๋์..
๐ Data Engineering/๐น๏ธ ํผ๊ณต๋จธ์
๋ก์ง์คํฑ ํ๊ท๋ญํค๋ฐฑ์ ํ๋ฅ K-์ต๊ทผ์ ์ด์ ์๊ณ ๋ฆฌ์ฆ์ ์ฃผ๋ณ ์ด์์ ์ฐพ์์ฃผ๋๊น ์ด์์ ํด๋์ค ๋น์จ์ ํ๋ฅ ์ด๋ผ๊ณ ์ถ๋ ฅํ๋ฉด ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.๋ณด๋ฉด ์ํ X ์ฃผ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ด์ ์ํ 10๊ฐ๋ฅผ ํ์ํ์ต๋๋ค. ์ผ๊ฐํ์ด 5๊ฐ, ์ฌ๊ฐํ์ด 3๊ฐ, ์ 2๊ฐ๊ฐ ์์ต๋๋ค.์ด์ํ ์ํ์ ํด๋์ค๋ฅผ ํ๋ฅ ๋ก ์ผ๋๋ค๋ฉด ์ํ X๊ฐ ์ฌ๊ฐํ์ด ํ๋ฅ ์ 30%, ์ผ๊ฐํ์ผ ํ๋ฅ ์ 50%, ์์ธ ํ๋ฅ ์ 20%์
๋๋ค.Scikit-learn์ K-์ต๊ทผ์ ์ด์ ๋ถ๋ฅ๊ธฐ๋ ์ด์ ๋์ผํ ๋ฐฉ์์ผ๋ก Class ํ๋ฅ ์ ๊ณ์ฐํ์ฌ ์ ๊ณตํฉ๋๋ค. ํ๋ฒ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์์ ํด๋ณด๊ฒ ์ต๋๋ค.๋ฐ์ดํฐ ์ค๋นimport pandas as pdfish = pd.read_csv('https://bit.ly/fish_csv_data')fish.head()# Species(7๊ฐ์ ์..
๐ Data Engineering/๐น๏ธ ํผ๊ณต๋จธ์
๋ค์ค ํ๊ท(Characteristic Engineering and Regulation)๋ค์ค ํ๊ท์ฌ๋ฌ๊ฐ์ ํน์ฑ์ ์ฌ์ฉํ ์ ํ ํ๊ท(Linear Regression)๋ฅผ ๋ค์ค ํ๊ท(Multiple Regression)์ด๋ผ๊ณ ๋ถ๋ฆ
๋๋ค.1๊ฐ์ ํน์ฑ์ ์ฌ์ฉํ์๋, ์ ํ ํ๊ท ๋ชจ๋ธ์ด ํ์ต ํ๋๊ฒ์ ์ง์ ์
๋๋ค. 2๊ฐ์ ํน์ฑ์ ์ฌ์ฉํ๋ฉด ์ ํ ํ๊ท๋ ํ๋ฉด์ ํ์ตํฉ๋๋ค.์ผ์ชฝ ๊ทธ๋ฆผ์ด 1๊ฐ์ ํน์ฑ์ ์ฌ์ฉํ ์ ํ ํ๊ท ๋ชจ๋ธ์ด ํ์ต ํ๋ ๋ชจ๋ธ, ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ด 2๊ฐ์ ํน์ฑ์ ์ฌ์ฉํ ์ ํ ํ๊ท ๋ชจ๋ธ์
๋๋ค.์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ฒ๋ผ ํน์ฑ์ด 2๊ฐ๋ฉด Target๊ฐ๊ณผ ํจ๊ป 3์ฐจ์ ๊ณต๊ฐ์ ํ์ฑํ๊ณ ์ ํ ํ๊ท ๋ฐฉ์ ์์ ํ๋ฉด์ด ๋ฉ๋๋ค.Target = a x ํน์ฑ1 + b x ํน์ฑ2 + ์ ํธ๊ทธ๋ฌ๋ฉด ํน์ฑ์ด 3๊ฐ์ผ ๊ฒฝ์ฐ์๋? ์ฐ๋ฆฌ๋ 3์ฐจ์ ๊ณต๊ฐ์ ๊ทธ๋ฆฌ๊ฑฐ๋ ์์ํ ..
๐ Data Engineering/๐น๏ธ ํผ๊ณต๋จธ์
K-์ต๊ทผ์ ์ด์์ ํ๊ณK-์ต๊ทผ์ ์ด์ ๋ชจ๋ธ์ ํ๊ณ๋ ๋ง์ฝ ์๋ก์ด ์ํ์ ๊ฐ์ด Training_set์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด ์๋ฑํ ๊ฐ์ ์์ธกํ ์ ์์ต๋๋ค.ํ๋ฒ ์์๋ณด๊ธฐ ์ํ์ฌ ์ ์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ ๋ชจ๋ธ์ ์ค๋นํด์ ํ๋ฒ ๋๋ ค๋ณด๊ฒ ์ต๋๋ค.import numpy as npperch_length = np.array([8.4, 13.7, 15.0, 16.2, 17.4, 18.0, 18.7, 19.0, 19.6, 20.0, 21.0, 21.0, 21.0, 21.3, 22.0, 22.0, 22.0, 22.0, 22.0, 22.5, 22.5, 22.7, 23.0, 23.5, 24.0, 24.0, 24.6, 25.0, 25.6, 26.5, 27.3, 27.5, 27.5, 27.5, 28.0, 2..
๐ Data Engineering/๐น๏ธ ํผ๊ณต๋จธ์
K-์ต๊ทผ์ ์ด์ ํ๊ทK-์ต๊ทผ์ ์ด์ ํ๊ท์ ๋ฐํ์ฌ ์ค๋ช
์ ๋๋ฆฌ๊ธฐ ์ ์, ํ๊ท์ ๋ํ์ฌ ์ค๋ช
์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.ํ๊ท(Regression)์ ์ง๋ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ์ข
๋ฅ์ค ํ๋์ด๋ฉฐ, Sample์ ๋ช๊ฐ์ Class์ค ํ๋๋ก ๋ถ๋ฅํ๋ ๋ฌธ์ ์
๋๋ค.์ง๋ํ์ต ์๊ณ ๋ฆฌ์ฆ์ค ํ๋์ธ ๋ถ๋ฅ์ ๋๊ฐ์ด ์์ธกํ๋ ค๋ Sample์ ๊ฐ์ฅ ๊ฐ๊น์ด Sample K๊ฐ๋ฅผ ์ ํํฉ๋๋ค.๊ทธ๋ฆผ์์ ๋ณด์ฌ๋๋ ธ๋ฏ์ด, ์๋ฅผ ๋ค๋ฉด ์ํ X์ Target๊ฐ์ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ๊ฐ๊ฐ ์ด์ํ ์ํ์ ํ๊ฒ๊ฐ์ด 100, 80, 60 ์ด๋ฉด, ์ด๋ฅผ ํ๊ท ํํ๋ฉด, Sample X์ ์์ธก Target๊ฐ์ 80์ด ๋ฉ๋๋ค.๋ฐ์ดํฐ ์ค๋น์ด๋ฒ์๋ ํ๋ จ ๋ฐ์ดํฐ๋ฅผ Numpy ๋ฐฐ์ด๋ก ๋ฐ๋ก ๋ง๋ค์ด์ ๋ณํํด๋ณด๊ฒ ์ต๋๋ค.๋์ด์ ๊ธธ์ด๋ฅผ ํน์ฑ, ๋ฌด๊ฒ๋ฅผ Target์ผ๋ก ํ๊ฒ ์ต๋๋ค.import numpy a..
๐ Data Engineering/๐น๏ธ ํผ๊ณต๋จธ์
๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ๋?๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ๋ ์ฝ๊ฒ ๋งํ์๋ฉด ๋ชจ๋ ์ธ๊ณต์ง๋ฅ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ์
ํ๊ธฐ ์ ์, ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ธฐ ์ข๊ฒ ๊ฐ๊ณตํ๋ ๋จ๊ณ๋ฅผ ๋งํฉ๋๋ค.์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๊ธฐ ์ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค.Numpy๋ก Data ์ค๋นํ๊ธฐํ๋ฒ ๋ฐ์ดํฐ๋ฅผ ์ค๋น ํด๋ณด๊ฒ ์ต๋๋ค. ์ ์ ์ฌ์ฉํ๋ ๋๋ฏธ, ๋น์ด ๋ฐ์ดํฐ๋ฅผ ์ค๋นํด ๋ณด์์ต๋๋ค.# ์์ ์ ๊ธธ์ดfish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0..
๐ Data Engineering/๐น๏ธ ํผ๊ณต๋จธ์
ํ๋ จ ์ธํธ์ ํ
์คํธ ์ธํธ์ง๋ ํ์ต๊ณผ ๋น์ง๋ ํ์ต๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ํฌ๊ฒ ์ง๋ ํ์ต(Supervised Learning)๊ณผ ๋น์ง๋ ํ์ต(Unsupervised Learning)์ผ๋ก ๋๋์ ์์ต๋๋ค.์ง๋ ํ์ต (Supervised Learning)์์๋ ๋ฐ์ดํฐ์ ์ ๋ต์ ์
๋ ฅ(Input)๊ณผ ํ๊น(Target)์ด๋ผ๊ณ ํ๊ณ , ์ด ๋์ ํฉ์ณ ํ๋ จ ๋ฐ์ดํฐ(Training Data)๋ผ๊ณ ๋ถ๋ฆ
๋๋ค.K-์ต๊ทผ์ ์๊ณ ๋ฆฌ์ฆ์ Input data์ Target์ ์ฌ์ฉํ์ผ๋ฏ๋ก ๋น์ฐํ ์ง๋ ํ์ต ์๊ณ ๋ฆฌ์ฆ ์
๋๋ค.๊ทธ๋ฆฌ๊ณ Input์ผ๋ก ์ฌ์ฉ๋ ๊ธธ์ด & ๋ฌด๊ฒ๋ฅผ ํน์ฑ(feature)์ด๋ผ๊ณ ํฉ๋๋ค.๋น์ง๋ ํ์ต(Unsupervised Learning)์ Target ์์ด Input ๋ฐ์ดํฐ๋ง ์ฌ์ฉํฉ๋๋ค. ์ด๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ต์ ์ฌ์ฉํ์ง ์์ผ๋ฏ๋ก..
๐ Data Engineering/๐น๏ธ ํผ๊ณต๋จธ์
์ด ๊ธ์ ํํ ์คํฐ๋๋ฅผ ํ๋ฉด์ ํผ์ ๊ณต๋ถํ๋ ๋จธ์ ๋ฌ๋ + ๋ฅ๋ฌ๋ ์ฑ
์ ๊ณต๋ถํด์ ์ ์ ๋ด์ฉ์ด๋ ์ฐธ๊ณ ๋ฐ๋๋๋ค.๊ธฐ๋ณธ์ ์ธ ๊ฐ๋
๋ณด๋ค๋ ์ค์ต ๋ด์ฉ์ ๊ธฐ๋ฐ์ ๋๊ณ ๊ธ์ ์์ฑํ์์ผ๋ ์ฐธ๊ณ ๋ฐ๋๋๋ค.1- 1. ์ธ๊ณต์ง๋ฅ๊ณผ ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋์ธ๊ณต์ง๋ฅ์ด๋?์ธ๊ณต์ง๋ฅ์ ์ฌ๋์ฒ๋ผ ํ์ตํ๊ณ ์ถ๋ก ํ ์ ์๋ ์ง๋ฅ์ ๊ฐ์ง ์ปดํจํฐ ์์คํ
์ ๋ง๋๋ ๊ธฐ์ ์
๋๋ค. ๋จธ์ ๋ฌ๋์ด๋?๋จธ์ ๋ฌ๋์ด๋ ๊ท์น์ ์ผ์ผ์ด ํ๋ก๊ทธ๋๋ฐ ํ์ง ์์๋ ์๋์ผ๋ก ๋ฐ์ดํฐ์์ ๊ท์น์ ํ์ตํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ๊ตฌํ๋ ๋ถ์ผ์
๋๋ค.๋ํ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ scikit-learn ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅ๋ฌ๋์ด๋?๋ง์ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ค์ ์ธ๊ณต์ ๊ฒฝ๋ง(Artificial Netural Network)์ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ฐฉ๋ฒ๋ค์ ํต์นญํ์ฌ ๋ฅ๋ฌ๋์ด๋ผ๊ณ ๋ถ๋ฆ
๋๋ค.๋ํ์ ์ผ๋ก Pytorch, Tensorflow ..