[머신러닝을 위한 파이썬 한 조각] - CH.3 넘파이 (Numpy)
CH.3 넘파이 (Numpy)
- 머신러닝 코드 개발에 자주 사용되는 벡터, 행렬 등을 표현하고 연산할 때 반드시 필요한 라이브러리
- 형 변환 reshape()
- vector를 matrix로 변경하거나 matrix를 다른 형상의 matrix로 변경하기 위해 사용
- 행렬 곱 np.dot(A,B)
- 행렬 A의 열 벡터와 행렬 B의 행 벡터가 같아야 함
- 같지 않다면 reshape, transpose 등을 사용하여 형 변환을 한 후 행렬 곱 실행
- numpy broadcast
- 행렬의 사칙연산은 기본적으로 두 개의 행렬 크기가 같은 경우에만 수행할 수 있지만, numpy에서는 크기가 다른 두 행렬간에도 사칙연산을 할 수 있음
- 차원이 작은 쪽이 큰 쪽의 행 단위로 반복적으로 크기를 맞춘 후 계산
- 행렬곱 연산에는 적용 x
- 전치 행렬 (transpose)
- 원본 행렬의 열은 행으로, 행은 열로 바꾼 것

- 인덱싱, 슬라이싱
- 이터레이터
- 인덱싱, 슬라이싱 이외에, 행렬 모든 원소를 access하는 경우에는 iterator 사용가능
- 행 단위로 데이터를 접근하여 처음부터 마지막까지 원소를 가져올 수 있음
- numpy.concatenate
- 기존 행렬에 행이나 열을 추가
- 행 추가: axix = 0
- 열 추가: axis = 1
- numpy.loadtxt(…)
- seperator로 구분된 파일에서 데이터를 읽기 위한 함수
- numpy.random.rand(…)
- numpy.argmax(…), numpy.argmin(…)
- 벡터에서 최댓값, 최솟값이 있는 곳의 인덱스 리턴
- axis = 1: 행 단위로 찾아줌
- axis = 0: 열 단위로 찾아줌
- numpy.ones(…), numpy.zeros(…)