Numpy
numpy는 외부 라이브러리로, import문도 사용해야하고 pip install도 해야한다.
배열 생성
np.array()함수를 사용한다.
리스트를 인수로 받아 라이브러리가 제공하는 numpy.ndarray를 반환한다.
numpy배열의 산술연산
원소 수가 같을 때 산술 연산은 각 원소에 대해 행해진다.
특히 곱셈의 경우 행렬곱이 아닌 element-wise product가 행해진다는 점에 주의하자.
또한 브로드캐스트라는 개념이 있는데, 이는 연산의 대상이 되는 두 배열의 사이즈가 다를 때, 자동으로 한쪽의 사이즈를 확장하여 연산을 수행한다.
주로 쓰는 방식은 배열*스칼라의 경우 스칼라가 모든 배열에 곱해진 결과를 반환한다.
numpy배열의 논리연산
numpy배열에 논리연산을 수행하면 배열의 각 원소에 대해 논리연산을 진행한 결과를 배열로 반환한다.
A = np.array([1,2,3,4,5])
print(A % 2 == 0)
//[False, True, False, True, False]
numpy의 N차원 배열
numpy를 활용하여 다차원 배열의 정의와 연산도 쉽게 할 수 있다.
배열의형상은 shape멤버로, 원소의 자료형은 dtype 멤버로 알 수 있다.
원소 접근
기본적으로 인덱스를 통해 원소에 접근할 수 있다.
이때 인덱스에 정수가 아닌, numpy 배열을 전달할 경우, 전달받은 배열의 요소를 인덱스값으로 하는 원소들만 추출하여 돌려준다.
A[np.array([0,2,4])] # 배열A에서 인덱스가 0, 2, 4인 원소만 추출
matplotlib
단순한 그래프를 그리거나 이미지를 표시할 수 있는 표준 라이브러리이다.
단순한 그래프 그리기, 이미지 그리기: pyplot
pyplot 모듈을 이용해 그래프를 그릴 수 있다.
예시로 y=sin(x) 그래프를 그려보겠다.
x를 numpy배열로 생성하고 y는 sin(x)로 지정한다.
plt.plot(x,y)로 x와 y의 그래프를 생성하고
이를 plt.show() 함수로 출력한다.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 7, 0.1) # 0에서 7까지 0.1간격의 배열을 생성
y = np.sin(x)
plt.plot(x, y)
plt.show()
plt.plot을 여러번 선언하여 여러 그래프를 동시에 그릴 수 있고,
그래프 이름, 축 이름, 값 이름, 선 스타일 등 다양한 값을 설정할 수 있다.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 7, 0.1) # 0에서 7까지 0.1간격의 배열을 생성
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label = "sin")
plt.plot(x, y2, linestyle = "--", label = "cos") # cos 함수는 점선으로 그리기
plt.xlabel("X") # x축 이름
plt.ylabel("y") # y축 이름
plt.title("sin & cos") # 제목
plt.legend()
plt.show()
또한 다음과 같이 이미지를 그릴 수도 있다.
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread('test.jpg') # 이미지 읽어오기
plt.imshow(img)
plt.show()
'📁study archive > ML DL' 카테고리의 다른 글
딥러닝2차시 (0) | 2022.08.28 |
---|---|
파이썬 텐서플로우, 머신러닝 기초 (0) | 2022.03.27 |
댓글