๐ ๋ํ์ด(NumPy)๋?
ํ์ด์ฌ์ ํต์ฌ ๊ณผํ ํจํค์ง ์ค ํ๋๋ก์จ ๋ง์ ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋ ํจํค์ง๊ฐ ๋ํ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋์๊ณ ๋ํ์ด ์ธํฐํ์ด์ค๋ฅผ ๊ณ์นํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ผญ ์ตํ์ผ ํ๋ ํ์ด์ฌ ํจํค์ง์ด๋ค.
๋ํ์ด๋ฅผ ์ค์ตํ๊ธฐ ์ ์ ๋ํ์ด์ ๋ฐฐ์ด๊ณผ ๋น์ทํ ํ์ด์ฌ ๋ฆฌ์คํธ๋ฅผ ๋จผ์ ๋ณต์ตํ๋ค.
my_list = [10, 'hello list', 20]
print(my_list[1])
์คํ ๊ฒฐ๊ด๊ฐ์ผ๋ก 1๋ฒ์งธ index์ธ hello list๊ฐ ์ถ๋ ฅ๋๋ค.
๋ํ ๋ฆฌ์คํธ์ ์์๋ก ๋ค๋ฅธ ๋ฆฌ์คํธ๋ฅผ ํฌํจ์์ผ๋ ๋๋๋ฐ ์ด์ฒ๋ผ ์ค์ฒฉ๋ ๋ฐฐ์ด์ 2์ฐจ์ ๋ฐฐ์ด์ด๋ผ๊ณ ํ๋ค.
์๋ ์ฝ๋๋ ํ์ด์ฌ ๋ฆฌ์คํธ๋ก 3๊ฐ์ ์์๋ฅผ ๊ฐ์ง 1์ฐจ์ ๋ฐฐ์ด์ 2๊ฐ ์์ ์์ด๋ค.
my_list_2 = [[10, 20, 30], [40, 50, 60]]
์ด ๋ฆฌ์คํธ์ ํฌ๊ธฐ๋ ๋ณดํต '2 X 3 ํฌ๊ธฐ'๋ผ๊ณ ํ๊ฑฐ๋ 2๊ฐ์ ํ๊ณผ 3๊ฐ์ ์ด์ด ์๋ค๊ณ ํ๋ค.
2์ฐจ์ ๋ฐฐ์ด์ ์์๋ฅผ ์ ํํ ๋๋ ์๋์ ๊ฐ์ด 2๊ฐ์ ๋๊ดํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฒซ ๋ฒ์งธ [ํ์ ์ธ๋ฑ์ค], ๋ ๋ฒ์งธ [์ด์ ์ธ๋ฑ์ค]๋ฅผ ๋ฃ๋๋ค. ์ฌ๊ธฐ์ ์ถ๋ ฅ๋๋ ๊ฐ์?
print(my_list_2[1][1])
2๋ฒ์งธ ํ์ 2๋ฒ์งธ ์ด์ ์ ํํ๊ธฐ ๋๋ฌธ์ 50์ด ์ถ๋ ฅ๋๋ค.
๐งต ๋ํ์ด ์ค๋นํ๊ธฐ
๋ค์ฐจ์ ๋ฐฐ์ด์ ํ์ด์ฌ ๋ฆฌ์คํธ๋ก ์ฌ์ฉํด๋ ๋์ง๋ง ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์ปค์ง์๋ก ์ฑ๋ฅ์ด ๋จ์ด์ง๋ค๋ ๋งค์ฐ ํฐ ๋จ์ ์ด ์๋ค.
ํ์ง๋ง ๋ํ์ด๋ ์ ์์ค ์ธ์ด๋ก ๋ค์ฐจ์ ๋ฐฐ์ด์ ๊ตฌํํ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์ปค์ ธ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ฅํ๋ฏ๋ก ๋ํ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ์ฐธ๊ณ ๋ก ๋ํ์ด๋ ๋ฐฐ์ด์ ์ด์ฉํ ๋ค์ํ ํต๊ณ, ์ํ ํจ์๋ ์ ๊ณตํ๋ค๊ณ ํ๋ค.
1. ์ฝ๋ฉ์์ ๋ํ์ด ์ํฌํธํ๊ณ ๋ฒ์ ํ์ธํ๊ธฐ
์ฝ๋ฉ์๋ ๋ํ์ด๊ฐ ์ค์น๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ์ค์นํ์ง ์์๋ ๋๋ค.
์ฝ๋ ์ ์ ๋ํ์ด ํจํค์ง๋ฅผ ์ํฌํธ(import) ํ ํ ์ ๋๋ก ์ํฌํธ ๋์๋์ง ํ์ธํด๋ณด๊ธฐ ์ํด np.__version__๋ผ๊ณ ์ ๋ ฅํ์ฌ ๋ํ์ด์ ๋ฒ์ ์ ์ถ๋ ฅํด๋ณธ๋ค.
ํ์ด์ฌ์ import ๋ช ๋ น์ผ๋ก ๋ํ์ด๋ฅผ ์ํฌํธํ ๋ as ํค์๋๋ฅผ ์ด์ฉํ๋ฉด ๋ํ์ด๋ฅผ ์ค์ฌ ๊ฐํธํ๊ฒ ์์ฑํ ์ ์๋๋ก np๋ผ๋ ๋ณ์นญ์ ๋ง๋ค ์ ์๋ค. ์์ผ๋ก np๋ผ๋ ๋ณ์นญ์ผ๋ก ๋ํ์ด๋ฅผ ์ํฌํธ ํ์ฌ ์ฌ์ฉํ ์์ .
๐น ๋ํ์ด๋ก ๋ฐฐ์ด ๋ง๋ค๊ธฐ
๋ํ์ด๋ ํ์ด์ฌ์ ๋ฆฌ์คํธ์ฒ๋ผ ์ซ์์ ๋ฌธ์์ด์ ํจ๊ป ๋ด์ ์ ์๋ค.
ํ์ง๋ง ๋ฅ๋ฌ๋ ๊ณต๋ถ ์ค์๋ ๋ชจ๋ ์ซ์ ๋ฐ์ดํฐ๋ง ์ฌ์ฉํ๋ฏ๋ก ์๊ด์๋ค.
๋ง์ฝ ๋ฌธ์ ๋ฐ์ดํฐ๊ฐ ์์ ๊ฒฝ์ฐ, ์ซ์๋ก ๋ณ๊ฒฝํ์ฌ ์ ๋ ฅํ๋ค.
1. array() ํจ์๋ก 2์ฐจ์ ๋ฐฐ์ด ๋ง๋ค๊ธฐ
์ถ๋ ฅ๋ ๋ํ์ด ๋ฐฐ์ด์ ๋ณด๋ฉด ํ๊ณผ ์ด์ด ๋ง์ถฐ์ ธ ์์ผ๋ฉฐ array() ํจ์๋ ํ์ด์ฌ ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ํ์ด ๋ฐฐ์ด์ ๋ง๋ ๋ค.
2. type() ํจ์๋ก ๋ํ์ด ๋ฐฐ์ด์ธ์ง ํ์ธํ๊ธฐ
์ด๋ my_arr์ ์ ์ฅ๋ ๊ฐ์ด ํ์ด์ฌ ๋ฆฌ์คํธ๊ฐ ์๋๋ผ ๋ํ์ด ๋ฐฐ์ด์ธ์ง type() ํจ์๋ก ๊ฐ์ฒด์ ํ์ ์ ํ์ธํ๋ค.
๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด my_arr๊ฐ ๋ํ์ด ๋ฐฐ์ด ํด๋์ค์ธ ndarray์ ๊ฐ์ฒด์์ ์ ์ ์๋ค.
๋ํ ์ฝ๋ ์ ์ ๋ง์ง๋ง ์ค์ print() ํจ์๋ฅผ ์ฌ์ฉํ์ง ์์๋ ์๋์ผ๋ก ๊ทธ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
3. ๋ํ์ด ๋ฐฐ์ด์์ ์์ ์ ํํ๊ธฐ
ํ์ด์ฌ ๋ฆฌ์คํธ์์ ์์๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ๊ณผ ๋์ผํ๋ฉฐ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ค.
4. ๋ํ์ด ๋ด์ฅ ํจ์ ์ฌ์ฉํ๊ธฐ
ํ์ด์ฌ ๋ฆฌ์คํธ์ ์์๋ฅผ ๋ชจ๋ ๋ํ๋ ค๋ฉด? for๋ฌธ์ ๋ง๋ค์ด์ผ ํ์ง๋ง
๋ํ์ด๋ ๋ฐฐ์ด์ ๋ํ ์ฌ๋ฌ ์ํ ํจ์๋ฅผ ์ ๊ณตํ๋ฏ๋ก ๋ฐ๋ณต๋ฌธ ๋์ ๋ ๋ฒ๊ฑฐ๋ก์ด sum() ํจ์๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ
for๋ฌธ๋ณด๋ค ์ฝ๋๊ฐ ํจ์ฌ ๊ฐ๊ฒฐํ๋ฉด์ ์คํ ์๋๊ฐ ๋ ๋น ๋ฅด๋๋ก ๊ตฌํํ ์ ์๋ค.
๐ ๋งทํ๋กฏ๋ฆฝ์ผ๋ก ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ
- ๋งทํ๋กฏ๋ฆฝ(Matplotlib) : ํ์ด์ฌ ๊ณผํ ์ํ๊ณ์ ํ์ค ๊ทธ๋ํ ํจํค์ง
- ๋งทํ๋กฏ๋ฆฝ ์ด์ธ์๋ ์ข์ ๊ทธ๋ํ ๋๊ตฌ๋ค์ ๋ง์ง๋ง ํด๋น ํจํค์ง์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ผ๋ก ๋๋ถ๋ถ์ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆด ์ ์๋ค.
- ์ฝ๋ฉ์ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
- ์ํฌํธ ์ ๊ด๋ก์ ๋ฐ๋ผ ๋ณ์นญ์ผ๋ก plt ์ฌ์ฉํ๋ค.
1. ์ ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ
๋งทํ๋กฏ๋ฆฝ์ plot() ํจ์์ x์ถ๊ณผ y์ถ์ ๊ฐ์ ์ ๋ฌํ ๋ค์ show() ํจ์๋ฅผ ์ด์ฉํ์ฌ y = x² ๊ทธ๋ํ๋ฅผ ์ถ๋ ฅํ๋ค.
2. ์ฐ์ ๋ ๊ทธ๋ฆฌ๊ธฐ
์ฐ์ ๋(scatter plot)๋ ๋ฐ์ดํฐ์ x์ถ, y์ถ ๊ฐ์ ์ด์ฉํ์ฌ ์ ์ผ๋ก ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆฐ ๊ฒ์ผ๋ก show() ํจ์๋ฅผ ์ฌ์ฉํ์ง ์์๋
๋งทํ๋กฏ๋ฆฝ์ด ์๋์ผ๋ก ๊ทธ๋ํ๋ฅผ ๊ทธ๋ ค์ค๋ค. ํ์ง๋ง ์ด ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ข ๋ ๊น๋ํ๊ณ ๋ณด๊ธฐ ์ข๊ฒ ๊ทธ๋ ค์ง๋ค.
3. ๋ํ์ด ๋ฐฐ์ด๋ก ์ฐ์ ๋ ๊ทธ๋ฆฌ๊ธฐ
ํ์ด์ฌ์ ๊ณผํ ํจํค์ง๋ค์ ์์ธ ์์ด ๋ํ์ด ๋ฐฐ์ด๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋๋ก ๋ง๋ค์ด์ ธ ์๋ค.
์ด๋ฒ์๋ ๋ํ์ด์ random.randn() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ค ์ ๊ท ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋ ๋์(random number)๋ฅผ ๋ง๋ค๊ณ ๊ทธ ๊ฐ์ ์ด์ฉํ์ฌ ์ฐ์ ๋๋ฅผ ๊ทธ๋ ค๋ณธ๋ค.
์์ ๊ฐ์ด ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ๋ฉด ๋ฐ์ดํฐ์์ ์ง๊ด์ ์ป๊ธฐ๊ฐ ์ฝ๋ค.
๋ฐ๋ผ์ ๋ฅ๋ฌ๋์์๋ ๋ฐ์ดํฐ ์๊ฐํ๋ ํ์!
'AI > ML DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Do it! ๋ฅ๋ฌ๋ ์ ๋ฌธ] ์ฝ๋ฉ(colab)์์ ๋ ธํธ๋ถ ๊ด๋ฆฌํ๊ธฐ (0) | 2020.03.09 |
---|---|
[Do it! ๋ฅ๋ฌ๋ ์ ๋ฌธ] ๊ตฌ๊ธ ์ฝ๋ฉ(colab) ์ด์ฉํ๊ธฐ (0) | 2020.03.09 |
[Do it! ๋ฅ๋ฌ๋ ์ ๋ฌธ] ๋ฅ๋ฌ๋(Deep Learning)์ด๋? (0) | 2020.03.02 |
๋๊ธ