[파이썬 딥러닝_1] 넘파이&맷플롯립
파이썬 제대로 하지도 못하는데 딥러닝부터 파본다.
자 에디터가 있으신 분들은 에디터를 쓰시고 없으신 분들은 요기 밑에 구글 코랩을 쓰시면 됩니다.
오히려 초보자 접근성은 코랩이 더 좋아요. 패키지가 설치 다 되어있엉...
https://colab.research.google.com/
Google Colaboratory
colab.research.google.com
구글 코랩이란?
구글에서 교육과 과학 연구를 위하여 개발한 도구로 무료로 사용이 가능합니다.
웹 브라우저를 통하여 우리가 입력하면, 구글 드라이브에서 저장하고 불러올 수 있습니다.
하지만 저는 파이참으로 진행하겠습니다.
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
자, 일단 넘파이!! (numpy)
넘파이가 뭣이냐 하믄
파이썬의 핵심 과학 패키지 중 하나로, 많은 머신러닝과 딥러닝 패키지가 넘파이를 기반으로 구현된 넘파이 인터페이스다~
대강 이해하자면 넘파이가 있어야 딥러닝 머신러닝을 쓸 수 있다 이 소리쥬?
넘파이를 써보기 위해서 파이썬 리스트를 하나 만들어봅시다.
1. 파이썬 리스트
my_list = [5, '다이어트는내일부터', 'apple']
print(my_list[1])
위 코드를 실행시켜봅시다.
문자형은 따옴표 안에 가둬둬야 한다는 것 기억합시다!
잘 실행되는것을 확인할 수 있네요 그죠?
3-1. 파이썬 배열 만들기
다음은 배열을 만들어봅시다. 저는 3차원 배열을 만들거에요.
3층 짜리 건물을 짓는다고 생각하면 쉽습니다.
my_list_2 = [[5,10,15],[8,16,24],[6,12,18]]
print(my_list_2[2][0])
배수를 이용하여 3층 건물을 지어봤습니다.
파이썬은 0부터 수를 센다는 것 기억합시다!
세번째 리스트의 첫번째 리스트가 출력이 된 것을 확인할 수 있습니다요.
-해설-
my_list_2는 아래 표처럼 3행*3열의 표처럼 만들어진 리스트가 됩니다.
5 | 10 | 15 |
8 | 16 | 24 |
6 | 12 | 18 |
이 중에서 두번째에서, 두번째 값이 선택이 됩니다.
0 | 1 | 2 |
0 | 1 | 2 |
0 | 1 | 2 |
2. 넘파이 리스트
여기까지 잘 따라오셨으면 다음은 넘파이를 준비할 시간입니다.
파이썬 리스트로 만든 다차원 배열은 배열의 크기가 커질수록 성능이 떨어지기 때문에
저수준 언어로 다차원 배열을 구현하여 배열의 크기가 커져도 높은 성능을 보장하는 넘파이를 사용합니다.
*넘파이는 배열을 이용한 다양한 통계, 함수도 제공합니다.
자 이제 이 코드를 이용해서 넘파이를 불러올텐데요.
import numpy as np
print(np.__version__)

코랩으로 진행하신분들은 넘파이가 설치되어 있기 때문에 문제가 발생하지 않지만 다른 에디터를 쓰시는 분들은 에러가 날거에요.
파이참은 file > Settings > Python Interpreter > Package 위의 플러스버튼 > numpy 검색하여 하단의 install Package를 눌러주세요
또는 문제가 발생한 코드에 커서를 올리면 다음처럼 창이 뜨는데요.
넘파이로 이동하는 링크를 나타내줍니다.
이런 기능이 없는 에디터는 넘파이를 검색하여 설치를 하거나 하단의 링크에서 다운받으시면 됩니다.
근데 그런 에디터가 요새 있나..?
NumPy documentation — NumPy v1.24 Manual
NumPy documentation — NumPy v1.24 Manual
The reference guide contains a detailed description of the functions, modules, and objects included in NumPy. The reference describes how the methods work and which parameters can be used. It assumes that you have an understanding of the key concepts.
numpy.org
이 링크에서 installation으로 들어오면 다음과 같이 나타나는데요.

뭔 소리여?
하지말고 침착하게 읽어줍시다.
콘다를 쓰는 사람은 윗 방법, pip 는 아래방법으로 인스톨하라고 써있네요
이 두가지에 대해서는 다음시간에 설명을 하도록 하고 우리는 pip 방식으로 설치를 해봅시다.
시작 > 검색 > 명령 프롬프트를 관리자 권한으로 열어줍니다.
위에 있는 pip install numpy를 입력하면 넘파이 설치가 됩니다.
*자 여기서도 오류가 나는 분들 많을텐데 이유가...많을거에요 네...
파이썬 임시버전 써도 패키지랑 버전이 안맞아서 오류가 나고요. 버전이 맞아도 환경 변수가 안맞아도 오류가 나고요, 파이썬 신버전이거나 임시버전이거나 해도 오류가 나고요, 파이썬이 설치된 환경이 버추얼이어도 오류가 나고요, 그냥 지혼자 패키지 모듈이 안따라오는 경우도 있고요, 주저리주저리...
파이참은 file > Settings > Python Interpreter > Package 위의 플러스버튼 > 패키지 검색하여 하단의 install Package를 눌러 설치하시는게 정신건강에 좋습니다OTL
어찌됬든! 이 모든 과정이 다 프로그래밍의 과정 아니겠어요? 겸허히 받아들입시다. 빡은 치지만!

3. 넘파이 배열 만들기
넘파이가 설치되었으니 아까 우리가 만든 파이썬 배열처럼 넘파이로 배열을 만들어봅시다.
파이썬은 숫자와 문자열을 같이 쓸 수 있지만 넘파이는 숫자로 변환해야 하는것 외에 다른 점은 없습니다.
array()함수로 배열을 만듭니다.
jarray = np.array([[5,7,9],[15,16,17]])
print(jarray)
jarray는 제가 정한 이름입니다. 이 부분은 본인이 하고싶은 이름으로 정하시면 됩니다.
아까 파이썬으로 만든 식과 동일한 것을 알 수 있습니다.
넘파이 리스트에서 요소를 선택하는 방법도 파이썬 리스트와 동일합니다.
print(jarray[0][1])
4. 맷플롯립 matplotlib
이제 맷플롯립을 이용해서 그래프를 그릴건데요.(맷+플롯+립입니다요)
matplotlib은 과학 생태계의 표준 그래프 패키지로 코랩의 경우 명령어 plt을 사용하여 임포트하거나 위에서 넘파이를 설치한 방법처럼 설치하시면 됩니다.
맷플롯립이 설치되었으면 임포트를 해줍시다.
import matplotlib.pyplot as plt
처음 임포트를 할때 모듈을 불러오지 못하는 경우가 있는데 이런경우에는 하단에 실행할 코드를 같이 적어서 실행시켜주세요.
4-1 선그래프
먼저 직선으로 만들어진 선 그래프인데요.
선 그래프는 그냥 plot 으로 써주면됩니다.
plt.plot([7,8,9,10,11],[1,6,7,23,32])
plt.show()
그러면 다음과 같이 피겨창이 나타나게 됩니다.
4-2 산점도 그래프
두번째는 산점도인데요.
산점도는 plot 대신 scatter를 넣어주면 됩니다.
plt.scatter([7,8,9,10,11],[1,6,7,23,32])
plt.show()
다음시간엔 진짜 데이터를 가지고 그래프를 그려보도록 합시다.
여기까지 잘 따라오셨습니다~ 즐거운 파이썬 생활~