- 어떻게 행렬을 표현할 것인가?
- 리스트 활용
matrix = [[2, 2, 1], [2, 3, 1], [4, 2, 1]]
vector = [8, 6 ,3]
- 단점: 처리 속도 문제, 메모리를 많이 차지함.
- 적절한 패키지를 활용하자. → numpy
numpy(Numerical Python)
- 파이썬의 고성능 과학 계산용 패키지
- Matrix와 Vector 같은 Arrray 연산의 표준
- 일반 리스트에 비해 빠르고 메모리 효율적
- 반복문 없이 데이터 배열에 대한 처리를 지원함.
- 가상환경에서 install numpy
- import numpy as np (세계적인 약속)
ndarray
- np.array 함수를 활용해 배열을 생성 → ndarray 객체
- numpy에는 하나의 데이터 type만 배열에 넣을 수 있다. dynamic typing not supported
- 위 그림처럼 Numpy는 차례대로 값이 들어가서 연산이 매우 용이함.
- shape : numpy array의 dimension 구성을 반환
- dtype : numpy a rray의 데이터 type을 반환
- ndim : number of dimensions
- size : data 개수
- nbytes : ndarray object의 메모리 크기를 반환
Handling Shape
- reshape : Array의 크기를 변경함. element 개수는 동일
- flatten : 다차원 array를 1차원 array로 변환
indexing
- list와 달리 [0, 0] 표기법을 제공
- matrix의 경우 앞이 row 뒤가 column을 뜻함
slicing
- list와 달리 행과 열 부분을 나눠서 slicing이 가능함
- matrix의 부분 집합을 추출할 때 유용
creation function
- arange : array의 범위를 지정하여 값의 list를 생성. range와 유사하지만 step을 소수점까지 표시가능하다는 장점
- zeros : 0으로 가득찬 ndarray 생성
- ones : 1로 가득찬 ndarray 생성
- empty : shape만 주어지고 비어있는 ndarray 생성. memory initialization이 되지 않음.
- something_like(ones_like etc) : 기존 ndarray의 shape 크기 만큼 1, 0 또는 empty array를 반환
- identity : 단위행령 생성
- eye(a,b,k) : 대각선이 1인 a*b행렬. c값으로 1 시작 위치 결정 가능.
- diag : 대각 행렬의 값을 추출함.
- random sampling : 데이터 분포에 따른 sampling으로 array를 생성.
operation function
- sum, mean, std, var
- axis : operation function을 실행할 때 기준이 되는 dimension 축. 매번 새롭게 생성되는 축이 axis=0
- concatenate : numpy array를 합치는(붙이는) 함수
vstack : vertical stack
hstack : horizontal stack
concatenate : 축 방향에 따라 붙이기.
array operation
- +, -, * : element-wise operation. array간 shape이 같을 때 연산 발생.
- 행렬의 곱셈 : 연산자 @를 사용
- 행렬의 내적 : inner 함수 사용
- Dot product : dot 함수 사용
- transpose : .transpose() 또는 .T 사용.
- broadcasting : shape이 다른 배열 간 연산을 지원하는 기능.(scalar-vector, vector-matrix 등등)
comparisons
- All & Any : Array의 데이터 전부(and) 또는 일부(or)가 조건 만족하는지 반환
- numpy는 배열의 크기가 동일할 때 element간 비교 결과를 Boolean type으로 반환
- np.where
- argmax, argmin : array내 최대값 또는 최소값의 index를 반환함
boolean & fancy index
- boolean index : 특정 조건에 따른 값을 배열 형태로 추출.
- fancy index : array를 index value로 사용해서 값 추출
numpy data i/o
- text type의 데이터를 읽고 저장하는 기능
- loadtxt, savetxt 등 사용
'네이버 부스트캠프 AI Tech > Deep Learning Basics' 카테고리의 다른 글
[부스트캠프 AI Tech] 확률론 맛보기 (0) | 2022.01.22 |
---|---|
[부스트캠프 AI Tech] Deep learning basics (0) | 2022.01.22 |
[부스트캠프 AI Tech] Gradient descent (0) | 2022.01.22 |
[부스트캠프 AI Tech] Vector & Matrix (0) | 2022.01.18 |
[부스트캠프 AI Tech] Python Basics for AI (0) | 2022.01.17 |
댓글