ใ ๐ '๋ฐ์ดํฐ ๊ณผํ์ ์ํ ํ์ด์ฌ ํ๋ก๊ทธ๋๋ฐ'์ ์ฐธ๊ณ ํ์ฌ ์งํํ ์คํฐ๋์ ๋ง๊ฒ ์ ๋ฆฌํ ์๋ฃ์ ๋๋ค. ๊ธฐํ ์ถ์ฒ๋ ํด๋น ์๋ฃ์ ๊ธฐ์ฌ๋์ด์์ต๋๋ค. ใ
โป ๊ฐ์์์ ์๋ ์ค๋ฅ(p.29 ํ๋จ)๋ฅผ ์์ ํ์ต๋๋ค. 2024.03.10 / 21:20 ์ด์ ์ ๋ค์ด ๋ฐ์ผ์ ๋ถ๋ค์ ๋ค์ ๋ฐ์์ฃผ์๊ธธ ๋ฐ๋๋๋ค.
[Chapter 01] ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํ์ด์ฌ
1. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ดํด
1) ๋์ฝ๋ฉ์๋์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
์ฝ๋ฉ(Coding) : ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ํ์
ใด ์ฝ๋(Code) : ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ์ธ์ด, ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ ํ์๊ฐ ์ฝ๋ฉ
ํ๋ก๊ทธ๋๋ฐ(Programming) : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ ๊ฒ
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(Programming language) : ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ๋ ๋๊ตฌ, ์ธ๊ฐ์ด ์ํ๋ ๊ฒ์ ์ปดํจํฐ๋ก ์คํ์ํค๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ์ธ์ด
2) ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๋ ์ด์
"์ด ๋๋ผ์ ๋ชจ๋ ์ฌ๋์ด ํ๋ก๊ทธ๋จ์ ๋ฐฐ์์ผ ํ๋ค. ์๋ํ๋ฉด ํ๋ก๊ทธ๋จ์ด๋ผ๋ ๊ฒ์ ์๊ฐ์ ์ด๋ป๊ฒ ํ๋์ง ๊ฐ๋ฅด์ณ์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค." - ์คํฐ๋ธ ์ก์ค
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํ์ต์ ํ๋์ ๋๊ตฌ๋ฅผ ์ตํ๋ ๊ณผ์ ์ด๊ธฐ๋ ํ์ง๋ง, ์ปดํจํฐ๊ฐ ์ ์ฐจ์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ๊ทธ ๋ ผ๋ฆฌ์ ์ธ ๊ณผ์ ์ ํ์ตํ๋ค๋ ์ธก๋ฉด์์ ๋งค์ฐ ์ค์
2. ํ์ด์ฌ ์๊ฐ
1) ํ์ด์ฌ์ ๋ฑ์ฅ
โ ํ์ด์ฌ(Python) : ๋ค๋๋๋์ ๊ฐ๋ฐ์ ๊ท๋ ๋ฐ ๋ก์ฌ(Guido Van Rossum)์ด 1991๋ ์ C์ธ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ ์ธ์ด
2) ํ์ด์ฌ์ ํน์ง
(1) ํ๋ซํผ ๋ ๋ฆฝ์ ์ธ ์ธ์ด
ํ๋ซํผ(Platform) : ์ฌ๊ธฐ์๋ ์ด์ ์ฒด์ (Operating System, OS)๋ฅผ ์๋ฏธ
e.g. ์๋์ฐ(Windows), ๋งฅ OS(Mac OS), ๋ฆฌ๋ ์ค(Linux) ๋ฑ
์ฆ, ํ๋ซํผ ๋ ๋ฆฝ์ ์ธ ์ธ์ด๋ ์ด๋ค ์ด์์ฒด์ ๋ ์๊ด์์ด ์ฌ์ฉํ ์ ์๋ ์ธ์ด! (= ํธํ์ฑ์ด ์ข๋ค!)
(2) ์ธํฐํ๋ฆฌํฐ ์ธ์ด
์์ค ์ฝ๋(Source code) : ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ฑํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํ ์คํธ ํ์ผ
์ธํฐํ๋ฆฌํฐ(Interpreter) : ์์ค์ฝ๋์ ํด์์ ์ํด ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋จ์ ์ข ๋ฅ
์์ค์ฝ๋๊ฐ ์ปดํจํฐ์์ ์คํ >> ์ธํฐํ๋ฆฌํฐ ๋๋ ์ปดํ์ผ๋ฌ์ ์ํด ํด์ >> ํด์๋ ๊ฒฐ๊ณผ๊ฐ ์ด์์ฒด์ ์ ๋ง์ถฐ ๊ธฐ๊ณ์ด๋ก ๋ณํ >> ์ปดํจํฐ์ ํ๋์จ์ด์ธ ๋ฉ๋ชจ๋ฆฌ์ CPU์ ์ ์ฅ >> ์คํ
ํ์ด์ฌ์ ์ธํฐํ๋ฆฌํฐ ์ธ์ด๋ก, ์์ค์ฝ๋ ์์ฒด๊ฐ ๋ฐ๋ก ์คํ๋์ด ์๋๋ ์ข ๋๋ฆฌ๋๋ผ๋ ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
- ์ปดํ์ผ๋ฌ์ ์ธํฐํ๋ฆฌํฐ
(3) ๊ฐ์ฒด ์งํฅ ์ธ์ด
๊ฐ์ฒด ์งํฅ ์ธ์ด(Object oriented language) : ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด,
๊ฐ์ฒด ์งํฅ : ์๋ฃ๊ตฌ์กฐ์ ์ด๋ฅผ ์ค์ฌ์ผ๋ก ํ ๋ชจ๋๋ค์ ๋จผ์ ์ค๊ณํ ๋ค์์ ์ด๋ค์ ์คํ ์์์ ํ๋ฆ์ ์ง๋ ๋ฐฉ์, **์ฌ์ฌ์ฉ์ฑ(Reusability)**์ด ํฐ ํน์ง
์ ์ฐจ ์งํฅ (Procedure language) : ํ๋ก๊ทธ๋จ์ ์์์ ํ๋ฆ์ ๋จผ์ ์ธ์ฐ๊ณ ํ์ํ ์๋ฃ๊ตฌ์กฐ์ ํจ์๋ค์ ์ค๊ณํ๋ ๋ฐฉ์
(4) ๋์ ํ์ดํ ์ธ์ด
๋์ ํ์ดํ ์ธ์ด(Dynamic typing language) : ํ์ด์ฌ์ด ๋ค๋ฅธ ์ธ์ด์ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋ฅผ ๋ณด์ด๋ ํน์ง, ํ๋ก๊ทธ๋จ์ ์คํ ์์ ์์ ๊ฐ ํ๋ก๊ทธ๋จ ๋ณ์์ ํ์ (Type)์ ๊ฒฐ์ ํ๋ ์ธ์ด
์ปดํ์ผ๋ฌ ์ธ์ด๋ ์์ค์ฝ๋์์์ ๊ฐ ๋ณ์์ ํ์ ์ ๋ฏธ๋ฆฌ ์ ํด ๋๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ ์์ ์ ์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ๊ณต๊ฐ์ด ํ ๋น๋จ. ๋ฐ๋ผ์ ๊ฐ ๋ณ์์ ํ์ ์ ๋ฐ๋์ ์ฌ์ ์ ์ ์.
e.g. ์ปดํ์ผ๋ฌ ์ธ์ด์ธ c++์์์ ๋ณ์ ์ ์
int a; # a๋ผ๋ ๋ณ์๊ฐ ์ ์๋ผ๊ณ ์ฌ์ ์ ์ํ๋ค.
ํ์ง๋ง, ํ์ด์ฌ์ ์ธํฐํ๋ฆฌํฐ ์ธ์ด์ด๋ฏ๋ก ํ๋ก๊ทธ๋จ์ ์คํ ์์ ์ ๋ณ์๋ค์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์์ ๋กญ๊ฒ ํ ๋น >> ์๋๋ ๋๋ฆฌ์ง๋ง ์์ ๋กญ๊ฒ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น๋ฐ๊ณ ์ฌ์ฉ
3) ํ์ด์ฌ์ ๋ฐฐ์ฐ๋ ์ด์
(1) ์ฝ๊ณ ๊ฐ๋จํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
์ง๊ด์ ์ด๊ณ , ์ธ๊ฐ ์งํฅ์ ์ด๊ธฐ ๋๋ฌธ์ ์ดํด๊ฐ ์ฌ์ด ํ์ด์ฌ์ ๋ฌธ๋ฒ!
(2) ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ณต
๋ฅ๋ฌ๋ ๋ฐ ์ธ๊ณต์ง๋ฅ(Tensorflow, PyTorch), ๋ฐ์ดํฐ ๋ถ์, ์น ํ๋ก๊ทธ๋๋ฐ, ์๋ฒ ๊ด๋ฆฌ์ฉ ์คํฌ๋ฆฝํธ ์ธ์ด ๋ฑ ๋ค์ํ๊ฒ ํ์ฉ
๊ฐ๋ฐ์๋ค์ด ๋ง๋ค์ด ๋์ ๋ง์ ๋ชจ๋๊ณผ ํจํค์ง๋ฅผ ์ฝ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ
(3) ๋์ค์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
ํ์ด์ฌ์ ํ์ฌ ์ ์ธ๊ณ์์ ๊ฐ์ฅ ๋์ค์ ์ผ๋ก ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด!
ํนํ ์ธ๊ณต์ง๋ฅ๊ณผ ๋ฐ์ดํฐ ๋ถ์, ๊ณผํ ๊ณ์ฐ ๋ถ์ผ์์ ํ๋ฐํ ์ฌ์ฉ
e.g. ๋ฐ๋๊ธฐ์ฌ ์ด์ธ๋ 9๋จ์๊ฒ ์น๋ฆฌํ ์ํ๊ณ , ์์ด์ํ์ธ์ ์ค๋ ฅํ๋ฅผ ์ฆ๋ช ํ๋ ์คํ, ํ์์ ํ์ ๋ฐ๊ฒฌ ์คํ ๋ฑ
ํ์ฌ ๊ฐ์ฅ ๋ง์ ์ง์์๋ต์ ๋ฐ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ํ ํ์ด์ฌโ !
>> ๋๊ท๋ชจ ์ปค๋ฎค๋ํฐ๊ฐ ํ์ฑํ ๋์ด์์ผ๋ฉด, ์๋ฌ ๋ฐ ์ค๋ฅ ํด๊ฒฐ์ ์ฉ์ด
3. ํ์ด์ฌ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์ค์น
1) ํ์ด์ฌ ๊ฐ๋ฐํ๊ฒฝ ์ค์
(1) ์ด์์ฒด์ ์ ์
๊ตญ๋ด ์ปดํจํฐ ์ฌ์ฉ์ ๋๋ถ๋ถ์ ์๋์ฐ(Windows)๋ฅผ ์ฌ์ฉ
๊ทธ๋ฌ๋ ์ ์ธ๊ณ ํ๋ก๊ทธ๋๋จธ๋ค์ ๋๋ถ๋ถ ์ ๋์ค(Unix)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ฆฌ๋ ์ค(Linux)์ ๋งฅ OS(Mac OS)๋ฅผ ๋ง์ด ํ์ฉ
- ์ต๊ทผ์๋ ์๋์ฐ๊ฐ ๋ฆฌ๋ ์ค์ ๋ค์ํ ๊ธฐ๋ฅ์ ํก์ํ๋ฉด์ ์๋์ฐ๋ฅผ ์ด์์ฒด์ ๋ก ์ฌ์ฉํด๋ ํฐ ๋ฌด๋ฆฌ๋ ์์ด์ก๋ค.
(2) ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ ์ ์
ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ : ํ์ด์ฌ์ผ๋ก ์์ฑ๋ ์์ค์ฝ๋์ ์คํ ํ๋ก๊ทธ๋จ
(3) ์ฝ๋ ํธ์ง๊ธฐ ์ ์
์ฝ๋ ํธ์ง๊ธฐ : ํ๋ก๊ทธ๋จ์ ์์ค์ฝ๋๋ ํ๋์ ํ ์คํธ ๋ฌธ์์ด๋ฏ๋ก ์ด๋ฅผ ํธ์งํ ๋ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ
โ ํ ์คํธ ์๋ํฐ : ํ๋๋ ๋จ์ํ ๋ฌธ์๋ฅผ ํธ์งํ ๋ ์ฌ์ฉ
โก ํตํฉ๊ฐ๋ฐํ๊ฒฝ(Integrated Development Environment, IDE) : ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐ๋ถํฐ ๋ฐฐํฌ๊น์ง ์ ๊ณผ์ ์ ์ง์
2) ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ์ ์ค์น
์๋์ฝ๋ค(Anaconda) : ๊ณผํ ๊ณ์ฐ์ฉ ํ์ด์ฌ ํตํฉ ํจํค์ง
์ ๋งํฌ์์ ์๋์ฝ๋ค ๋ค์ด๋ก๋ >> ์ค์นํ์ผ ์ค๋ฅธ์ชฝ ํด๋ฆญ, ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํ >> ์๋ฌธ ํด๋์ ์ค์นํด์ผ ํจ (ํ๊ธ์์ผ๋ฉด ์ค๋ฅ๋จ) >> Just me (์ ์ ๋ฒ์ ์ฐจ์ด) >> Add Anaconda ~ ์ฒดํฌํ๊ธฐ (ํ์ด์ฌ์ ์ด๋ฏธ ์ค์นํ๋ค๋ฉด ์ฒดํฌ X, ์ถฉ๋๋ ์ ์์)
๊ฒฝ ๋ณ์ ํ์ธ
์ ์ดํ >> ์ฌ์ฉ์ ๊ณ์ >> (์ข์ธก ํญ) ํ๊ฒฝ ๋ณ์ ๋ณ๊ฒฝ >> ์์คํ
๋ณ์์์ Path ๋๋ธ ํด๋ฆญ >> ํ๋จ ์ธ ๊ฐ์ ๊ฒฝ๋ก๋ฅผ ์ฐพ์๋ณด๊ธฐ๋ฅผ ํตํด ์
๋ ฅ
C:\Users(ํน์ ์ฌ์ฉ์)\์ ์ ๋ช \anaconda3
C:\Users(ํน์ ์ฌ์ฉ์)\์ ์ ๋ช \anaconda3\Library
C:\Users(ํน์ ์ฌ์ฉ์)\์ ์ ๋ช \anaconda3\Scripts
- ๋ชจ๋ ์ค์น
Win + S ๋๋ฌ ๊ฒ์์ฐฝ ์ด๊ธฐ >> ‘Anaconda prompt’ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํ >> ํ๋จ์ ๋ช ๋ น์ด๋ฅผ ํ ์ค์ฉ ์์๋๋ก ์ ๋ ฅ (์์ฐจ์ ์ผ๋ก ํ ์ค์ฉ ์งํํ๋, ์งํ์ ๋ฌป๋ ๋ฉ์ธ์ง ์ถ๋ ฅ์์๋ ‘y’๋ฅผ ์ ๋ ฅ) - conda update conda
- conda update python
- python -m pip install --upgrade pip
- conda update --all
- conda install numpy jupyter pandas matplotlib scipy scikit-learn
3) ํ์ด์ฌ ์ฝ๋ ํธ์ง๊ธฐ์ ์ค์น
Download PyCharm: The Python IDE for data science and web development by JetBrains
ํ์ด์ฐธ(PyCharm) : JetBrains์์ ์ ์ํ Python์ฉ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ
4) ํ์ด์ฐธ์์ ์ฝ๋ ์์ฑํ๊ธฐ
๐ ๋ด์ฉ์ด ๋ง์ ๊ด๊ณ๋ก ์ค์ ๋๋ค. ๋๋จธ์ง ๋ด์ฉ์ ์ฒจ๋ถํ ๊ฐ์์ pdf ํ์ผ๋ก ํ์ธํด์ฃผ์๊ธธ ๋ฐ๋๋๋ค.