'numpy'에 해당되는 글 1건

  1. 2019.10.11 :: 넘파이 NumPy
Python 파이썬/머신러닝 2019. 10. 11. 09:28

머신러닝의 주요 알고리즘은 선형대수와 통계에 기반합니다.

 

NumPy는 파이썬 언어를 기반으로 하는 수학 및 과학 연산을 위한 패키지입니다.

 

NumPy는 다차원 배열과 이 배열을 대상으로 여러가지 수학적 연산을 수행하는 많은 함수들을 제공합니다.

 

루프를 사용하지 않고 대량 데이터의 배열 연산을 가능하게 하므로 빠른 배열 연산 속도를 보장합니다. 

때문에 빠른 계산 능력을 중요시하는 과학과 공학 패키지들이 넘파이에 의존하고 있습니다.

 

권고하는 설치 명령 :

$ pip install numpy

 

NumPy를 불러올 때 np로 호출하는 것이 관례입니다.

import numpy as np

ndarray

넘파이의 기반 데이터 타입은 ndarray입니다. 넘파이에서는 ndarray를 통하여 다차원 배열을 쉽게 생성하고 다양한 연산을 수행할 수 있습니다.

arr1의 형태는 (3,)으로 1차원 array로서 데이터 3개를 가지고 있음을 뜻합니다.

arr2의 형태는 (2,3)으로 2차원 array로서 2개의 로우(행)와 3개의 칼럼(열)으로 구성되어 데이터 6개(2*3)를 가지고 있음을  뜻합니다.

arr3의 형태는 (1,3)으로 2차원 array로서 1개의 로우(행)와 3개의 칼럼(열)으로 구성되어 데이터 3개를 가지고 있음을 알 수 있습니다.

 

arr1과 arr3은 데이터 수는 같지만 차원이 다른 것을 알 수 있습니다.

 

머신러닝 알고리즘을 하다보면 데이터 값으로는 서로 동일하나 차원이 달라서 오류가 발생하는 경우가 많습니다. 이러한 경우, 차원의 차수를 변환시켜야 하며, reshape()함수 등을 사용하면 됩니다.

arange

arange() 함수는 0부터 함수 인자 값 -1 까지의 값을 순차적으로 ndarray의 데이터값으로 변환합니다.

0이 아닌 원하는 함수 값으로 시작 할 수 있습니다.

linspace

linspace() 함수는 지정된 개수만큼 두 값 사이를 나눈 데이터로 채워진 ndarray를 반환합니다. 단, arange와는 다르게 마지막 함수 인자값이 포함되어 있습니다.

zeros

zeros() 함수는 모든 값이 0으로 채워진 ndarray를 반환합니다.

ones

ones() 함수는 모든 값이 1로 채워진 ndarray를 반환합니다.

dtype을 정해주지 않으면 디폴트 값인 float64 형태가 됩니다.

full

full() 함수는 지정된 값으로 채워진 ndarray를 반환합니다.

reshape

reshape() 함수는 ndarray의 차원과 크기를 변경합니다. 단, 지정된 사이즈로 변경이 불가능하면 오류를 발생합니다. 예를 들자면, (9,) ndarray를 (5,2) 형태로 변경할 수 없습니다.

-1을 사용하면 원래 ndarray와 호환되는 모양으로 변환해 줍니다.

random.rand

random.rand() 함수는 0과 1사이의 무작위의 부동 소수로 채워진 ndarray를 반환합니다.

random.randn

random.randn() 함수는 평균이 0이고 분산이 1인 일변량 정규분포에서 랜덤 샘플링한 부동 소수로 채워진 ndarray를 반환합니다.

sort

sort() 함수는 행렬을 정렬하는 대표적인 방법입니다.

행렬이 2차원 이상일 경우에 axis 축 값을 설정하여 로우 방향, 캄럼 방향으로 정렬할 수 있습니다.

argsort

argsort() 함수는 정렬된 행렬의 인덱스를 반환시켜 줍니다.

transpose

transpose() 함수를 통해 전치 행렬을 구할 수 있습니다.

posted by 스노(Snow)
: