본문 바로가기
Artificial Intelligence

[머신러닝] 파이썬 라이브러리

by 테리는당근을좋아해 2020. 1. 25.

딥러닝에 주로 사용되는 많은 라이브러리들이 있지만 필수적으로 알아야하는 라이브러리 중 두 가지 numpy와 matplotlib가 있다.

 

Numpy

넘파이는 수치 계산용 라이브러리로 고도의 수하 알고리즘과 배열(행렬)을 조작하기 위한 편리한 메서드가 많이 있다. 이를 이용해 딥러닝을 훤씬 효율적으로 구현할 수 있다.

 

배열 생성

import numpy as np

x = np.array([1.0, 2.0, 3.0])
print(x)
print(type(x))

 

산술 연산

import numpy as np

x = np.array([1.0, 2.0, 3.0])
y = np.array([2.0, 4.0, 6.0])

print(x + y)
print(x - y)
print(x * y)
print(x / y)

 

N차원 배열

import numpy as np

x = np.array([[1, 2], [3, 4]])
y = np.array([[5, 6], [7, 8]])
print(x)
print(x.shape)
print(x.dtype)

print(x + y)
print(x * y)

 

브로드 캐스트

Numpy는 행과 열이 다른 배열 또는 스칼라와 배열간의 연산도 가능하다. 이를 가능케 해주는 기능을 브로드캐스트라고 한다.

import numpy as np

x = np.array([[1, 2], [3, 4]])
y = np.array([5, 6])
print(x * y)

 

원소 접근

넘파이에는 다양한 원소 접근법이 존재하는데, 특히 flatten함수를 통해 평탄화를 하면 원소에 접근하는데 편리함을 얻을 수 있다.

import numpy as np

x = np.array([[1,2], [3, 4], [5, 6]])

print(x[0][1]) # 행과 열을 입력해 직접 전근

for row in x: # 반복문을 통해 접근
    print(row)

x = x.flatten() # flatten 함수를 이용해 평탄화
print(x)

 

Matplotlib

Matplotlib는 입력된 데이터를 시각화, 즉, 그래프를 그려주는 라이브러리다. 이를 이용하면 실험 결과를 시각화하거나 딥러닝 실행 과정의 중간 데이터를 시작적으로, 즉 눈으로 확인할 수 있다. 딥러닝 모델을 만들기 위해 탐색적 데이터 분석이라는 단계를 거치게 되는데 maplotlib는 이를 위해서 필수적인 라이브러리이다.

 

그래프 그리기

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 6, 0.1) # 넘파이를 사용해 0부터 6까지 0.1 간격으로 데이터 생성
y_1 = np.sin(x)
y_2 = np.cos(x)

plt.plot(x, y_1, label="sin")
plt.plot(x, y_2, linestyle="--", label="cos")

plt.xlabel("x")
plt.ylabel("y")

plt.title("sin & cos")
plt.legend
plt.show()

 

이미지 불러오기

import matplotlib.pyplot as plt
from matplotlib.image import imread

img = imread("photo.jpg")

plt.imshow(img)
plt.show()

 

 

댓글