-
벡터와 매트릭스 ( Vectors and Matrices )-N131파이썬(판다스, AI,데이터 분석) 2021. 5. 22. 07:45
넘파이 기본
1. numpy shape
numpy에서는 해당 array 의 크기를 알 수 있다
array를 저장한 변수명.shape --> ([]개수,[]안에 있는 요소 개수)
위의 예처럼 (5,)는 1차원 데이터이며 총 5라는 크기를 갖고 있다.
(4,3)은 2차원의 데이터라고 브루며 4*3의 크기를 갖고 있는 array이다.
2. numpy 자료형 (array를 저장한 변수명.dtype)
부호가 있는 정수 int(8,16,32,64)
부호가 없는 정수 unit(8,16,32,54)
실수 float(16,32,64,128)
복소수 complex(64,128,256)
불리언 bool
문자열 strint_
파이썬 오브젝트 object
유니코드 unicode_
3. np.zeros() , np.ones(), np.arange() 함수
4. Array 연산
numpy에서 연산을 할 떄는 크기가 서로 동일한 array 끼리 연산이 진행된다.
<script src="https://gist.github.com/Kim-yk/7ecb71b17249d1ce277bdc931f75ac63.js"></script>
4-1 array 덧셈
4-2 array 뺄셈
4-3 array 곱셈
4-4 array 나눗셈
4-5 numpy의 브로드 캐스트 기능
위에서는 array가 같은 크기를 가져야 서로 연산이 가능하지만, numpy에서는 브로드캐스트라는 기능을 제공한다.
브로드캐스트란, 서로 크기가 다른 array끼리 연산이 가능하게 하는 기능이다.
5 array 인덱싱 하기
6 array 마스크 (boolean 인덱싱)
7. numpy 함수
7-1 하나의 array에 적용되는 함수7-2 두 개의 array 적용되는 함수
7-3. 통계 함수
7-4 벡터 관련 함수
7-5 기타함수
수업 내용 요약
스칼라 : 우리가 흔히 생각하는 숫자, 속력과 같은 느낌, 크기를 나타냄
벡터 : 방향을 나타내는 수 혹은 기호, 속도와 같은 느낌, 크기와 방향을 나타냄
3D 벡터
벡터의 크기
|v|(벡터의 크기)-(Magnitude, Norm, Length) = √(a^2+b^2+c^2
벡터의 내적 (Dot Product)
두 벡터 a⃗ 와 b⃗ 의 내적은, 각 구성요소를 곱한 뒤 합한 값과 같습니다.
v = [1, 2, 3, 4]
x = [5, 6, 7, 8]
v ⋅ x = 1 * 5 + 2 * 6 + 3 * 7 + 4 * 8
= 70
- 내적은 교환법칙이 적용 됩니다: a⋅b=b⋅a
- 내적은 분배법칙이 적용 됩니다: a⋅(b+c)=a⋅b+a⋅c
- 벡터의 내적을 위해서는 두 벡터의 길이가 반드시 동일해야 합니다.
두 벡터 간의 거리
행렬의 Transpose (3,2) --> (2,3)
역행렬
- 역행렬을 계산하는 방법은 여러가지가 있으며, 행렬의 역수 와 같이 표현 할 수 있습니다.
- 즉 행렬과 그 역행렬의 값은 항상 1 (단위 매트릭스) 입니다. 2x2 매트릭스를 기준으로, 역행렬을 계산하는 방식중 하나는 아래와 같습니다.
역행렬 역행렬의 조건
det( A ) = │A│≠0
ad-bc ≠ 0
*, np.dot, np.matmul 에 대해서
* : shape이 동일한 두 행렬의 원소 끼리 곱하는 연산자이다.
np.dot : 두 벡터의 내적, 내적곱, 점곱 등을 계산하는 함수이다.
np.matmul : 행렬의 곱연산을 위해 정의된 함수이다. (@)
np.dot과 np.matmul의 차이점
1. dot은 행렬과 상수의 곱셈을 혀옹하지만, matmul은 Error를 일으킨다.
2. 3차원 이상의 행렬곱을 수행할 경우, dot와 matmul은 전혀 다른 결과를 나타낸다.
참조 : https://cyber0946.tistory.com/64
Python @연산자, 벡터 행렬 곱연산
파이썬의 Numpy, Tensorflow는 행렬 곱을 빠르게 계산할 수 있도록 함수를 지원한다. 하지만 두 실수의 곱연산과 달리 matrix의 곱연산은 교환법칙(commutative law)가 성립하지 않는다. 즉, 편리한 함수를
cyber0946.tistory.com
결론
벡터 계산할 때는 dot, 행렬 계산할 떄는 matmul을 사용한다
Errors
MSE:평균 제곱 오차(Mean squared error ), 차의 제곱에 대해 평균을 취한 것
MAE: Mean Square Error, 에러를 제곱하여 평균을 계산하니, 값은 낮을수록 좋다.'파이썬(판다스, AI,데이터 분석)' 카테고리의 다른 글
판다스 replace (0) 2021.06.05 판다스 인덱싱 (0) 2021.06.04 파이썬 판다스 inplace 옵션 (2) 2021.05.18 판다스(파이썬), 데이터 프레임, 행과 열 (0) 2021.05.18 판다스 한글 파일이 깨질 때 (0) 2021.05.15