ํ๋ฃจ๊ณต๋ถ (37) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ ์ 18์ฅ๐Machine Learning_ML๐ 1. ๋จธ์ ๋ฌ๋์ด๋ ๋ฌด์์ผ๊น ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ตํ์ฌ ๋ฌด์์ธ๊ฐ ์์ธกํ๊ฑฐ๋, ๋ฐ์ดํฐ ์์ฒด์ ์ด๋ค ํน์ฑ์ ์ฐพ์๋ด๋ ํ๋ก๊ทธ๋จ์ด๋ค ๋จธ์ ๋ฌ๋? ์ธ๊ณต์ง๋ฅ? ๋ฅ๋ฌ๋? ์ธ๊ณต์ง๋ฅ์ ์ธ๊ฐ์ ๋๋ฅผ ๋ชจ๋ฐฉํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ๋ปํ๊ณ ๋ฅ๋ฌ๋์ ์ฃผ๋ก ์ด๋ฏธ์ง, ๋น๋์ค, ์์ฐ์ด๋ฅผ ๋ถ์ํ๋๋ฐ ์ฐ์ธ๋ค . ๋จธ์ ๋ฌ๋์ ๊ณผ์ - ์ํ๋ฐ์ดํฐ + ์ ๋ต๊ฐ => X => ๋ชจ๋ธ => ๋ชจ๋ธ+์๋ก์ด ๋ฐ์ดํฐ => ๊ฒฐ๊ณผ ์ฌ๊ธฐ์ ๋ชจ๋ธ์ด๋ - ๋จธ์ ๋ฌ๋์๊ณ ๋ฆฌ์ฆ์์ํด ํ์ต๋๊ฒฐ๊ณผ๋ฅผ์ ์ฅํ๊ณ ์๋ ๊ฒฐ๊ณผ๋ฌผ ์ฃผ์ด์ง๋ฐ์ดํฐ์ ์๋ํด ํ๋ จ์ ์งํํด ์ป์(์์ธก์์ฌ์ฉํ ) ๊ท์น๊ณผํจํด๋ฑ์์ง๋๊ณ ์๋ค 2. ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฒ 2-1) ์ง๋ํ์ต(supervisedlearning) โ ์ ๋ ฅ๊ฐ๊ณผ ๊ทธ์๋ํ์ ๋ต์ ์ฌ์ฉํด์ด๋์๊ด๊ณ๋ฅผ๋ถ์ํ๊ณ ์์ธก๋ชจ๋ธ์์์ฑ - ์)์๋์ฐจ์ํน์ฑ๊ณผ๊ฐ๊ฒฉ์ ๋ ฅ→ ์ค๊ณ ์ฐจ๊ฐ๊ฒฉ์์์ธก โ ํ๊ท๋ฌธ์ .. ๐ML_KNN_์๊ณ ๋ฆฌ์ฆ๐ฉ K-์ต๊ทผ์ ์ด์(KNN) ๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ ๋ชจ๋ธ ์ ํ ๊ณผ๊ณ๋ฅผ ์ ์ ๋ก ํ์ง ์์ ๊ฐ ๋ฐ์ดํฐ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ธก => ๊ฐ๊น์ด์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ณ ๋ คํ์ฌ ์์ธก๊ฐ์ด ๊ฒฐ์ K Nearest Neighbors => K๊ฐ์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ด์ ๋ฐ์ดํฐ์ ์ํด ์์ธก๋๋ค ๋ถ๋ฅ ๋ฐ ํ๊ท ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐ ์ฌ์ฉ ๋ค์ค ๋ถ๋ฅ(2๊ฐ ์ด์) ๋ฌธ์ ์์ ๊ฐ์ฅ ๊ฐํธํ ์ ์ฉํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ ๋ฐ์ดํฐ๊ฐ ํฌ์ง ์๊ณ ์์ธก์ด ๊น๋ค๋กญ์ง ์์ ์ํฉ์์ KNN์ ์ฌ์ฉํ๋ฉด ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์์ธก ๋ชจ๋ธ์ ๊ตฌํํ ์ ์์ ๊ธฐ์ค ๋ชจ๋ธ๋ก๋ ์ฌ์ฉ ์ฃผ๋ก ๋ถ๋ฅ(Classification)์์ ์ฌ์ฉ ๋ก์ง์คํฑ ํ๊ท(LogisticRegression)๋กํด๊ฒฐํ ์ ์๋ 3๊ฐ ์ด ์์ ๋ชฉํ ๋ณ์๋ค์ ๋ถ๋ฅํ ์ ์์ ์์ ๋ฐ์ดํฐ์ ์ ์ ํฉ ์ฅ์ -์์์ ๋ํ ์ค๋ช ์ด ๋ถํ์.. ๐ขGit์ค์ & Github์ฌ์ฉ๋ฒ๐ข ๐จGit ์ค์ ๋งํฌ์ ๊น ํํ์ด์ง์์ ์ฌ์์ ๋ง๊ฒ ๋ค์ด๋ก๋ https://git-scm.com/ Git git-scm.com Git Bashํด๋ฆญ๐ฑ ๋ช ๋ น์ด๋ฅผ ์๊ณ ์ถ๋ค๋ฉด git help -a๋ฅผ ์ ๋ ฅํด๋ณด์ git config --global user.name "๋ณธ์ธ์ด๋ฆ" ์ 17์ฅ ๐๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ_ํ์ดํ๋ ๋ฐ์ดํฐ์ ํ์ฉ-2๐ ์ ์ฒ๋ฆฌ ๊ณผ์ 1) .isnull( ) ํจ์๋ฅผ ์ด์ฉํ๋ฉด ๊ฒฐ์ธก์น๋ฅผ ๋ํ๋ด ์ค๋ค. sum( )์ ์ด์ฉํ์ฌ ๊ฒฐ์ธก์น ๊ฐ์๋ฅผ ํ์ธ 2) ์ ์ฒด ๋ฐ์ดํฐ ๋๋น ๊ฒฐ์ธก์น์ ๋น์ค์ ๊ตฌํ๋ ค๋ฉด = ๊ฒฐ์ธก์น / ์ ์ฒด ๋ฐ์ดํฐ ๊ฐ์ x 100 โ data.drop('ticket', axis=1, inplace=True) or โ del data['ticket'] ์ด์ฉํ๊ธฐ 3) ticket ์ปฌ๋ผ์ ๋๋ฝ์ํจ csvํ์ผ์ ์ธ๋ถ๋ก ๋นผ๋ด๊ธฐ to_csv๋ฅผ ํ ๊ฒฝ์ฐ๋ ์๋์ผ๋ก csv์ ๋ก์ฐ๋ช ์ ๋งค๊ฒจ์ฃผ๊ธฐ ๋๋ฌธ์ ์ถํ ๋ค์ importํ ๋ Unnamed :0 ์ปฌ๋ผ์ด ๋ค์ด์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด index=False๋ฅผ ์ค ์ ์์ต๋๋ค. ๐ Cabin ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ์ ๋๋ณ์ ์์ฑ ๊ฐ๋ณ ๊ฐ์ค ๋ฒํธ๋ ์๋ฏธ๊ฐ ์์(123, 456 ...) cabin ๋ฐ.. ์ 16์ฅ ๐๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ_ํ์ดํ๋ ๋ฐ์ดํฐ์ ํ์ฉ-1๐ ์บ๊ธ์ ๋ฐ์ดํฐ ๊ณผํ ๋ฐ ๋จธ์ ๋ฌ๋ ๊ฒฝ์ง๋ํ๋ฅผ ์ฃผ์ตํ๋ ์จ๋ผ์ธ ์ปค๋ฎค๋ํฐ์ ๋๋ค. https://www.kaggle.com/ Kaggle: Your Machine Learning and Data Science Community Kaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals. www.kaggle.com ๋ฏธ๋์ ๋ฐ์ดํฐ ์์ง๋์ด, ๋ฐ์ดํฐ ์ฌ์ด์ธํฐ์คํธ๊ฐ ๋๊ธฐ ์ํด ๋จธ์ ๋ฌ๋ ์ ๋ฌธํ๊ธฐ์ ์ข์ ์บ๊ธ์ ํ์ดํ๋ ๋ฐ์ดํฐ์ ์ ํ์ฉํด๋ณด์. ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๋ชฉ๋ก : 1. map ๋ฉ์๋๋ฅผ ์ด์ฉํด ์ปฌ๋ผ ๋ชฉ๋ก์ ๋๋ฌธ์๋ก โ data.columns.map(.. ๐ค ๊นจ(์ฐ์น์!)์(๊ณ ํ์!)๊ณต๋ถ : ์๊ด ๋ถ์ 1) ์๊ด๋ถ์์ด๋ ๋ฌด์์ผ๊น? - ๋ ๋ณ์ ๊ฐ์ ์ด๋ ํ ์ ํ์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋์ง ๋ถ์ํ๋ ๊ธฐ๋ฒ์ผ๋ก ์๊ด๊ณ์๋ฅผ ์ด์ฉํ์ฌ ์ธก์ . 1 ~ 0 ~ -1์ ๊ฐ์ผ๋ก ๋์ฌ ๋ ๋ณดํต ์ํฉ์ ๋ฐ์ดํฐ์์ 0๊ณผ ๊ฐ๊น์ธ์๋ก ์๊ด์ด ์๋ค๋ ๋ป์ด๋ฉฐ 0๊ณผ ๋ฉ์ด์ง์๋ก ์๊ด๊ด๊ณ๊ฐ ๋๋ค๊ณ ํ ์ ์๋ค. Perfect๋ Strong์ coefficient๊ฐ ๋์ค๋ ๊ฒฝ์ฐ๋ ๋๋ฌผ๋ฉฐ ๋ฐ์ดํฐ ๋ด์ bias๊ฐ ์๋์ง ํ์ธํ๋ ์ ์ฐจ๋ฅผ ๊ผญ ๊ฑฐ์ณ์ผ ํ๋ค. 2) ๐จ์๊ด๊ณ์์ ์ข ๋ฅ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ Pearson, Kendall, Spearman ๋ฑ์ด ์๋๋ฐ ์ผํ๊ณผ ์คํผ์ด๋ง์ ์์ ์ผ์น ์ ๋๋ฅผ ๊ฒ์ฌํ๋ค๋ ์ ์ด ์ ์ฌํ๋ค ๊ณผ์ ์ด ๋์ผํ์ง ์๋๋ผ๋ ๋ฐ์ดํฐ๊ฐ ๋์ผํ๋ค๋ฉด ์๊ด๊ณ์ ๊ฐ์ ์กฐ๊ธ ๋ค๋ฅผ์ง๋ผ๋ ๋น์ทํ ์ถ๋ก ์ ๋ด๋ฆฐ๋ค. ์๋ ์ฌ์ดํธ์์ ์ผ๋ฌ๊ณผ ์คํผ์ด๋งจ์ ์์ธํ .. ์ 15์ฅ ๐๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ_ํ์คํ ๋ฑ..๐ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๋ฐ์ดํฐ ํ์์ ๋ํ ์ฒ๋ฆฌ ๊ณต๋ฐฑ ๋ฌธ์ str.strip() : ์์ชฝ ๊ณต๋ฐฑ ์ ๊ฑฐ str.lstrip() : ์ผ์ชฝ ๊ณต๋ฐฑ ์ ๊ฑฐ str.rstip() : ์ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ ๊ฑฐ ๋ฐ์ดํฐ ํ์ ๋ถ๊ท์นํ ๋์๋ฌธ์ ๋ถ๊ท์นํ ๊ตฌ๋ถ ๊ธฐํธ ์ ํจํ์ง ์์ ๋ฌธ์ ๋ถ๊ท์นํ ๋ ์ง ๋ฐ ์๊ฐ ํ๊ธฐ 1. ๋ผ๋ฒจ ํ์ ํต์ผ ๋ฐ์ดํฐ์ ์ธ์ฝ๋ฉ ์์ ์ ํฌํจ 1-1) dictionary ํ์ ์ผ๋ก encoding map์ ์์ฑํด์ ์ ์ฉ โ df = pd.DataFrame({ }) _map = { } 1-2) df ๋ณ์์ ' ' ์ปฌ๋ผ์ ๊ฐ์ map ํจ์๋ฅผ ์ด์ฉํด ๋ณํ โ df[' '].map( ) 1-3) ์ฐพ์ ๋ฐ๊พธ๊ธฐ์ธ replace()๋ฅผ ์จ๋ ๋ฉ๋๋ค. โ df[' '] = df[' '].replace([ ๊ธฐ์กด๊ฐ ], [ ๋ฐ๊ฟ๊ฐ ]) 2. ๋ฌธ์.. ์ 14์ฅ ๐๋ฐ์ดํฐ ์๊ฐํ_matplotlib๐ ๐งท Matplotlib ํ์ด์ฌ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ๋ถ์ ํ๊ฒฝ์์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์๊ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ 'pyplot'์ ํตํด ์ฃผ์ ๊ธฐ๋ฅ์ ์ฌ์ฉ plotly, seaborn ๋ฑ๊ณผ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ต๊ทผ ๊ฒฝ์๋ ฅ์ ๊ฐ์ถ๊ณ ์์ pandas ๊ฐ์ฒด์ ๊ธฐ๋ณธ์ ์ธ ์๊ฐํ ๋๊ตฌ plot() ๋ฉ์๋๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์๊ฐํ ์ข ๋ฅ ๋ผ์ธ ํ๋กฏ(line plot) ๋ฐ ์ฐจํธ(bar chart) ํ์คํ ๊ทธ๋จ(histogram) ๋ฐ์ค ํ๋กฏ(box plot) ์ค์บํฐ ํ๋กฏ(scatter plot) - ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ ธ์ค๊ธฐ โ import matplotlib.pyplot as plt โ cmd: pip install matplotlib plt.plot(y) ๊ธฐ๋ณธ : ๋ผ์ธ ํ๋กฏ(line plot) ๋ฐ์ดํฐ๊ฐ ์๊ฐ, ์์ ๋ฑ์ ๋ฐ๋ผ.. ์ด์ 1 2 3 4 5 ๋ค์